您的位置:首页 > 运维架构 > Linux

linux之RAID介绍(第3次修改,有时间可以学下存储技术)

2018-09-06 21:19 746 查看
RAID:Redundant Array of indenpensive Disk磁盘冗余阵列,RAID阵列技术允许将一系列磁盘分组,以实现为数据保护而必需的数据冗余,以及为提高读写性能而形成的数据条带分布。
RAID技术有:基于硬件的RAID技术和基于软件的RAID技术,基于硬件的RAID技术昂贵,我们这次介绍基于软件RAID技术。

RAID常用级别介绍:RAID0 RAID1 RAID3 RAID5 RAID6 RAID7 RAID10。
1.RAID0又称数据分块(Stripping技术或称数据条带模式)
至少需要2块硬盘,将2块以上的盘合并成一块,总容量是每块盘容量之和。
通过把数据分成多个数据块并行写入或读取多个磁盘以提高访问磁盘的速度,RAID0从理论上讲带宽增加,读写速度会提升盘数量N倍的速度。
优缺点点:读写速度快,但没有冗余和奇偶校验位,当数据损坏或一盘故障,数据无法恢复。应用场景:负载均衡集群下面多个相同RS节点服务器分布式文件存储下面的节点或CHUNK SERVERMYSQL主从复制的多个Slave服务器对性能要求高,但是对冗余低的业务
2.RAID1,镜像RAID一个磁盘上的数据,完全复制到另一磁盘上。如果一个磁盘的数据发生错误或者磁盘坏道,那么另一个磁盘可以补救磁盘故障带来的数据丢失或损坏。最大优点是 完全冗余,但总容量会与较小容量的硬盘一样以及读取速度最差。只支持2块盘,总容量是容量小的那块盘。3.RAID3,单盘容错传输并行使用Stripping技术将数据分块,对这些块进行异或校验,校验数据写在最后一个硬盘上。特点有一个盘为校验盘。当一个盘故障时,除故障盘外,写操作还会继续对数据盘和校验盘进行操作。读操作对剩余盘和校验盘异或计算重构故障盘的数据。4.RAID5,分布式奇偶校验位,最少三块硬盘 与RAID3不同的是,RAID5是将校验位信息分布在不同磁盘上,并非一块磁盘上,减少了奇偶校验盘的负担,是RAID0和RAID1的折中方案。
RAID5具有是一种存储性能、数据安全和存储成本兼顾的存储解决方案。但是各方面性能以及速度都一般。5.RAID10,RAID01

6.RAID6.双重奇偶校验位RAID6:以上RAID等级只能保护一块盘数据丢失或损坏的情况,当2块以上的盘损坏时,则无法恢复数据,而RAID6是双重校验保护同时2块盘数据丢失或损坏,阵列仍能工作,成本非常高。实例:设置RAID5,使用mdadm命令基本语法 : mdadm [mode] [options]
[mode] 有7种:
Assemble:将以前定义的某个阵列加入当前在用阵列。
Build:Build a legacy array ,每个device 没有 superblocks
Create:创建一个新的阵列,每个device 具有 superblocks
Manage: 管理阵列,比如 add 或 remove
Misc:允许单独对阵列中的某个 device 做操作,比如抹去superblocks 或 终止在用的阵列。
Follow or Monitor:监控 raid 1,4,5,6 和 multipath 的状态
Grow:改变raid 容量或 阵列中的 device 数目
可用的 [options]:
-A, --assemble:加入一个以前定义的阵列
-B, --build:Build a legacy array without superblocks.
-C, --create:创建一个新的阵列
-Q, --query:查看一个device,判断它为一个 md device 或是 一个 md 阵列的一部分
-D, --detail:打印一个或多个 md device 的详细信息
-E, --examine:打印 device 上的 md superblock 的内容
-F, --follow, --monitor:选择 Monitor 模式
-G, --grow:改变在用阵列的大小或形态
-b, --brief:较少的细节。用于 --detail 和 --examine 选项
-f, --force
-c, --config= :指定配置文件,缺省为 /etc/mdadm/mdadm.conf
-s, --scan:扫描配置文件或 /proc/mdstat以搜寻丢失的信息。配置文件/etc/mdadm/mdadm.conf

create 或 build 使用的选项:
-c, --chunk=:Specify chunk size of kibibytes. 缺省为 64.
--rounding=: Specify rounding factor for linear array (==chunk size)
-l, --level=:设定 raid level.
--create可用:linear, raid0, 0, stripe, raid1,1, mirror, raid4, 4, raid5, 5, raid6, 6, multipath, mp.
--build可用:linear, raid0, 0, stripe.
-p, --parity=:设定 raid5 的奇偶校验规则:eft-asymmetric, left-symmetric, right-asymmetric, right-symmetric, la, ra, ls, rs.缺省为left-symmetric
-n, --raid-devices=:指定阵列中可用 device 数目,这个数目只能由 --grow 修改

