1个驱动器发生故障后,Linux Software Raid 10挂起,mdadm不会让我强行删除故障设备


8

我有一个Linux软件raid 10设置,包括5个RAID 1(每个镜像设置两个驱动器)和所有5个RAID 1对中的RAID 0。为了测试所有驱动器在负载下均不会快速失效,我在RAID 0上使用了具有破坏性读/写模式的坏块。

Badblocks命令:badblocks -b 4096 -c 98304 -p 0 -w -s / dev / md13

其中一台设备发生了故障,并且没有坏块程序愉快地在其上挂起。如果我运行同步命令,这也会挂起。首先,我假设这不是RAID 1设备的标准行为。如果其中一个驱动器发生故障,它仍然应该能够正确写入两个驱动器组成的虚拟设备。

因此,我继续强制使驱动器发生故障,然后尝试将其删除。我可以毫无问题地将驱动器设置为故障(但是IO操作仍然挂起)。我无法从说忙的团队中完全删除该设备。我的假设是,如果我可以完全摆脱袭击,则IO将会继续,但这只是一个假设,我确实认为我正在处理各种错误。

到底是怎么回事?我是否由于错误而处于无法恢复的位置?

该系统运行的是内核2.6.18,因此并不是完全新的,但考虑到软件袭击已经存在了这么长时间,因此我认为不会发生此类事件。

非常感谢任何见解。

mdadm --detail / dev / md13

/ dev / md13:

    Version : 00.90.03   Creation Time : Thu Jan 21 14:21:57 2010
 Raid Level : raid0
 Array Size : 2441919360 (2328.80 GiB 2500.53 GB)    Raid Devices : 5  

设备总数:5首选次设备:13持久性:超级块是持久性的

Update Time : Thu Jan 21 14:21:57 2010
      State : clean  Active Devices : 5 Working Devices : 5 

故障设备:0备用设备:0

 Chunk Size : 64K

       UUID : cfabfaee:06cf0cb2:22929c7b:7b037984
     Events : 0.3

Number   Major   Minor   RaidDevice State
   0       9        7        0      active sync   /dev/md7
   1       9        8        1      active sync   /dev/md8
   2       9        9        2      active sync   /dev/md9
   3       9       10        3      active sync   /dev/md10
   4       9       11        4      active sync   /dev/md11

失败的raid输出:

/ dev / md8:版本:00.90.03创建时间:2010年1月21日(星期四)Raid级别:raid1数组大小:488383936(465.76 GiB 500.11 GB)设备大小:488383936(465.76 GiB 500.11 GB)Raid设备:2
设备总数:2首选次设备:8持久性:超级块是持久性的

Update Time : Mon Jan 25 04:52:25 2010
      State : active, degraded  Active Devices : 1 Working Devices : 1

故障设备:1备用设备:0

       UUID : 2865aefa:ab6358d8:8f82caf4:1663e806
     Events : 0.11

Number   Major   Minor   RaidDevice State
   0      65       17        0      active sync   /dev/sdr1
   1       8      209        1      faulty   /dev/sdn1

Answers:


1

抱歉,也许我不太了解,cat / proc / mdstat可能会有所帮助,但据我所知,您被枪shoot了脚,破坏了RAID0等基础RAID1阵列上的数据。就是说,如果必须了解RAID的可靠性(请告诉我),如果必须测试RAID的可靠性,则必须将驱动器,磁盘标记为故障,而不是破坏引用所有底层RAID1磁盘的逻辑块。


0

也许您需要询问内核以删除有故障的驱动器。它将释放空洞的RAID。

您可以使用http://bash.cyberciti.biz/diskadmin/rescan-linux-scsi-bus/这样的脚本将其删除


尽管此脚本很有趣,但我将不得不更多地看一下它是如何添加/删除设备的,以查看是否可以强制删除,但最终系统仍然认为驱动器处于活动状态。该设备并不需要完全被软件Raid踢出raid1,在这种情况下,某些写入失败,但是该设备仍然“存在”
ScottZ 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.