如何在不知道 /dev/XXX 名称的情况下从 RAID1 中删除磁盘?

如何在不知道 /dev/XXX 名称的情况下从 RAID1 中删除磁盘?

前:

SERVER:~ # mdadm --detail /dev/md5
/dev/md5:
    Version : 00.90.00
  Creation Time : Fri Mar 18 14:53:33 2011
     Raid Level : raid1
     Array Size : 67103360 (63.99 GiB 68.71 GB)
    Device Size : 67103360 (63.99 GiB 68.71 GB)
   Raid Devices : 2
  Total Devices : 1
Preferred Minor : 5
    Persistence : Superblock is persistent

    Update Time : Mon May 27 21:32:01 2013
      State : clean, no-errors
 Active Devices : 1
Working Devices : 1
 Failed Devices : 0
  Spare Devices : 0


    Number   Major   Minor   RaidDevice State
       0       8      129        0      active sync   /dev/sdi1
       1       0        0       -1      removed
       UUID : 5cd4bFe4:dd1b759f:b7e070fe:c44bfRef
     Events : 0.36000940

将磁盘添加到 RAID1:

SERVER:~ # mdadm --add /dev/md5 /dev/sdj1
mdadm: hot added /dev/sdj1

后:

SERVER:~ # mdadm --detail /dev/md5
/dev/md5:
    Version : 00.90.00
  Creation Time : Fri Mar 18 14:53:33 2011
     Raid Level : raid1
     Array Size : 67103360 (63.99 GiB 68.71 GB)
    Device Size : 67103360 (63.99 GiB 68.71 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 5
    Persistence : Superblock is persistent

    Update Time : Mon May 27 21:32:32 2013
      State : clean, no-errors
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1


    Number   Major   Minor   RaidDevice State
       0       8      129        0      active sync   /dev/sdi1
       1       0        0       -1      removed
       2       8      145       -1      spare   /dev/sdj1
       UUID : 5cd4bFe4:dd1b759f:b7e070fe:c44bfRef
     Events : 0.36000955
SERVER:~ # 

问题:如何从 md5 中删除此行/磁盘?

       1       0        0       -1      removed

可能这就是 /dev/sdj1 被标记为备用的原因......

我已经尝试删除它:

SERVER:~ # mdadm /dev/md5 -r detached
mdadm: cannot find detached: No such file or directory
SERVER:~ # 

操作系统:SUSE LINUX Enterprise Server 9.4

更新:那么我可以使用它的编号从 md* 设备中删除磁盘吗? (在这种情况下,数字将为“1”)

答案1

这(或多或少)是预期的行为。引用手册页:

--add:热添加列出的设备。如果某个设备最近似乎已成为阵列的一部分(可能发生故障或被删除),则将按照下一点所述重新添加该设备。如果失败或该设备从未属于阵列,则该设备将作为热备用添加。如果阵列性能下降,它将立即开始在该备用阵列上重建数据。

因此: 该磁盘不被识别为阵列的前成员。问一个次优的问题你对此什么也没说。

可能这就是 /dev/sdj1 被标记为空闲的原因。

反之亦然:因为sdj1仍然标记为备用,所以“已删除”的行仍然存在。我不知道为什么备用磁盘不会自动用于填充空插槽(如手册页所述)。如果同步完成,它可能会将其状态从“备用”更改为“活动”。看一下/proc/mdstat

相关内容