我有一个长期存在的 raid1 阵列,该阵列有两个成员磁盘,当系统关闭并随后重新启动时,其中一个 raid1 磁盘的电源连接器意外断开,导致该阵列性能下降。在启动时,INTEL Rapid Storage Tech BIOS 报告断开连接的驱动器已从 raid 阵列中移除。系统运行的是 5.4 Linux 内核。该阵列最初于 2011 年使用两个相同的 2Tb 西部数据磁盘创建。raid 阵列由整个磁盘 sda 和 sdb 构成,每个磁盘都有 3 个相同的主分区和一个扩展的 ext 分区。需要强调的是,分区是 ext,而不是 raid 标识的分区。最初安装为 sdb 的磁盘几年前出现故障,被一个大小相似但不完全相同的 Seagate 驱动器取代。几年前安装该驱动器时,raid 镜像阵列已自动重建,并且一直正常运行,直到出现此问题。
据报道,使用操作系统工具(mdadm、/proc 数据)后,sdb 现已从 raid 阵列中删除,尽管根据 smartools 测试,sdb 在物理上存在且没有缺陷。
**proc/mdstat 显示两个 raid 阵列,但只有一个正在使用:
个性:[raid1] [线性] [多路径] [raid0] [raid6] [raid5] [raid4] [raid10] md126 :活动 raid1 sda[0] 1953511424 块超级外部:/md127/0 [2/1] [U_] md127 :非活动 sda[1](S) sdb[0](S) 6320 块超级外部:imsm 未使用的设备:无
尝试将 sdb 重新添加回 /dev/md126 失败,如下所示:
mdadm /dev/md126 --重新添加/dev/sdb mdadm:无法将磁盘添加到“成员”阵列,请在父容器上执行此操作
据我所知,父容器是 /dev/md127 或 /dev/md/imsm0(相互链接),但尝试将设备重新添加到父容器也会失败。
mdadm /dev/md127 --重新添加 /dev/sdb mdadm:无法打开 /dev/sdb:设备或资源繁忙
目前 /dev/md126p5 在系统上被挂载为 /home。根据系统,md126 包含在 md127 中。我不清楚这种架构是如何建立的,也不清楚它的必要性,这似乎没有必要那么复杂。我对 raid 阵列的理解过去和现在都很薄弱,我从未有意创建过这种结构。我记得,在几年前真正的磁盘驱动器故障之前,该阵列最初被引用为 /dev/md0。
如果所有其他方法都失败了,我有完整的数据备份,但我认为使用正确的 mdadm 命令序列应该可以轻松解决此问题。操作系统/运行的引导数据不在此 raid 阵列上。但是,最初构建时,冗余引导数据被放置在分区 /dev/sda1 和 /dev/sdb1 (/dev/md126p1) 上,以备紧急情况使用,但系统从 /dev/sdc1 而不是 raid 成员启动。我可以停止处于非活动状态的 /dev/md127(即使它似乎包含 /dev/md126)吗?然后我是否将 /dev/sdb 标记为失败,然后在 /dev/md126 中重新添加它?
如果我理解正确,md127 包含非活动“备用”,它们在物理上与 md126 中组装的驱动器相同。
感谢您的帮助。
答案1
执行摘要:使用 Intel Option ROM(而不是 mdadm)来恢复 raid1 阵列。
最终,我无法使用 mdadm 来修复此问题。我尝试了其他地方找到的许多针对 raid1 修复的建议解决方案。这些包括停止所有阵列、使我知道已从阵列中删除的设备失效,然后尝试重新添加它。我还尝试将 raid1 阵列缩小到单个磁盘,希望我可以通过添加已删除的磁盘来扩大它。缩小阵列是不可能的。在确保我的数据备份完成后,我重新启动了系统,并在启动过程中进入了 Intel 选项 rom 配置例程。我从 raid1 阵列中删除了已删除的成员磁盘。然后选项 rom 提示我将磁盘重新添加到阵列中,我选择了刚刚从阵列中删除的驱动器。然后选项 rom 指示阵列重建已开始,并将在操作系统控制下继续。重建目前正在进行中,/proc/mdstat 的内容当前如下:
个性:[raid1] [线性] [多路径] [raid0] [raid6] [raid5] [raid4] [raid10] md126 :活动 raid1 sda[1] sdb[0] 1953511424 块超级外部:/md127/0 [2/1] [U_] [====>................] 恢复 = 21.2% (415849728/1953511424) 完成=271.3分钟 速度=94440K/秒md127 :非活动 sda1 sdb0 6320 块超级外部:imsm
未使用的设备:
mdadm -Q -D --detail /dev/md126 /dev/md126:/dev/md126: 容器:/dev/md/imsm0,成员 0 突袭级别:raid1 数组大小:1953511424(1863.01 GiB 2000.40 GB) 已使用设备大小:1953511424 (1863.01 GiB 2000.40 GB) 突袭设备:2 设备总数:2
State : active, degraded, recovering Active Devices : 1
工作装置:2 故障设备:0 备用设备:1
一致性策略:重新同步
Rebuild Status : 21% complete UUID : e45fff5d:bd2a6b2a:ad2ac1da:3192f320 Number Major Minor RaidDevice State 1 8 0 0 active sync /dev/sda 0 8 16 1 spare rebuilding /dev/sdb