-x, --spare-devices=:指定初始阵列的热备 数目
-z, --size=:组建RAID1/4/5/6后从每个device获取的空间总数
--assume-clean:目前仅用于 --build 选项
-R, --run:阵列中的某一部分出现在其他阵列或文件系统中时,mdadm会确认该阵列。此选项将不作确认。
-f, --force:通常mdadm不允许只用一个device 创建阵列,而且创建raid5时会使用一个device作为missing drive。此选项正相反。
-a, --auto{=no,yes,md,mdp,part,p}{NN}:

首先要安装mdadm,-C 指定名称,-l RAID级别,-n 几块设备,-x 一块热备 + 各个设备或分区
[root@www ~]# mdadm -C /dev/md0 -l 5 -n 3 -x 1 /dev/sde /dev/sdf /dev/sdg /dev/sdh   #或者某块盘的几个分区,/dev/sdf{1,2,3,4,5}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
查看RAID重构速度与是否完成
[root@www ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md127 : active raid5 sdh[3](S) sdg[4] sdf[1] sde[0]
207872 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

unused devices: <none>
You have mail in /var/spool/mail/root
[root@www ~]#
配置RAID配置文件,格式化并挂载
[root@www ~]# mdadm --detail --scan --verbose /dev/md0 > /etc/mdadm.conf#设置配置文件。默认是无。
[root@www ~]# mkfs.ext4 /dev/md0
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=512 blocks, Stripe width=1024 blocks
52000 inodes, 207872 blocks
10393 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=67371008
26 block groups
8192 blocks per group, 8192 fragments per group
2000 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801

正在写入inode表: 完成
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
查看RAID阵列详细信息
[root@www ~]# mdadm -D /dev/md127
mdadm: Unknown keyword /dev/md0:
mdadm: Unknown keyword Working
/dev/md127:
Version : 1.2
Creation Time : Fri Aug 31 05:24:53 2018
Raid Level : raid5
Array Size : 207872 (203.03 MiB 212.86 MB)
Used Dev Size : 103936 (101.52 MiB 106.43 MB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent

Update Time : Wed Sep 12 15:08:19 2018
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1

Layout : left-symmetric
Chunk Size : 512K

Name : www:0  (local to host www)
UUID : b7c928ab:54d90fdc:988b8879:f55ad474
Events : 27

Number   Major   Minor   RaidDevice State
0       8       64        0      active sync   /dev/sde
1       8       80        1      active sync   /dev/sdf
4       8       96        2      active sync   /dev/sdg

3       8      112        -      spare   /dev/sdh                #热备
[root@www ~]#
模拟/dev/sdg损坏
[root@www ~]# mdadm /dev/md127 --fail /dev/sdg
mdadm: set /dev/sdg faulty in /dev/md127
[root@www ~]#
再次查看RAID阵列信息
[root@www ~]# mdadm -D /dev/md127
/dev/md127:
Version : 1.2
Creation Time : Fri Aug 31 05:24:53 2018
Raid Level : raid5
Array Size : 207872 (203.03 MiB 212.86 MB)
Used Dev Size : 103936 (101.52 MiB 106.43 MB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent

Update Time : Wed Sep 12 15:26:07 2018
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 1
Spare Devices : 0

Layout : left-symmetric
Chunk Size : 512K

Name : www:0  (local to host www)
UUID : b7c928ab:54d90fdc:988b8879:f55ad474
Events : 46

Number   Major   Minor   RaidDevice State
0       8       64        0      active sync   /dev/sde
1       8       80        1      active sync   /dev/sdf
3       8      112        2      active sync   /dev/sdh        #已更换热备

4       8       96        -      faulty   /dev/sdg      #损坏
[root@www ~]#
移除损坏的磁盘
[root@www ~]# mdadm /dev/md127 -r /dev/sdg
mdadm: hot removed /dev/sdg from /dev/md127
[root@www ~]#
新加一块热备盘
[root@www ~]# mdadm /dev/md127 --add /dev/sdl
mdadm: added /dev/sdl
[root@www ~]#
查看RAID详细信息
[root@www ~]# mdadm -D /dev/md127
/dev/md127:
Version : 1.2
Creation Time : Fri Aug 31 05:24:53 2018
Raid Level : raid5
Array Size : 207872 (203.03 MiB 212.86 MB)
Used Dev Size : 103936 (101.52 MiB 106.43 MB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent

Update Time : Wed Sep 12 15:34:25 2018
State : clean
Active Devices : 3
Working Devices : 4
Fail
5b4
ed Devices : 0
Spare Devices : 1

Layout : left-symmetric
Chunk Size : 512K

Name : www:0  (local to host www)
UUID : b7c928ab:54d90fdc:988b8879:f55ad474
Events : 48

Number   Major   Minor   RaidDevice State
0       8       64        0      active sync   /dev/sde
1       8       80        1      active sync   /dev/sdf
3       8      112        2      active sync   /dev/sdh

&nb
60f4
sp;    4       8      176        -      spare   /dev/sdl
[root@www ~]#
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux基础知识