作为分布式奇偶校验的独立磁盘结构,RAID5的奇偶校验码存在于所有磁盘上。RAID5的读出效率很高,写入效率一般,块式的集中访问效率不错。因为奇偶校验码分布在不同的磁盘上,所以提高了可靠性。但是RAID5对数据传输的并行性解决不好,而且控制器的设计也相当困难。在RAID5中有“写损失”,即每一次写操作,将产生四次实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
一、RAID5搭建
要求:建立4个大小为1GB的硬盘,并将其中3个创建为RAID5阵列硬盘,1个创建为热备份硬盘。
1.添加硬盘
添加4块大小为1GB的硬盘。
重新启动系统,使用“fdisk-l | grep sd”命令查看,发现4块硬盘均被系统检测到,说明硬盘安装成功。
2.对硬盘初始化
由于RAID5要用到整块硬盘,因此采用前面讲过的fdisk命令创建分区的方法,将整块硬盘
创建成一个主分区,然后将分区类型改成fd后存盘退出。
3.创建RAID5及其热备份
mdadm是 multiple devices admin的简称,是 Linux下的一款标准的软件RAID管理工具。在 Linux系统中,目前以虚拟块设备( Multiple Devices,MD)方式实现软件RAID利用多个底层的块设备虚拟出一个新的虚拟设备,并且利用条带化( stripping)技术将数据块均匀分布到多个磁盘上来提高虚拟设备的读写性能,利用不同的数据冗余算法来保护用户数据不会因为某个块设备的故障而完全丟失,而且能在设备被替换后将丢失的数据恢复到新的设备上。
目前,MD支持 Linear、 Multipath、RAID0( stripping)RAID1( mirror)、RAID4、RAID5、RAID6和RAID10等不同的冗余级别和集成方式,当然也支持由多个RAD阵列的层叠组成的阵列。
语法: mdadm[模式][参数]
常用模式:
-C/-- create 创建阵列模式
●-a {yesIno} 自动创建对应的设备,yes表示会自动在/dev下创建RAD设备;
●-l # 指明要创建的RAID的级别(-l 5 表示创建RAID5);
●-n # 使用#个块设备来创建RAID(-n 3 表示用3块硬盘来创建RAID);
●-x # 当前阵列中热备盘只有#块(-x 1 表 示热备盘只有1块);
-D/--detail 查看RAID设备的详细信息模式
●-f 使一块RAID磁盘发生故障
●-a 增加一块RAID磁盘;
●-r 移除一块故障的RAID磁盘
●-S--scan 扫描配置文件或去/proc/mdstat 搜寻丢失的信息;
●-S 停止RAID磁盘阵列。
4.修改RAID5配置文件
添加RAID5到RAID配置文件
/etc/ mdadm.conf中,默认此文件不存在。
5.格式化硬盘阵列
使用“ mkfs.xfs/dev/md0”命令对硬盘阵列
/dev/md0进行格式化。
6.进行挂载
把硬盘阵列进行挂载后就可以使用了,也可以把挂载项写入到/etc/fstab文件中,这样下次
系统重启后也可以使用了。
二、RAID5测试
测试用热备份硬盘替换阵列中的磁盘并同步数据,移除损坏的磁盘,添加一个新磁盘作为热备份磁盘。
1.建立测试文件
在RAID5阵列上建立两个文件用于测试。
2.模拟硬盘有坏道
使用“ mdadm/ dev/md0-f/ dev/sdb1”命令让硬盘/dev/sdb1产生坏道,然后查看RAID
阵列信息,发现热备份硬盘/dev/sde1已经自动替换了损坏的/ dev/sdb1,并且文件并没有损失。
3.移除损坏的硬盘,添加新硬盘作为热备份
先使用“mdadm /dev/md0_r/dev/sdb1”命令移除损坏的硬盘/dev/sdb1,然后查看发现损坏的硬盘已经不在了。
再使用“mdadm /dev/md0-a/ dev/sdb1”命令添加一块新的硬盘/ devlsdb1作为阵列的热备份,这里的 /dev/sdb1不是之前损坏的硬盘,而是另一块准备好的硬盘,添加完之后查看。