技术解析
家里的一台 Linux 主机,加了两块 1T 硬盘,最近打算组成 raid 用来下 PT,由于没有阵列卡主板也不支持 raid,于是就用 mdadm 软 raid,创建过程:
mdadm -Cv /dev/md0 -a yes -n 2 -l 0 /dev/sdb /dev/sdc
mkfs.xfs -f /dev/md0
一切正常,最后把挂载信息写入 /etc/fstab
结果重启就问题了,卡在进度条,几分钟后自动进入了救援模式(显示的什么内容忘记了)
经过多次测试,确定是重启之后,/dev/md0 设备就直接消失了。。。消失了。。。消失了。。。
查了很久的资料,尝试过修改 /etc/mdadm/mdadm.conf 文件,在里面增加 ARRAY /dev/md0......的方法,但是并没有效果
直到我看到了这个,这个问题应该是和 GPT 分区表有关:
https://unix.stackexchange.com/questions/156424/centos-7-created-mdadm-array-disappears-after-reboot
于是我先尝试了一个简单的方法,进 PE 把两块硬盘从 GPT 转成 MBR,然后重新创建 raid,重启后就没有消失了,但是这个简单的方法并不完美,因为 MBR 最大只支持 2TB 的硬盘
最后还是使用 GPT,但是在创建 raid 之前要使用 gdisk 命令在两块硬盘上各创建一个分区,/dev/sdb1 和 /dev/sdc1,然后再使用分区创建 raid:
mdadm -Cv /dev/md0 -a yes -n 2 -l 0 /dev/sdb1 /dev/sdc1
mkfs.xfs -f /dev/md0
这次重启之后 /dev/md0 没有消失,最后将挂载信息写入 /etc/fstab,一切正常