如何从 mdadm RAID1 中删除已移除的设备?

如何从 mdadm RAID1 中删除已移除的设备?

我不得不更换 RAID1 中的两个硬盘。添加两个新分区后,旧分区仍显示为已删除而新的分区仅作为备用添加。我没有成功删除标记为已删除

这是有问题的 RAID。请注意状态为已删除

$ mdadm --detail /dev/md1

mdadm: metadata format 00.90 unknown, ignored.
mdadm: metadata format 00.90 unknown, ignored.
/dev/md1:
        Version : 00.90
  Creation Time : Thu May 20 12:32:25 2010
     Raid Level : raid1
     Array Size : 1454645504 (1387.26 GiB 1489.56 GB)
  Used Dev Size : 1454645504 (1387.26 GiB 1489.56 GB)
   Raid Devices : 3
  Total Devices : 3
Preferred Minor : 1
    Persistence : Superblock is persistent

    Update Time : Tue Nov 12 21:30:39 2013
          State : clean, degraded
 Active Devices : 1
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 2

           UUID : 10d7d9be:a8a50b8e:788182fa:2238f1e4
         Events : 0.8717546

    Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       1       0        0        1      removed
       2       8       34        2      active sync   /dev/sdc2

       3       8       18        -      spare   /dev/sdb2
       4       8        2        -      spare   /dev/sda2

我如何摆脱这些设备并将新的分区添加为活动 RAID 设备?

更新 1

我似乎已经摆脱了它们。我的 RAID 正在重新同步,但这两个驱动器仍被标记为备用,编号为 3 和 4,这看起来不对。我必须等待重新同步完成。

我所做的就是通过编辑 mdadm.conf 并重新启动来修复元数据错误。我之前尝试过重新启动,但这次不知为何成功了。

Number   Major   Minor   RaidDevice State
   3       8        2        0      spare rebuilding   /dev/sda2
   4       8       18        1      spare rebuilding   /dev/sdb2
   2       8       34        2      active sync   /dev/sdc2

更新 2

重新同步后,问题与之前完全相同。两个新分区被列为备用分区,而旧分区则被标记为已删除仍然存在。

停止并重新创建阵列是我唯一的选择吗?

更新 3*

# cat /proc/mdstat 
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] [linear] [multipath] 
md1 : active raid1 sdb2[3](S) sdc2[0] sda2[4](S)
      1454645504 blocks [3/1] [U__]

md0 : active raid1 sdc1[0] sdb1[2] sda1[1]
      10488384 blocks [3/3] [UUU]

unused devices: <none>

答案1

在您的具体情况下:

mdadm --grow /dev/md1 --raid-devices=3

对于其他所有设备,请将其设置--raid-devices为当前阵列中正在运行的设备数量。

答案2

我认为这应该可以完成这个工作:

mdadm /dev/md1 -r detached

答案3

对我来说mdadm /dev/md127 --remove failed有效:

# cat /proc/mdstat
md127 : active raid1 sdd3[3] sdc3[0](F) nvme0n1p8[2]
      245732672 blocks super 1.2 [2/2] [UU]
      bitmap: 2/2 pages [8KB], 65536KB chunk
#

# mdadm --detail /dev/md127
/dev/md127:
           Version : 1.2
     Creation Time : Sat Mar  4 19:33:57 2017
        Raid Level : raid1
        Array Size : 245732672 (234.35 GiB 251.63 GB)
     Used Dev Size : 245732672 (234.35 GiB 251.63 GB)
      Raid Devices : 2
     Total Devices : 3
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Fri May 26 22:32:53 2023
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 1
     Spare Devices : 0

Consistency Policy : bitmap

              Name : localhost.localdomain:0  (local to host localhost.localdomain)
              UUID : 4a5400f0:b5fb63b5:c7561cef:0604ef91
            Events : 15727631

    Number   Major   Minor   RaidDevice State
       3       8       51        0      active sync   /dev/sdd3
       2     259        8        1      active sync   /dev/nvme0n1p8

       0       8       35        -      faulty   missing
#
# mdadm /dev/md127 --remove failed
mdadm: hot removed 8:35 from /dev/md127
md127 : active raid1 sdd3[3] nvme0n1p8[2]
      245732672 blocks super 1.2 [2/2] [UU]
      bitmap: 2/2 pages [8KB], 65536KB chunk
#

相关内容