从 Linux 软件 RAID 阵列中删除处于“已移除”状态的设备

从 Linux 软件 RAID 阵列中删除处于“已移除”状态的设备

我的工作站有两个磁盘(/dev/sd[ab]),都有类似的分区。/dev/sdb 出现故障,并cat /proc/mdstat停止显示第二个 sdb 分区。

我对使用它们的阵列上故障磁盘的所有分区运行了mdadm --fail和,尽管所有这些命令都失败了mdadm --remove

mdadm: set device faulty failed for /dev/sdb2:  No such device
mdadm: hot remove failed for /dev/sdb2: No such device or address

然后我热插拔了故障磁盘,对新磁盘进行了分区,并将分区添加到相应的阵列。除一个阵列外,所有阵列都已正确重建,因为在 /dev/md2 中,故障磁盘似乎没有正确从阵列中移除。因此,新分区不断作为备用分区添加到分区,其状态仍然处于降级状态。

展示内容如下mdadm --detail /dev/md2

[root@ldmohanr ~]# mdadm --detail /dev/md2
/dev/md2:
    Version : 1.1
  Creation Time : Tue Dec 27 22:55:14 2011
 Raid Level : raid1
 Array Size : 52427708 (50.00 GiB 53.69 GB)
  Used Dev Size : 52427708 (50.00 GiB 53.69 GB)
   Raid Devices : 2
  Total Devices : 2
Persistence : Superblock is persistent

  Intent Bitmap : Internal

Update Time : Fri Nov 23 14:59:56 2012
      State : active, degraded 
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1

       Name : ldmohanr.net:2  (local to host ldmohanr.net)
       UUID : 4483f95d:e485207a:b43c9af2:c37c6df1
     Events : 5912611

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

   2       8       18        -      spare   /dev/sdb2

要删除磁盘,mdadm 需要一个设备文件名,它最初是 /dev/sdb2,但不再指设备编号 1。我需要帮助删除状态为“已删除”的设备编号 1 并使 /dev/sdb2 处于活动状态。

答案1

如果驱动器不再显示在系统中,请执行以下操作:

mdadm /dev/md2 -r detached

或者

mdadm /dev/md2 -r failed

如果成功完成,你应该收到如下消息:

mdadm:从 /dev/md0 热删除 8:50

并且该驱动器不再出现在 /proc/mdstat 中。 从手册页中:

“第一个导致所有发生故障的设备被移除。第二个导致任何不再连接到系统的设备(即“打开”返回 ENXIO)被移除。这只会对备用设备或已被标记为故障的设备成功。”

相关内容