我有一个 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
其中一个设备出现故障,而不是 badblocks 程序愉快地继续在它上面挂起。如果我运行同步命令,这也会挂起。首先,我认为这不是 RAID 1 设备的标准行为。如果其中一个驱动器出现故障,它应该仍然能够毫无问题地写入两个驱动器组成的虚拟设备。
因此,我继续强制使驱动器失效并尝试将其卸下。我可以毫无问题地将驱动器设置为故障(但是 IO 操作仍然挂起)。我无法从它说它正忙的突袭中完全移除该设备。我的假设是,如果我可以将它完全踢出突袭,IO 将继续,但这只是一个假设,我确实认为我正在处理各种错误。
这里到底发生了什么?由于错误,我是否处于无法恢复的位置?
该系统正在运行内核 2.6.18,因此它并不是全新的,但我认为鉴于软件突袭已经存在了很长时间,这样的问题不会发生。
任何见解都非常感谢。
mdadm --detail /dev/md13
/dev/md13:
Run Code Online (Sandbox Code Playgroud)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 持久性:超级块是持久性的
Run Code Online (Sandbox Code Playgroud)Update …