搭建RAID10(5块硬盘)过程并模拟其中一块硬盘损坏
首先:RAID 10,实际是将RAID 0和RAID 1标准结合的产物,在连续地以位或字节为单位分割数据并且并行读/写多个磁盘的同时,为每一块磁盘作磁盘镜像进行冗余。它的优点是同时拥有RAID 0的超凡速度和RAID 1的数据高可靠性,但是CPU占用率同样也更高,而且磁盘的利用率比较低。RAID 1+0是先镜射再分区数据,再将所有硬盘分为两组,视为是RAID 0的最低组合,然后将这两组各自视为RAID 1运作。当RAID 1+0有一个硬盘受损,其余三个硬盘会继续运作。
第一步:
添加五块硬盘
这里一路默认即可
第二步:查看磁盘是否识别
用fdisk-l 查看磁盘空间
第三步:创建RAID10
用命令mdadm -Cv /dev/md0 -n 4 -l 10 -x 1 -a yes /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf
这里就算是创建RAID10 成功了。
第四步:格式化磁盘md0并挂载到新目录下
先对md0 用 mkfs.ext4 /dev/md0 进行格式化
接下来创建一个目录 mkdir /media/RAID10 并将RAID10临时挂载在该目录下
用 mdadm -D /dev/md0 查看已挂载的RAID10
这里就算RAID10创建完成并临时挂载好了,如果想要开机自动挂载,需要将
“ /dev/md0 /media/RAID10 ext4 defaults 0 0 ”写到 /etc/fstab文档里。可以用echo命令也可以直接vi进去编辑。
模拟sdb盘损坏:
第一步:使用mdadm /dev/md0 -f /dev/sdb 先将sdb移除RAID10阵列
再用mdadm -D查看一下当前阵列的状态
sdf备份盘恢复完数据了 ,这时sdf就顶替了sdb的位置
因为之前我们创建RAID10的时候 设置了一个-x的参数是1 所以这里不用任何操作,sdf盘就顶替了原先sdb盘的位置。那么下面假设没有-x这个参数,只是单纯的卸载sdb会怎样呢。
先用umount命令卸载md0 并用mdadm -S 参数停止RAID10的使用。这里可以看到系统里已经没有RAID10这个阵列了。
接下来还是上面的步骤重新创建RAID10 只不过不添加备份盘了
这里可以看到跟上面比已经没有sdf这个备份盘了
我们接着模拟sdb损坏 。
这次没有盘顶替sdb了,我们需要尝试恢复数据。
可以重启后执行mdadm -a参数 恢复sdb
接下来恢复sdb 这里显示3%就是恢复的进度
恢复完成!