NAS系统Raid6阵列中/dev/sdb3损坏后修复及设备消失问题求助
我来一步步帮你搞定这个NAS上的RAID6故障,分两个场景拆解操作:
一、初始阶段:修复损坏的/dev/sdb3 RAID6成员盘
当你发现/dev/sdb3损坏后,正常的修复流程应该是这样的:
确认RAID阵列状态
先执行命令查看当前RAID的详细信息,确认损坏磁盘的状态:mdadm --detail /dev/mdX # 这里的mdX是你的RAID设备名,比如md0输出里会明确显示哪个磁盘(比如/dev/sdb3)处于
failed状态。标记损坏磁盘为失效并移除
把故障盘从RAID阵列中移除:mdadm --manage /dev/mdX --fail /dev/sdb3 mdadm --manage /dev/mdX --remove /dev/sdb3物理替换故障磁盘
关机后把损坏的物理磁盘换成同容量(最好同型号)的新磁盘,确保连接稳固后开机。重新添加新磁盘到RAID阵列
假设新磁盘对应的分区还是/dev/sdb3(如果没分区需要先创建和其他RAID成员同类型的分区),执行命令加入阵列开始重建:mdadm --manage /dev/mdX --add /dev/sdb3可以用
watch cat /proc/mdstat实时查看重建进度,等待完成即可。
二、重启后/dev/sdb3消失的解决办法
如果重启后/dev/sdb3找不到了,咱们按以下步骤排查修复:
检查物理磁盘是否被系统识别
先查看系统能识别的所有磁盘:lsblk fdisk -l看看有没有/dev/sdb这个磁盘设备存在。如果连/dev/sdb都没有,大概率是硬件问题——检查磁盘的SATA/SAS线缆、供电,或者磁盘本身没插好,重新插拔后再重启试试。
如果磁盘存在但分区/dev/sdb3消失
这种情况可能是分区表损坏了,你需要重新创建和其他RAID成员一致的分区:- 用
fdisk /dev/sdb进入分区工具,创建一个和/dev/sda3同类型的分区(比如Linux raid autodetect类型,代码fd) - 保存分区表后,执行
partprobe让系统重新读取分区表,这时候/dev/sdb3应该会重新出现。
- 用
重新将分区加入RAID阵列
回到之前的修复流程,执行:mdadm --manage /dev/mdX --add /dev/sdb3之后RAID会自动开始重建,耐心等待完成即可。
注意:如果新磁盘是全新的,一定要确认分区格式和其他RAID成员匹配,否则可能无法加入阵列。另外,重建过程中不要关机,避免RAID损坏加剧。
内容的提问来源于stack exchange,提问作者whitebear

