RAID技术通过把多个硬盘设备组合成一个容量更大、安全性更好的磁盘阵列,并把数据切割成多个区段后分别存放在各个不同的物理硬盘设备上,然后利用分散读写技术来提升磁盘阵列整体的性能,同时把多个重要数据的副本同步到不同的物理硬盘设备上,从而起到了非常好的数据冗余备份效果 出于成本和技术方面的考虑,需要针对不同的需求在数据可靠性及读写性能上作出权衡,制定出满足各自需求的不同方案。目前已有的RAID磁盘阵列的方案至少有十几种,而刘遄老师接下来会详细讲解RAID 0、RAID 1、RAID 5与RAID 10这4种最常见的方案 1.RAID 0 把至少2块的硬盘设备通过硬件或者软件的方式把多块物理硬盘设备(至少两块)通过硬件或软件的方式串联在一起,组成一个大的卷组,并将数据依次写入到各个物理硬盘中 2.RAID 1 将至少两块的硬盘绑定,数据同时写入多个物理硬盘中 3.RAID 5 把硬盘设备的数据奇偶校验信息保存到其他硬盘设备中,而不是单独存储到某一块硬盘设备中 4.RAID 10 相当于RAID 1+RAID 0技术的“组合体” 总结 部署磁盘阵列 1.添加所需空硬盘并创建磁盘阵列(RAID 10)
mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sd[c-f] #创建RAID 10,yes代表自动监测,设备名称格式:/dev/md0或/dev/md/zzmdadm常用参数和命令
参数作用-a检测设备名称-n指定设备数量(所需硬盘数量)-l指定RAID级别(0 1 5 10)-C创建-v显示过程-f模拟设备损坏-r移除设备-Q查看摘要信息-D查看详细信息-S停止RAID磁盘阵列2.格式化硬盘
mkfs.ext4 /dev/md0 #格式化硬盘3.查看分区内容
mdadm -D /dev/md0 #查看磁盘阵列的详细信息,硬盘状态为active sync4.创建目录并在此目录下进行挂载
mkdir -p /linux #创建挂载目录 mount /dev/md0 /linux #挂载要注意文件位置,挂载时输入完整路径 df -h #查询挂载情况 vim /etc/fstab #写入配置文件,进行永久挂载(echo " /dev/md0 /linux ext4 defaults 0 0 " >> /etc/fstab) reboot #重启后重新查询模拟损坏磁盘阵列及修复 移除阵列中一块硬盘来模拟一块硬盘损坏
mdadm /dev/md0 -f /dev/sdc #把/dev/sdc硬盘从md0磁盘阵列中删除 mdadm -D /dev/md0 #查看阵列内容,/dev/sdc(所删除的硬盘)状态变为faulty reboot #重启 umount /RAID #卸载磁盘阵列 mdadm /dev/md0 -a /dev/sdc #重新将硬盘挂载到RAID磁盘阵列中 mdadm -D /dev/sdc #重新查看阵列,/dev/sdc正在 spare rebuilding,最后变为active sync mount -a #重新挂载 df -h #查看挂载情况磁盘阵列+备份盘(热备盘) 部署RAID 5 磁盘阵列时,至少需要用3块硬盘,此处再加一块备份硬盘 还原虚拟机,部署RAID 5 + 1备份盘
mdadm -Cv /dev/md0 -a yes -n 3 -l 5 -x 1 /dev/sd[c-f] #与部署10阵列相似,-x表示添加热备盘 mkfs.ext4 /dev/md0 #格式化 mkdir -p /linux #创建目录 mount /dev/md0 #挂载目录 vim /etc/fstab #进行永久挂载 mdadm -D /dev/md0 #查看详细信息,热备盘状态为spare,当某一硬盘损坏时,磁盘自动补到阵列中添加硬盘
mdadm /dev/md0 --add /dev/sdg #向磁盘阵列中添加热备盘删除已用硬盘信息,使之成为空硬盘
umount /dev/md0 #卸载目录 vim /etc/fstab #删除写入的配置文件信息 mdadm /dev/md0 --fail /dev/sdc --remove /dev/sdc #依次写入所需硬盘 mdadm --stop /dev/md0 mdadm --remove /dev/md0 mdadm --misc --zero-superblock /dev/sdc #依次归零硬盘