mdadm:使用从活动阵列中删除的设备组装另一个阵列

Mic*_*hal 3 software-raid

为了在工作机器上扩大 raid1 阵列,我正在测试以下场景:

  • 删除两个磁盘之一
  • 添加更大的磁盘,重新同步
  • 添加另一个更大的磁盘,重新同步,增长到 raid-devices=3
  • “失败”并删除原来的小磁盘
  • 将设备“增长”回 raid-devices=2
  • 使用小磁盘制作备份 raid 设备
  • 放大主设备(现在包含两个大磁盘)

现在一切似乎都正常,除了一件重要的事情:我无法使用磁盘“失败”并从原始 md10 设备中删除来组装新的 md 设备:

mdadm --assemble /dev/md11 /dev/sde3
mdadm: Found some drive for an array that is already active: /dev/md10
mdadm: giving up
Run Code Online (Sandbox Code Playgroud)

有什么方法可以以某种方式更改此类已删除设备上阵列的标识吗?

Chr*_*dez 6

mdadm 抱怨您正在尝试组装一个数组,该数组的 UUID 与已经运行的数组相匹配--update=uuid当您使用和参数组装 /dev/sde3 超级块时,您需要更改它的 UUID --uuid=<newuuid>。这应该告诉 mdadm 在与正在运行的数组进行比较时使用您传入的 UUID。

要查找旧 UUID,请使用mdadm --examine /dev/sde3并获取旧 UUID。您可以将其更改为唯一的,或生成一个新的。

你的新命令是: mdadm --assemble /dev/md11 --update=uuid --uuid=<newuuid> /dev/sde3