Ubuntu下使用mdadm做软raid
我最近自己组装了一台机甲A4,默认安装了2块2T的SSD,然后我发现我有2块1T的2.5寸机械盘,于是把这2块盘又塞进了机箱,想到盘分散效果也不好,于是打算用这2个1TB的盘组成raid1。
组装过程比较顺利,我使用的命令是:
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT |
查看到盘后:
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb |
输入Y ,可以通过:
cat /proc/mdstat |
去查看进度,如果到100%后可以开始格式化,挂载和更新系统标志:
sudo mkfs.ext4 -F /dev/md0 |
关于组装raid的文章我觉得这一篇就写的比较好,可以参考:
https://cloud.tencent.com/developer/article/1346533
一切正常,最后把挂载信息写入 /etc/fstab也正常,但是我重启的时候发现电脑进不去,卡住,看了下日志问题是:
GPT header corruption has been detected,please check SATA mode setting in BIOS Setup,or you can use [ Boot Sector (MBR/GPT) Recovery Policy ] item under [Boot Configuration] page to recovery GPT header.Press F1 to run SETUP |
于是我把【Boot Sector】,从User control 切换成了Auto Recovery, 能进入系统。
经过多次测试,确定是重启之后,/dev/md0 设备就直接消失了,也就是组建的raid在重启后并没有重新还原。
查了很久的资料,尝试过修改 /etc/mdadm/mdadm.conf 文件,在里面增加 ARRAY /dev/md0……的方法,但是并没有效果。
后来我感觉应该是和 GPT 分区表有关,先尝试了一个简单的方法,进 PE 把两块硬盘从 GPT 转成 MBR,然后重新创建 raid,重启后就没有消失了,但是这个简单的方法并不完美,因为 MBR 最大只支持 2TB 的硬盘。
这个问题主要原因是用于组阵列的硬盘没有正确清除原始的信息,导致磁盘被首先认作 GPT 磁盘而非 MDADM 成员。
解决方法也很简单,就是清除掉 GPT 分区表,即清除掉头部的数个扇区和尾部的数个扇区,就行了。
也可以先转换成 MBR (转换过程中会自动清除 GPT 分区表),然后再清除 MBR 分区表(第一个扇区)即可。
没有必要先分区再组阵列。
使用gdisK分区的时候需要指定格式:fd00
root@teamelchan:~# gdisk /dev/sda |
然后再用分区创建,而不是直接选择磁盘。
这样创建出来的raid就不会消失了。
扫码手机观看或分享: