功能性MD复杂RAID10突然将所有驱动器标记为备件


1

今天早上在长时间的〜1.5TB读取操作中向NFS客户端发送数据时,我的md complex-RAID10阵列自发停止,然后因为“非新鲜”而无法再次启动而丢弃了四个成员。检查mdstat会显示所有被视为“备件”的驱动器。

在Debian 7. 6x HGST Deskstar NAS上运行,四个在Marvell 88SE9230 PCIe附加卡上运行,两个在内部ICH7 SATA上运行。所有驱动器都通过SMART而无需重新分配。丢弃的四个驱动器都在Marvell卡上,但也是sda,sdb,sdc和sdd,我觉得它不一定是控制器,我已经测试过并继续正常工作。

我相信应该备份这个阵列上的所有数据,但我不确定它将处理的所有数据是非常重要的。我的存储工作流程现在处于转换状态,这些数据的备份到处都是。

我怎样才能让这件事重新开始?有些人建议失败并删除每个驱动器并重新添加它,有些人建议使用--force启动阵列,其他人仍然说要使用--assume-clean重新创建阵列,但所有人都只有其他RAID级别的经验。他们和我都不知道这些会如何与复杂的RAID10表现出来并且看起来不太好。

[UPDATE] 我发现设备名称已更改。这就是为什么OS驱动器是mdstat中的sdg(重启后),它是syslog中的sdc(因此是EXT4挂载消息)。现在我不相信被踢出的四个都是Marvell控制器。

我停止了1/3组装的阵列和--assemble --scan显示了四个驱动器“(可能已经过时)”并且它无法从剩下的两个驱动器构建。我再次手动使用--assemble --force并清除了由6个驱动器组装的FAULTY标志,但仍然无法启动数组,因为它们仍然标记为SPARE。因此,这让我了解如何将这些驱动器再次识别为RAID10的各自功能成员,如果可能的话......

mdstat:

md0 : inactive sdf[0](S) sdd[5](S) sdc[4](S) sdb[3](S) sda[2](S) sde[1](S)
      23441325072 blocks super 1.2


