raid简介
Redundant Arrays of Independent Disks,RAID,即独立磁盘冗余阵列,是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上,磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。
常用的RAID技术与特点
RAID 1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力。虽然这样对数据来讲绝对安全,但是成本也会明显增加,磁盘利用率为50%,另外,出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。
3)、RAID 5
分布式奇偶校验的独立磁盘结构,它的奇偶校验码存在于所有磁盘上,其中的p0代表第0带区的奇偶校验值,其它的意思也相同。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性。但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。
3、实验环境:
配置和管理RAID需要安装软件包:mdadm
4、RAID 1 的实现过程(由于磁盘大小不同,同步时以最小的磁盘大小为基准同步)
1)、安装软件包
yum --disablerepo=\* --enablerepo=c6-media install mdadm -y
2)、创建RAID 1
[root@fcy ~]# mdadm -Cv /dev/md0 -l 1 -n 2 /dev/sdb /dev/sdc mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store '/boot' on this device please ensure that your boot-loader understands md/v1.x metadata, or use --metadata=0.90 mdadm: size set to 5238720K mdadm: largest drive (/dev/sdb) exceeds size (5238720K) by more than 1% Continue creating array? y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started.参数详解:
[root@fcy ~]# cat /proc/mdstat
Personalities : [raid1] #RAID等级
md0 : active raid1 sdc[1] sdb[0] #RAID中的设备
5238720 blocks super 1.2 [2/2] [UU] #状态
unused devices: <none>
4)、模拟磁盘损坏并查看
[root@fcy ~]# mdadm /dev/md0 -f /dev/sdb #-f指定坏掉的磁盘 mdadm: set /dev/sdb faulty in /dev/md0 [root@fcy ~]# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdc[1] sdb[0](F) #显示sdb为损坏状态 5238720 blocks super 1.2 [2/1] [_U] unused devices: <none>
5)、为RAID设备增加新成员
[root@fcy ~]# mdadm /dev/md0 -a /dev/sdd #-a添加一块磁盘进RAID mdadm: added /dev/sdd [root@fcy ~]# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdd[2] sdc[1] sdb[0](F) 5238720 blocks super 1.2 [2/1] [_U] [==>..................] recovery = 13.8% (725056/5238720) finish=0.6min speed=120842K/sec #显示为同步状态 unused devices: <none>
同步完成后
[root@fcy ~]# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdd[2] sdc[1] sdb[0](F) 5238720 blocks super 1.2 [2/2] [UU] unused devices: <none>
移除坏掉的设备
[root@fcy ~]# mdadm /dev/md0 -r /dev/sdb mdadm: hot removed /dev/sdb from /dev/md0 [root@fcy ~]# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdd[2] sdc[1] 5238720 blocks super 1.2 [2/2] [UU] unused devices: <none>
扫描并显示详细的RAID信息
[root@fcy ~]# mdadm --detail --scan ARRAY /dev/md0 metadata=1.2 name=fcy.com.cn:0 UUID=e2e0ce5c:b5cc1ba0:80380a3b:f1d4fe67
创建RAID的配置文件(方便快速启动RAID)
[root@fcy ~]# mdadm --detail --scan >/etc/mdadm.conf
停止正在运行的RAID
[root@fcy ~]# mdadm -S /dev/md0 #-S停止RAID mdadm: stopped /dev/md0 [root@fcy ~]# cat /proc/mdstat Personalities : [raid1] unused devices: <none>
启动RAID(已经创建过配置文件)
[root@fcy ~]# mdadm -A /dev/md0 #-A 表示重新装配RAID mdadm: /dev/md0 has been started with 2 drives. [root@fcy ~]# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdd[2] sdc[1] 5238720 blocks super 1.2 [2/2] [UU] unused devices: <none>
6)、为RAID 1添加s份磁盘
[root@fcy ~]# mdpare备adm -Cv /dev/md1 -l 1 -n 2 /dev/sdb /dev/sdc -x 1 /dev/sde
#-x添加备份磁盘 mdadm: /dev/sdb appears to be part of a raid array: level=raid1 devices=2 ctime=Wed Jul 15 21:06:56 2015 mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store '/boot' on this device please ensure that your boot-loader understands md/v1.x metadata, or use --metadata=0.90 mdadm: /dev/sdc appears to be part of a raid array: level=raid1 devices=2 ctime=Wed Jul 15 21:06:56 2015 mdadm: size set to 5238720K mdadm: largest drive (/dev/sde) exceeds size (5238720K) by more than 1% Continue creating array? y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md1 started.
[root@fcy ~]# cat /proc/mdstat Personalities : [raid1] md1 : active raid1 sde[2](S) sdc[1] sdb[0] #sde为备份的spare磁盘 5238720 blocks super 1.2 [2/2] [UU] md0 : active raid1 sdd[2] 5238720 blocks super 1.2 [2/1] [U_] unused devices: <none>
当设备在无人管理的时候,如果RAID 1中的某一块磁盘坏掉,则spare磁盘就自动接替
5、RAID 5的实现过程
基本过程与RAID 1相似
1)、创建RAID 5
[root@fcy ~]# mdadm -Cv /dev/md2 -l 5 -n 3 /dev/sdb /dev/sdc /dev/sdd -x 1 /dev/sde mdadm: layout defaults to left-symmetric mdadm: layout defaults to left-symmetric mdadm: chunk size defaults to 512K mdadm: size set to 5238272K mdadm: largest drive (/dev/sde) exceeds size (5238272K) by more than 1% Continue creating array? y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md2 started.
2)、查看RAID 5
[root@fcy ~]# cat /proc/mdstat Personalities : [raid1] [raid6] [raid5] [raid4] md2 : active raid5 sdd[4] sde[3](S) sdc[1] sdb[0] 10476544 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_] [===>.................] recovery = 17.3% (907136/5238272) finish=0.7min speed=90713K/sec #正在同步 unused devices: <none>
[root@fcy ~]# cat /proc/mdstat Personalities : [raid1] [raid6] [raid5] [raid4] md2 : active raid5 sdd[4] sde[3](S) sdc[1] sdb[0] 10476544 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] unused devices: <none>
6、其他
其他常用的RAID还有RAID 10 ,RAID 01等