在不删除其项目的情况下恢复 Linux 软件 RAID 阵列

hra*_*rap 5 linux raid mdadm software-raid

我有linux软件raid(RAID10),

md2 : active raid10 sda6[4](F) sdd5[3] sdc5[2] sdb6[1]
  390620160 blocks 64K chunks 2 near-copies [4/3] [_UUU]
Run Code Online (Sandbox Code Playgroud)

退化状态。我可以在不删除和添加失败的阵列项目的情况下开始恢复操作吗?

我已经尝试开始重新同步操作,

echo 'repair' >/sys/block/md2/md/sync_action
Run Code Online (Sandbox Code Playgroud)

但是没有效果……

我在文档中读过,那

echo 'recover' >/sys/block/md2/md/sync_action
Run Code Online (Sandbox Code Playgroud)

用热备用磁盘替换阵列的失败项。但是,如果我没有此阵列的热备用分区,它会做什么?

Fla*_*ash 5

不幸的是,您需要“移除”并将出现故障的驱动器添加回阵列。这可以在不实际从系统中删除驱动器的情况下完成,并且将从同一分区重建阵列。

看起来 /dev/sda6 是失败的分区。以下命令应该删除它,将其添加回备用并允许系统重建。

mdadm --manage /dev/md0 -f /dev/sda6 -r /dev/sda6 -a /dev/sda6

按顺序 -f(ail) -r(emove) -a(dd)