Centos 7【磁盘管理】使用mdadm创建RAID0和RAID5
mdadm工具是一个管理RAID的程序
mdadm常用选项
-A <阵列设备名> #assemble: 加入一个以前定义的阵列
-C <阵列设备名> #–create: 创建一-个新的阵列
-D <阵列设备名> # –detail:显示md device的详细信息
-a yes #自动创建md阵列文件
-I #设定raid level
-s,–scan #扫描配置文件或/proc/mdstat 以搜寻丢失的信息
-n, -raid-devices=:指定阵列中可用device 数目,这个数目只能由–grow修改
-x, -pare-devices=:指定初始阵列的富余device数目
RAID 0实验
在做实验之前记得拍摄快照 ,后期要重置之后做RAID5
在虚拟机里创建3个1G硬盘
扫描新硬盘
输入lsblk
lsblk #显示所有可用块设备的信息及其依赖关系
没有发现新添加的硬盘,因为新硬盘还没有加载,需要将连接新硬盘的SCSI总线重新扫描才可以被系统识别。
输入ls /sys/class/scsi_host
,显示主机总线号
然后使用echo
命令依次扫描这个三个设备
echo "- - -"> /sys/class/scsi_host/host0/scan
echo "- - -"> /sys/class/scsi_host/host1/scan
echo "- - -"> /sys/class/scsi_host/host2/scan
再次使用lsblk
显示所有可用块信息
这样就扫描到了添加的硬盘
创建RAID
mdadm -C -v /dev/md0 -a yes -l 0 -n 2 /dev/sdb /dev/sdc
#-C是创建RAID,-v显示创建过程,创建的RAID分区是/dev/md0,-l 0【数字0】是指定RAID为RAID0,-n是用两块硬盘创建RAID0,后面的是两块硬盘的路径
mdadm -D /dev/md0 #查看刚刚创建的RAID设备信息
mkfs -t xfs /dev/md0 #使用mkfs格式化分区md0,创建xfs文件系统类型
mount /dev/md0 /mnt #挂载md0
df -h #查看挂载信息
cat /proc/mdstat #查看内核是否成功加载md驱动,是否创建成功
mdadm -D --scan > /etc/mdadm.conf #-D和--scan结合扫描磁盘阵列
mdadm -D /dev/md0 #查看RAID信息
到此,RAID0就可以正常使用,建议拍摄快照
这时,输入lsblk
,应该是sdb和sbc组成了md0
卸载
接着上面,
1.卸载RAID
umount /dev/md0 #解除挂载RAID0
df -h #查看挂载信息,查看卸载情况
2.关闭/dev/md0
mdadm -S /dev/md0 #停止磁盘阵列
3.重写/dev/sdb和/dev/sdc两块磁盘
mdadm --zero-superblock /dev/sdb #重写/dev/sdb
mdadm --zero-superblock /dev/sdc #重写/dev/sdc
这时,输入lsblk
,应该是下图,sdb和sdc磁盘重置了
RAID5实验
创建RAID5
mdadm -C /dev/md0 -a yes -l 5 -n 3 /dev/sdb /dev/sdc /dev/sdd
#和创建RAID0大同小异,区别在于指定的RAID是RAID5,并且使用sdb,sdc,sdd这三块硬盘
cat /proc/mdstat #查看内核是否加载了md驱动
mdadm -D /dev/md0 #查看RAID信息
模拟损坏恢复
mdadm /dev/md0 -f /dev/sdb #设置硬盘故障,给sdb标记为fauity,模拟损坏
这时查看RAID的信息
mdadm -D /dev/md0
可以看出有变化,有一块硬盘因为被标记为fauity,被系统判断为损坏
接下来移除损坏的硬盘
mdadm /dev/md0 -r /dev/sdb #移除损坏的硬盘/dev/sdb
接下来要重新加载sdb硬盘,重复前文的相似操作
ls /sys/class/scsi_host/ #查看主机总线号
echo "- - -"> /sys/class/scsi_host/host0/scan #扫描三个设备以加载硬盘
echo "- - -"> /sys/class/scsi_host/host1/scan
echo "- - -"> /sys/class/scsi_host/host2/scan
lsblk #查看可用的块设备
接下来添加新扫描到的的硬盘sdb到md0里,恢复RAID
mdadm /dev/md0 -a /dev/sdb #添加新的硬盘到md0里
接下来查看md0,发现已经恢复了
mdadm -D /dev/md0 #查看RAID信息
写的好累😩-_-