一、raid的定义与作用
raid(独立冗余磁盘阵列)。raid技术通过把多个硬盘设备组合成一个容量更大的,安全性更好的磁盘阵列。把数据切割成许多区段后分别放在不同的物理磁盘上,然后利用分散读写技术来提升磁盘阵列整体的性能,同时把多个重要数据的副本同步到不同的物理设备上,从而起到了非常好的数据冗余备份效果。缺点就是磁盘利用率低。
二、raid的分类
raid的分类目前来说至少有几十种,这里简单介绍一下最常见的四种,raid0,raid1,raid10,raid5。
它的奇偶校验码存在于所有磁盘上。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性。但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。在RAID 5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
raid5的搭建与测试
一、 首先添加四块硬盘
二、reboot重启并对磁盘进行初始化设置
三、搭建raid5
1,yum install -y mdadm //安装madam (madam是Linux下的raid管理工具)
2,mdadm -C /dev/md0 -ayes -l5 -n3 -x1 /dev/sd[b-e]1 //用sdb1,sdc1,sdd1,sde1四块磁盘其中3块创建raid5,名称为md0,另外一块作为热备份。
madam参数说明
-C --create 创建阵列;
-a --auto 同意创建设备,如不加此参数时必须先使用mknod 命令来创建一个RAID设备,不过推荐使用-a yes参数一次性创建;
-l --level 阵列模式,支持的阵列模式有 linear, raid0, raid1, raid4, raid5, raid6, raid10, multipath, faulty, container;
-n --raid-devices 阵列中活动磁盘的数目,该数目加上备用磁盘的数目应该等于阵列中总的磁盘数目;
3,查看raid5状态
cat /proc/mdstat
mdadm -D /dev/md0
4,添加raid5到raid配置文件并做修改
echo 'DEVICE /dev/sd[b-e]1' >>/etc/mdadm.conf
mdadm -Ds >>/etc/mdadm.conf
5,格式化磁盘阵列
mkfs.xfs /dev/md0
6,建立挂载点并挂载
mkdir /raid5
mount /dev/md0 /raid5/
7,将挂载写入开机启动项
vi /etc/fstab
四,测试raid5
-
建立文件a.txt 和 b.txt
2、模拟其中一块磁盘坏道,我选择让sdb1损坏,然后查看raid阵列信息情况,发现热备份磁盘sde1自动替换已损坏了的sdb1。并且资料无损失
3、移除已损坏的磁盘,添加一块新硬盘作为热备份盘,并查看数据情况
mdadm /dev/md0 -r /dev/sdb1
注意:在实际中sdb1已经是另一块完好的硬盘了。不是说之前损坏的那块移除再添加就好了。
五,维护raid5
-
向raid5中添加存储硬盘
mdadm /dev/md0 -a /dev/sdf1
由于默认是添加成热备盘,得把热备盘改为活动盘
mdadm /dev/md0 -G -n4 //-G改变raid中的活动盘的数量,一般和-n连用。-n用来指定raid中活动盘的数量。最好保证要有足够的热备盘添加。
查看状态,添加完成
2,查看文件系统发现总容量未变
此时需要对文件系统扩容
resize2fs /dev/md0 //resizefx适用于ext3,ext4等文件系统不适用于xfs文件系统
xfs_growfs /dev/md0 //xfs_growfs对xfs文件系统进行扩容
raid5只支持扩容,不支持减少。减少需要重建阵列,会导致数据丢失。
关于madam的相关参数汇总
-C --create 创建阵列;
-a --auto 同意创建设备,如不加此参数时必须先使用mknod 命令来创建一个RAID设备,不过推荐使用-a yes参数一次性创建;
-l --level 阵列模式,支持的阵列模式有 linear, raid0, raid1, raid4, raid5, raid6, raid10, multipath, faulty, container;
-n --raid-devices 阵列中活动磁盘的数目,该数目加上备用磁盘的数目应该等于阵列中总的磁盘数目;
-x 热备盘数目
实例:mdadm -C /dev/md0 -ayes -l5 -n3 -x1 /dev/sd[b-e]1 //用sdb1,sdc1,sdd1,sde1四块磁盘其中3块创建raid5,名称为md0,另外一块作为热备份。
-D --detail 查看raid设备的详细信息
-f 使一块raid磁盘故障
-a 增加一块raid磁盘
-r 移除一块故障的raid磁盘
-s --scan:扫描配置文件或 /proc/mdstat以搜寻丢失的信息
-S 停止raid磁盘阵列
实例:
mdadm -Ds >>/etc/mdadm.conf
mdadm /dev/md0 -f /dev/sdb1
mdadm /dev/md0 -r /dev/sdb1
mdadm /dev/md0 -a /dev/sdf1
mdadm /dev/md0 -G -n4 //-G改变raid中的活动盘的数量,一般和-n连用。-n用来指定raid中活动盘的数量。最好保证要有足够的热备盘添加。
参考文档http://www.cnblogs.com/mchina/p/linux-centos-disk-array-software_raid.html