今天早上,在向 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 中会如何表现,而且看起来不太好。
[更新] 我发现设备名称已更改。这就是为什么操作系统驱动器在 mdstat 中为 sdg(重启后)而在 syslog 中为 sdc(因此出现 EXT4 挂载消息)。现在我不相信被踢出的四个都在 Marvell 控制器上。
我停止了 1/3 组装好的阵列,--assemble --scan 显示四个驱动器“(可能已过期)”,无法从剩余两个驱动器构建。我再次尝试使用 --assemble --force 手动操作,它清除了 FAULTY 标志,从 6 个驱动器组装而成,但仍然无法启动阵列,因为它们仍然标记为 SPARE。所以这留给我一步,如何让这些驱动器再次被识别为此 RAID10 的各自功能成员,如果可能的话……
mdstat: md0:非活动 sdf[0](S) sdd[5](S) sdc[4](S) sdb[3](S) sda[2](S) sde[1](S) 23441325072 块超级 1.2 系统日志: 12 月 13 日 02:30:02 mWproduction rpc.mountd[2790]: 来自 10.10.1.124:993 的针对 /media/MainStore (/media/MainStore) 的经过身份验证的挂载请求 12 月 13 日 02:33:22 mWproduction 内核:[2238.437611] md:md0 已停止。 十二月 13 02:33:22 mWproduction 内核:[2238.437628] md:解除绑定 12 月 13 日 02:33:22 mWproduction 内核:[2238.456050] md:export_rdev(sdf) 12 月 13 日 02:33:22 mWproduction 内核:[2238.456131] md:解除绑定 12 月 13 日 02:33:22 mWproduction 内核:[2238.472043] md:export_rdev(sdd) 12 月 13 日 02:33:22 mWproduction 内核:[2238.472130] md:解除绑定 12 月 13 日 02:33:22 mWproduction 内核:[2238.472183] md:export_rdev(sdc) 12 月 13 日 02:33:22 mWproduction 内核:[2238.472233] md:解除绑定 12 月 13 日 02:33:22 mWproduction 内核:[2238.476282] md:export_rdev(sdb) 12 月 13 日 02:33:22 mWproduction 内核:[2238.476329] md:解除绑定 12 月 13 日 02:33:22 mWproduction 内核:[2238.476369] md:export_rdev(sda) 12 月 13 日 02:33:22 mWproduction 内核:[2238.476421] md:解除绑定 12 月 13 日 02:33:22 mWproduction 内核:[2238.480171] md:export_rdev(sde) 12 月 13 日 02:33:27 mWproduction 内核:[2243.889311] md:md0 已停止。 12 月 13 日 02:33:27 mWproduction 内核:[2243.890748] md:绑定 12 月 13 日 02:33:27 mWproduction 内核:[2243.890902] md:绑定 12 月 13 日 02:33:27 mWproduction 内核:[2243.891047] md:绑定 12 月 13 日 02:33:27 mWproduction 内核:[2243.891190] md:绑定 12 月 13 日 02:33:27 mWproduction 内核:[2243.891327] md:绑定 12 月 13 日 02:33:27 mWproduction 内核:[2243.891503] md:绑定 12 月 13 日 02:33:27 mWproduction 内核:[2243.891528] md:从阵列中踢出非新鲜的 sdd! 12 月 13 日 02:33:27 mWproduction 内核:[2243.891534] md:解除绑定 12 月 13 日 02:33:27 mWproduction 内核:[2243.904065] md:export_rdev(sdd) 12 月 13 日 02:33:27 mWproduction 内核:[2243.904079] md:从阵列中踢出非新鲜的 sdc! 12 月 13 日 02:33:27 mWproduction 内核:[2243.904090] md:解除绑定 12 月 13 日 02:33:27 mWproduction 内核:[2243.916138] md:export_rdev(sdc) 12 月 13 日 02:33:27 mWproduction 内核:[2243.916155] md:从阵列中踢出非新鲜的 sdb! 12 月 13 日 02:33:27 mWproduction 内核:[2243.916173] md:解除绑定 12 月 13 日 02:33:27 mWproduction 内核:[2243.928029] md:export_rdev(sdb) 12 月 13 日 02:33:27 mWproduction 内核:[2243.928039] md:从阵列中踢出非新鲜的 sda! 12 月 13 日 02:33:27 mWproduction 内核:[2243.928046] md:解除绑定 12 月 13 日 02:33:27 mWproduction 内核:[2243.944040] md:export_rdev(sda) 十二月 13 02:33:27 mWproduction 内核:[2243.962667] md: raid10 个性注册为 10 级 十二月 13 02:33:27 mWproduction 内核:[2243.963132] bio:在 1 处创建 slab 12 月 13 日 02:33:27 mWproduction 内核:[2243.967055] md/raid10:md0:没有足够的操作镜像。 12 月 13 日 02:33:27 mWproduction 内核:[2243.967264] md:pers->run() 失败... 12 月 13 日 02:33:35 mWproduction 内核:[2251.460454] md:md0 已停止。 12 月 13 日 02:33:35 mWproduction 内核:[2251.460465] md:解除绑定 12 月 13 日 02:33:35 mWproduction 内核:[2251.480313] md:export_rdev(sdf) 12 月 13 日 02:33:35 mWproduction 内核:[2251.480476] md:解除绑定 12 月 13 日 02:33:35 mWproduction 内核:[2251.498418] md:export_rdev(sde) 12 月 13 日 02:33:44 mWproduction 内核:[2260.905447] md:md0 已停止。 12 月 13 日 02:33:44 mWproduction 内核:[2260.911283] md:绑定 12 月 13 日 02:33:44 mWproduction 内核:[2260.911576] md:绑定 12 月 13 日 02:33:44 mWproduction 内核:[2260.911844] md:绑定 12 月 13 日 02:33:44 mWproduction 内核:[2260.912306] md:绑定 12 月 13 日 02:33:44 mWproduction 内核:[2260.912475] md:绑定 12 月 13 日 02:33:44 mWproduction 内核:[2260.912650] md:绑定 12 月 13 日 02:42:48 mWproduction shutdown[4245]: 关闭系统重启
答案1
问题已解决。有人建议我对所有驱动器执行 mdadm -E。结果显示,现在阵列已强制重新组装,除一个驱动器外,所有驱动器的阵列状态均为 AAAAAA。/dev/sde
其状态停留在 AA....(两个活动,四个不活动),这表明存在某种异常。
我重新组装了驱动器,没有--force
,省略了/dev/sde
,它表示需要,--run
因为它希望所有成员都存在。使用 --run,阵列正确启动,降级。现在我正在测试剩余的磁盘,仔细检查所有内容是否已备份,然后将其重新添加到阵列中。
非常感谢 irc.freenode.net #linux 和 #mdadm 的用户 spreeuw 和 mumixam 的宝贵意见。