我不得不(暂时)减少我的 RAID5 阵列,以便有五个磁盘中的四个可用。情况变得更糟,因为我的系统在写入过程中崩溃了。重新启动后,系统想要启动“后台重建”,就像它通常对完整的阵列所做的那样,以重建丢失的冗余。由于阵列已降级,因此此重建不会启动(请参阅https://raid.wiki.kernel.org/index.php/Tweaking,_tuning_and_troubleshooting#Autodetection最后一段关于重建的内容)。
我想让我的阵列再次活跃起来,但是mdadm——运行/dev/md127产生输入/输出错误(与系统日志下的“后台重建”消息相同)。我知道我丢失了一些 MB 的数据 - 但如何才能让我的阵列恢复工作?
/dev/md127:
Version : 1.2
Raid Level : raid5
Used Dev Size : 1360148480 (1297.14 GiB 1392.79 GB)
Raid Devices : 5
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Fri Jun 14 10:54:22 2013
State : active, degraded, Not Started
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : mars:RA
UUID : 05c6d9f1:87571dc6:ee0d9f6b:c0b0c320
Events : 159201
Number Major Minor RaidDevice State
7 8 18 0 active sync /dev/sdb2
8 8 66 1 active sync /dev/sde2
2 0 0 2 removed
5 8 34 3 active sync /dev/sdc2
9 8 50 4 active sync /dev/sdd2
答案1
我让它再次工作了(经过一些额外的肾上腺素)!
我安装了内核源代码并阅读了documentation/md.txt。我在/sys/block/md127/md/resync_start下发现了一些有趣的设置,它存储了重新同步过程的位置。它被设置为“0“这意味着应该开始重新同步,但由于阵列状态下降,因此从未发生过。我仔细检查了我的其他阵列是否有值”没有任何“(因为这些值从某些内核版本变为其他版本)。我只是回应了“没有任何“在那里,令人惊讶的是一切都恢复正常了。我将启动 fsck,由于我的偏执,我拥有文件系统中存储的每个文件的 md5-sums 和 par2 文件(我在开始这个关键修改之前创建了它们)。
呼...太接近了 ;-)