使用 mdadm 和 4 个磁盘的 RAID5 配置
发生一些事件后,例如其中一个驱动器丢失,必须重新启动服务器并重建阵列,我的团队处于一个有趣的境地
猫/proc/mdstat
Personalities :
md0 : inactive sdb[1](S) sda[4](S) sdd[3](S) sdc[2](S)
7814057984 blocks
unused devices: <none>
mdadm -E /dev/sd[ae] | grep 事件
Events : 946860
Events : 946860
Events : 946848
Events : 946860
mdadm -D /dev/md0
mdadm: md device /dev/md0 does not appear to be active.
mdadm --assemble /dev/md0 /dev/sda /dev/sdb /dev/sdc /dev/sdd --force --verbose
mdadm: looking for devices for /dev/md0
mdadm: /dev/sda is identified as a member of /dev/md0, slot 4.
mdadm: /dev/sdb is identified as a member of /dev/md0, slot 1.
mdadm: /dev/sdc is identified as a member of /dev/md0, slot 2.
mdadm: /dev/sdd is identified as a member of /dev/md0, slot 3.
mdadm: ignoring /dev/sdb as it reports /dev/sda as failed
mdadm: ignoring /dev/sdc as it reports /dev/sda as failed
mdadm: ignoring /dev/sdd as it reports /dev/sda as failed
mdadm: no uptodate device for slot 0 of /dev/md0
mdadm: no uptodate device for slot 1 of /dev/md0
mdadm: no uptodate device for slot 2 of /dev/md0
mdadm: no uptodate device for slot 3 of /dev/md0
mdadm: added /dev/sda to /dev/md0 as 4
mdadm: /dev/md0 assembled from 0 drives and 1 spare - not enough to start the array.
我知道我的一个驱动器 /dev/sdc 即将发生故障,因为我收到了坏扇区的 SMART 报告(7 个坏扇区)
答案1
尝试组装时不要使用第三个奇数磁盘 sdc,即
mdadm --assemble /dev/md0 /dev/sda /dev/sdb /dev/sdd --verbose
这听起来像是可以工作的,因为剩下的三个似乎是同步的,并且使用 RAID-5,N-1 个磁盘足以在降级模式下重新启动阵列。
可能是设备索引不正确,请检查mdadm -E
输出并查看是否可以识别三个工作磁盘。从错误消息来看,sdc 和 sda 似乎在某个时刻同时发生故障,这是 RAID-5 无法妥善处理的情况。
(最初我建议用字符串替换第三个磁盘来省略它missing
,但这是--create
下面 S.Haran 指出的语法。)
之后,在您确认一切正常后,您可以尝试使用以下命令重新添加第三(第四)个磁盘:
sudo mdadm /dev/md0 --add /dev/sdc
答案2
如果您愿意,您可以在降级模式下组装三个驱动器...... mdadm --assemble --force /dev/md0 /dev/sda /dev/sdb /dev/sdd
“missing” 是可以与 mdadm --create 一起使用的选项