使用 mdadm 创建的 RAID1 阵列;发生电源故障时阵列正在重建。恢复后,阵列似乎已死机。
# cat /proc/mdstat
Personalities : [raid1]
md0 : inactive sdb1[2](S) sda1[3](S)
15627751424 blocks super 1.2
# mdadm --stop /dev/md0
mdadm: stopped /dev/md0
# mdadm --assemble /dev/md1 /dev/sda1 /dev/sdb1
mdadm: /dev/md1 assembled from 0 drives and 1 rebuilding - not enough to start the array.
我不知道为什么它显示 0 个驱动器 - 我预计 1 个驱动器正在重建,但另一个驱动器应该没问题。我真的不想意外地做任何破坏性的事情 - 我应该怎么做才能使阵列恢复到可以对其运行 fsck 的状态?
/dev/sda1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x3
Array UUID : c4ea2289:c63bc8ce:e6fe5806:5bebe020
Name : ******:0 (local to host ******)
Creation Time : Thu Aug 20 20:48:53 2020
Raid Level : raid1
Raid Devices : 2
Avail Dev Size : 15627718656 (7451.88 GiB 8001.39 GB)
Array Size : 7813859328 (7451.88 GiB 8001.39 GB)
Data Offset : 264192 sectors
Super Offset : 8 sectors
Recovery Offset : 7331083264 sectors
Unused Space : before=264112 sectors, after=0 sectors
State : clean
Device UUID : ae984a41:f3e421f4:f10e1fac:d7955178
Internal Bitmap : 8 sectors from superblock
Update Time : Sat Oct 31 17:13:53 2020
Bad Block Log : 512 entries available at offset 40 sectors
Checksum : 4be47968 - correct
Events : 1079809
Device Role : Active device 0
Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdb1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : c4ea2289:c63bc8ce:e6fe5806:5bebe020
Name : ******:0 (local to host ******)
Creation Time : Thu Aug 20 20:48:53 2020
Raid Level : raid1
Raid Devices : 2
Avail Dev Size : 15627784192 (7451.91 GiB 8001.43 GB)
Array Size : 7813859328 (7451.88 GiB 8001.39 GB)
Used Dev Size : 15627718656 (7451.88 GiB 8001.39 GB)
Data Offset : 264192 sectors
Super Offset : 8 sectors
Unused Space : before=264112 sectors, after=65536 sectors
State : active
Device UUID : 0abf70e2:7e0e43ca:a22548a2:ef87e9c0
Internal Bitmap : 8 sectors from superblock
Update Time : Sat Oct 31 17:13:31 2020
Bad Block Log : 512 entries available at offset 40 sectors
Checksum : 4cf65df4 - correct
Events : 1079799
Device Role : Active device 1
Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
查看带有 xxd 的驱动器,两个驱动器似乎都还包含数据。这是我可以自己合理处理的事情吗,还是该找数据恢复公司了?
编辑:Wazoox 的答案有效。
# mdadm --assemble --scan --force
mdadm: forcing event count in /dev/sda1(1) from 1079799 upto 1079809
mdadm: /dev/md0 has been started with 1 drive (out of 2) and 1 rebuilding.
# cat /proc/mdstat
Personalities : [raid1]
md0 : active (auto-read-only) raid1 sdb1[3] sda1[2]
7813859328 blocks super 1.2 [2/1] [_U]
bitmap: 59/59 pages [236KB], 65536KB chunk
答案1
两个驱动器均被标记为“备用”。停止阵列,然后尝试使用扫描选项重新组装它:
mdadm --stop /dev/md0
mdadm --assemble --scan
如果不起作用,请尝试
mdadm --stop /dev/md0
mdadm --assemble --scan --force
检查一切是否恢复正常。另外请报告 /proc/mdstat 之后的情况。
如果要以防万一,请事先断开其中一个驱动器,然后仅使用一个驱动器启动阵列。两个驱动器之间只有 10 个事件的差异,因此它们可能都正常,但需要快速进行 fsck。