这是 Mint 21.1 x64 Linux 系统,多年来,该系统已将磁盘添加到 RAID 阵列中,直到现在我们拥有一个 10 个 3TB 的阵列和一个 5 个 6TB 的阵列。四个硬盘从阵列中掉落,每个阵列两个,显然是由于一个控制器发生故障。我们已经更换了控制器,但阵列并没有恢复功能。mdadm --assemble
报告无法启动任一阵列,磁盘不足(每个阵列有两个发生故障,我并不感到惊讶);mdadm --run
报告 I/O 错误(系统日志似乎表明这是因为它无法启动所有驱动器,但没有迹象表明它试图启动两个显然不正常的驱动器),但我仍然可以找到mdadm --examine
故障磁盘,它们看起来完全正常。以下是来自功能正常的驱动器的输出:
mdadm --examine /dev/sda
/dev/sda:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 829c0c49:033a810b:7f5bb415:913c91ed
Name : DataBackup:back (local to host DataBackup)
Creation Time : Mon Feb 15 13:43:15 2021
Raid Level : raid5
Raid Devices : 10
Avail Dev Size : 5860268976 sectors (2.73 TiB 3.00 TB)
Array Size : 26371206144 KiB (24.56 TiB 27.00 TB)
Used Dev Size : 5860268032 sectors (2.73 TiB 3.00 TB)
Data Offset : 264192 sectors
Super Offset : 8 sectors
Unused Space : before=264112 sectors, after=944 sectors
State : clean
Device UUID : 6e072616:2f7079b0:b336c1a7:f222c711
Internal Bitmap : 8 sectors from superblock
Update Time : Sun Apr 2 04:30:27 2023
Bad Block Log : 512 entries available at offset 24 sectors
Checksum : 2faf0b93 - correct
Events : 21397
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 9
Array State : AAAAAA..AA ('A' == active, '.' == missing, 'R' == replacing)
以下是故障驱动器的输出:
mdadm --examine /dev/sdk
/dev/sdk:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 829c0c49:033a810b:7f5bb415:913c91ed
Name : DataBackup:back (local to host DataBackup)
Creation Time : Mon Feb 15 13:43:15 2021
Raid Level : raid5
Raid Devices : 10
Avail Dev Size : 5860268976 sectors (2.73 TiB 3.00 TB)
Array Size : 26371206144 KiB (24.56 TiB 27.00 TB)
Used Dev Size : 5860268032 sectors (2.73 TiB 3.00 TB)
Data Offset : 264192 sectors
Super Offset : 8 sectors
Unused Space : before=264112 sectors, after=944 sectors
State : clean
Device UUID : d62b85bc:fb108c56:4710850c:477c0c06
Internal Bitmap : 8 sectors from superblock
Update Time : Sun Apr 2 04:27:31 2023
Bad Block Log : 512 entries available at offset 24 sectors
Checksum : d53202fe - correct
Events : 21392
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 6
Array State : AAAAAAAAAA ('A' == active, '.' == missing, 'R' == replacing)
编辑:这是第二个故障驱动器的检查报告;正如您所看到的,它在整个阵列脱机的同时发生故障。
# mdadm --examine /dev/sdl
/dev/sdl:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 829c0c49:033a810b:7f5bb415:913c91ed
Name : DataBackup:back (local to host DataBackup)
Creation Time : Mon Feb 15 13:43:15 2021
Raid Level : raid5
Raid Devices : 10
Avail Dev Size : 5860268976 sectors (2.73 TiB 3.00 TB)
Array Size : 26371206144 KiB (24.56 TiB 27.00 TB)
Used Dev Size : 5860268032 sectors (2.73 TiB 3.00 TB)
Data Offset : 264192 sectors
Super Offset : 8 sectors
Unused Space : before=264112 sectors, after=944 sectors
State : clean
Device UUID : 35ebf7d9:55148a4a:e190671d:6db1c2cf
Internal Bitmap : 8 sectors from superblock
Update Time : Sun Apr 2 04:27:31 2023
Bad Block Log : 512 entries available at offset 24 sectors
Checksum : c13b7b79 - correct
Events : 21392
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 7
Array State : AAAAAAAAAA ('A' == active, '.' == missing, 'R' == replacing)
第二个阵列(5x6TB)在两分钟后因两个磁盘故障而断线。该阵列上的两个故障磁盘和另一个阵列上的两个故障磁盘都连接到单个 4 端口 SATA 控制器卡,该卡当然现已被替换。
我发现最有趣的事情是,故障驱动器似乎报告自己处于活动状态,但mdadm
并不同意这一点。journalctl
似乎无法追溯到 4 月 2 日,所以我可能无法找出发生了什么。有人知道我可以做些什么来让这个野兽重新上线吗?
答案1
- 在尝试任何可能造成破坏的命令之前,请务必对阵列中的所有驱动器进行映像级备份
mdadm
。有了这些备份,您以后可以尝试在虚拟机外进行恢复。 - 检查
Update time
输出中出现故障的驱动器字段,以mdadm --examine /dev/sdX
确定驱动器从阵列中掉出时事件的确切顺序。有时第一个驱动器故障未被注意到,在尝试安装文件系统时,将该旧驱动器联机会导致灾难性故障。 mdadm --assemble --force /dev/mdX
在您的情况下,两个驱动器同时发生故障,因此使用或强制阵列联机应该是安全的mdadm --assemble --force --scan
。如果不是这种情况,您应该通过为 指定阵列成员驱动器,仅强制联机最后一个从阵列中掉下来的驱动器mdadm --assemble --force /dev/mdX /dev/sda /dev/sdb missing /dev/sdd
,请注意驱动器的顺序很重要。- 由于您只能使用明确的设备列表才能开始工作,因此
assemble
我认为您的阵列目前处于降级状态,/dev/sdh
标记为脱机。查看输出以cat /proc/mdstat
确定这一点,然后进行备份、排除硬件故障并完全重建阵列。