syslog:

    Dec 13 02:30:02 mWproduction rpc.mountd[2790]: authenticated mount request from 10.10.1.124:993 for /media/MainStore (/media/MainStore)
    Dec 13 02:33:22 mWproduction kernel: [ 2238.437611] md: md0 stopped.
    Dec 13 02:33:22 mWproduction kernel: [ 2238.437628] md: unbind
    Dec 13 02:33:22 mWproduction kernel: [ 2238.456050] md: export_rdev(sdf)
    Dec 13 02:33:22 mWproduction kernel: [ 2238.456131] md: unbind
    Dec 13 02:33:22 mWproduction kernel: [ 2238.472043] md: export_rdev(sdd)
    Dec 13 02:33:22 mWproduction kernel: [ 2238.472130] md: unbind
    Dec 13 02:33:22 mWproduction kernel: [ 2238.472183] md: export_rdev(sdc)
    Dec 13 02:33:22 mWproduction kernel: [ 2238.472233] md: unbind
    Dec 13 02:33:22 mWproduction kernel: [ 2238.476282] md: export_rdev(sdb)
    Dec 13 02:33:22 mWproduction kernel: [ 2238.476329] md: unbind
    Dec 13 02:33:22 mWproduction kernel: [ 2238.476369] md: export_rdev(sda)
    Dec 13 02:33:22 mWproduction kernel: [ 2238.476421] md: unbind
    Dec 13 02:33:22 mWproduction kernel: [ 2238.480171] md: export_rdev(sde)
    Dec 13 02:33:27 mWproduction kernel: [ 2243.889311] md: md0 stopped.
    Dec 13 02:33:27 mWproduction kernel: [ 2243.890748] md: bind
    Dec 13 02:33:27 mWproduction kernel: [ 2243.890902] md: bind
    Dec 13 02:33:27 mWproduction kernel: [ 2243.891047] md: bind
    Dec 13 02:33:27 mWproduction kernel: [ 2243.891190] md: bind
    Dec 13 02:33:27 mWproduction kernel: [ 2243.891327] md: bind
    Dec 13 02:33:27 mWproduction kernel: [ 2243.891503] md: bind
    Dec 13 02:33:27 mWproduction kernel: [ 2243.891528] md: kicking non-fresh sdd from array!
    Dec 13 02:33:27 mWproduction kernel: [ 2243.891534] md: unbind
    Dec 13 02:33:27 mWproduction kernel: [ 2243.904065] md: export_rdev(sdd)
    Dec 13 02:33:27 mWproduction kernel: [ 2243.904079] md: kicking non-fresh sdc from array!
    Dec 13 02:33:27 mWproduction kernel: [ 2243.904090] md: unbind
    Dec 13 02:33:27 mWproduction kernel: [ 2243.916138] md: export_rdev(sdc)
    Dec 13 02:33:27 mWproduction kernel: [ 2243.916155] md: kicking non-fresh sdb from array!
    Dec 13 02:33:27 mWproduction kernel: [ 2243.916173] md: unbind
    Dec 13 02:33:27 mWproduction kernel: [ 2243.928029] md: export_rdev(sdb)
    Dec 13 02:33:27 mWproduction kernel: [ 2243.928039] md: kicking non-fresh sda from array!
    Dec 13 02:33:27 mWproduction kernel: [ 2243.928046] md: unbind
    Dec 13 02:33:27 mWproduction kernel: [ 2243.944040] md: export_rdev(sda)
    Dec 13 02:33:27 mWproduction kernel: [ 2243.962667] md: raid10 personality registered for level 10
    Dec 13 02:33:27 mWproduction kernel: [ 2243.963132] bio: create slab  at 1
    Dec 13 02:33:27 mWproduction kernel: [ 2243.967055] md/raid10:md0: not enough operational mirrors.
    Dec 13 02:33:27 mWproduction kernel: [ 2243.967264] md: pers->run() failed ...
    Dec 13 02:33:35 mWproduction kernel: [ 2251.460454] md: md0 stopped.
    Dec 13 02:33:35 mWproduction kernel: [ 2251.460465] md: unbind
    Dec 13 02:33:35 mWproduction kernel: [ 2251.480313] md: export_rdev(sdf)
    Dec 13 02:33:35 mWproduction kernel: [ 2251.480476] md: unbind
    Dec 13 02:33:35 mWproduction kernel: [ 2251.498418] md: export_rdev(sde)
    Dec 13 02:33:44 mWproduction kernel: [ 2260.905447] md: md0 stopped.
    Dec 13 02:33:44 mWproduction kernel: [ 2260.911283] md: bind
    Dec 13 02:33:44 mWproduction kernel: [ 2260.911576] md: bind
    Dec 13 02:33:44 mWproduction kernel: [ 2260.911844] md: bind
    Dec 13 02:33:44 mWproduction kernel: [ 2260.912306] md: bind
    Dec 13 02:33:44 mWproduction kernel: [ 2260.912475] md: bind
    Dec 13 02:33:44 mWproduction kernel: [ 2260.912650] md: bind
    Dec 13 02:42:48 mWproduction shutdown[4245]: shutting down for system reboot

Answers:


1

问题得到解决。我被建议在所有驱动器上执行mdadm -E。它显示,现在阵列被强制重新组装,除了一个驱动器之外的所有驱动器都具有AAAAAA的阵列状态。 /dev/sde 它的状态卡在AA ......(两个活动,四个不活动),这表明某种异常。

我没有重新组装驱动器 --force,省略 /dev/sde 它表明它需要 --run 因为它希望所有成员都在场。使用--run,阵列正确启动,降级。现在我正在测试剩余的磁盘,仔细检查所有内容是否已备份,并将其重新添加到阵列中。

非常感谢irig.freenode.net #linux和#mdadm的用户spreeuw和mumixam的宝贵意见。

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.