控制 RAID 10 阵列中的 mdadm 故障磁盘重建顺序

控制 RAID 10 阵列中的 mdadm 故障磁盘重建顺序

我有一个 Linux mdadm RAID 10 阵列,由 6 个(SATA)磁盘组成,配置了 n2 个副本。

拔出一个磁盘时,另一个镜像对中的另一个磁盘发生故障。留给我的是:

$ cat /proc/mdstat
md2 : active raid10 sdb1[1] sdd1[5] sdc1[3] sdf1[2]
  2929412352 blocks 64K chunks 2 near-copies [6/4] [_UUU_U]

我想更换第五个磁盘并使用以下命令重建分区表:sfdisk -d /dev/sdf | sfdisk /dev/sde

但是,当我使用 添加新磁盘时mdadm -a /dev/md1 /dev/sde1,mdadm 开始重建 RaidDevice 0

$ mdadm -D /dev/md2
...
Number   Major   Minor   RaidDevice State
   6       8       66        0      spare rebuilding   /dev/sde1
   1       8        2        1      active sync   /dev/sdb1
   2       8       17        2      active sync   /dev/sdc1
   3       8       33        3      active sync   /dev/sdd1
   4       0        0        4      removed
   5       8       49        5      active sync   /dev/sdf1

这不是一个大问题,我只需要将磁盘 5 物理移动到磁盘 1 插槽,以便在查看盒子时保持一些理智。

我的问题是,有没有办法指示 mdadm 使用新磁盘替换特定的 RaidDevice?我浏览了手册页,但找不到合适的选项。

答案1

即使在硬件 RAID 控制器上,我也没有看到这样的选项。您只能为某些 RAID 添加热备盘,而不能为指定磁盘添加热备盘。也许,有些控制器可以这样做,但不是全部......

据我所知,mdadm 也没有这样的选项。但你可以尝试这样的技巧:转储超级块(元数据)目标故障磁盘(sde?)并将其上传到备用磁盘。也许 --re-add 选项可以满足你的要求,但我不确定。

来自 man: --re-add 重新添加先前从阵列中删除的设备。如果设备上的元数据报告它是阵列的成员,并且它使用的插槽仍然空置,则该设备将重新添加到阵列中的相同位置。

相关内容