RAID1架构下重启恢复的磁盘丢失boot分区,如何重建boot分区RAID阵列?
看起来你遇到了RAID1阵列里boot分区的同步故障,别慌,咱们结合你给出的系统信息一步步解决:
首先明确问题:从你提供的lsblk和/proc/mdstat输出能看到,重启后虽然丢失的nvme0n1磁盘回来了,但它的boot分区(nvme0n1p2)并没有自动加入到md1这个RAID1阵列里,当前md1只有nvme1n1p2在运行,状态显示[2/1] [_U],说明阵列缺了一个成员。
接下来按以下步骤操作:
第一步:确认目标分区状态
先确保nvme0n1p2没有被挂载,也不属于其他RAID阵列,执行命令:lsblk /dev/nvme0n1p2从你的
lsblk输出来看,这个分区的MOUNTPOINT是空的,也没有关联其他md设备,状态正常,可以继续。第二步:将分区加入RAID阵列
执行mdadm命令把nvme0n1p2添加到md1阵列中:sudo mdadm --manage /dev/md1 --add /dev/nvme0n1p2第三步:查看同步进度
执行以下命令查看RAID的同步状态:cat /proc/mdstat此时你应该会看到
md1开始执行resync(恢复同步),类似这样的输出:Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] md2 : active raid1 nvme0n1p3[0] nvme1n1p3[1] 465370432 blocks super 1.2 [2/2] [UU] bitmap: 3/4 pages [12KB], 65536KB chunk md1 : active raid1 nvme1n1p2[1] nvme0n1p2[2] 1046528 blocks super 1.2 [2/1] [_U] [=>...................] recovery = 5.2% (54656/1046528) finish=0.1min speed=54656K/sec md0 : active (auto-read-only) raid1 nvme0n1p1[0] nvme1n1p1[1] 33520640 blocks super 1.2 [2/2] [UU] resync=PENDING unused devices: <none>耐心等待同步完成,这个过程速度取决于你的磁盘性能,一般很快就能结束。
第四步:验证阵列状态
同步完成后再次查看/proc/mdstat,如果md1的状态变成[2/2] [UU],就说明两个分区已经正常同步,阵列恢复完整了。第五步:更新RAID配置文件(关键)
为了确保下次服务器重启时,系统能正确识别并加载这个RAID阵列,需要更新mdadm的配置文件:sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf这一步能避免下次重启再次出现分区脱离阵列的问题。
最后提醒一下:同步过程中尽量不要重启服务器,等同步完成再进行其他操作,防止出现新的异常。
备注:内容来源于stack exchange,提问作者paco tabasco

