最近按教程创建了RAID5,遇到一点小问题,希望记录下来,能对大家有点帮助。
实验环境
Ubuntu 16.04.1 + VMware Workstation 12 Player
实验目的
使用mdadm创建软raid5,模拟故障测试,了解raid5是怎样工作的。
首先配置好基础的环境,在虚拟机中添加四块3G的SCSI硬盘。很简单,虚拟机设置中选add即可。
接着就是管理工具mdadm的下载安装了,Ubuntu使用apt-get命令即可,很多教程使用yum命令,那是针对Redhat、Centos包管理工具。
环境搭建好后,正式开始创建RAID5啦。
1 先用 fdisk -l 查看四块磁盘的设备号,分别是/dev/sdb1, /dev/sdc1, /dev/sdd1, /dev/sde1;
2 对磁盘进行分区 fdisk /dev/sdb1 ,接下来输入n进行分区, 输入p选择创建主分区,输入1创建第一个主分区,直接回车选择分区开始柱面(默认从1开始),直接回车选择分区结束柱面(默认最后一个柱面),输入t修改格式,输入fd指定分区类型为Linux raid auto,输入w保存。同样的步骤对剩下三个盘操作。全部做完后,通过fdisk -l查看结果:
3 创建raid5,使用sdb1,sdc1,sdd1做数据盘,sde1做热备份
mdadm -C -v /dev/md0 -l5 -n3 /dev/sd[bcd]1 -x1 /dev/sde1,其中C表示创建,v表示细节,新分区的设备号是md0,l5表示创建的raid5,n3表示3个数据盘,-x1表示一个空闲盘。
4 格式化阵列,分完区后还要格式化阵列,不然写不了数据,mkfs -t ext3 /dev/md0,格式化为ext3格式。
5 格式化完成后,把这个raid5挂载到某个目录下正常使用。
mkdir /mnt/raid
mount /dev/md0 /mnt/raid 将raid挂在到/mnt/raid目录下。
6 查看raid信息,cat /proc/mdstat
7 故障模拟
(1)首先启动raid mdadm -A /dev/md0 /dev/sd[bcde]1
(2)将/dev/sdb1标记为已损坏的设备
损坏前raid的状态
mdadm /dev/md0 -f /dev/sdb1标记后raid的状态
过会儿再次查看raid的状态
几个图对比可以看出,阵列中出现数据损坏的时候,能够自动重构和恢复数据,损坏的磁盘标记出来,备用磁盘用来存储数据。
(3)故障处理:移出损坏磁盘,将新设备添加到阵列中。
mdadm /dev/md0 -r /dev/sdb1删除损坏
mdadm /dev/md0 -a /dev/sdb1添加新磁盘到阵列中
这样就完成mdadm创建raid5,模拟故障和故障恢复的小实践啦~ 希望对你有帮助~ 每天好心情哦~