我使用 mdadm 设置了 6 个驱动器的 raid 6。我注意到有一个驱动器 (b) 出现故障,根本没有响应。确保所有驱动器都正确连接后,我停止了 raid,卸载并关闭了计算机。重新启动时,mdadm 无法重新创建阵列。故障驱动器 (b) 恢复正常并正常工作,甚至被 mdadm 检测到,但是其他两个驱动器 (d 和 f) 未被 mdadm 检测到,尽管它们之前都运行正常。它们现在显示为“Micsrosoft 保留”。各种状态命令输出,
输出:fdisk -l /dev/sda /dev/sdd
Disk /dev/sda: 1,8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x9ac08c50
Device Boot Start End Sectors Size Id Type
/dev/sda1 1 4294967295 4294967295 2T ee GPT
Disk /dev/sdd: 1,8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: D599B9D7-1648-11E7-9C1F-74D02B2AF0E1
Device Start End Sectors Size Type
/dev/sdd1 34 262177 262144 128M Microsoft reserved
输出:mdadm -E /dev/sda /dev/sdd
/dev/sda:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 0773fa22:7212c43a:5ce8bee0:6669d442
Name : server:0
Creation Time : Sat Sep 15 07:48:01 2018
Raid Level : raid6
Raid Devices : 6
Avail Dev Size : 3906764976 (1862.89 GiB 2000.26 GB)
Array Size : 7813529600 (7451.56 GiB 8001.05 GB)
Used Dev Size : 3906764800 (1862.89 GiB 2000.26 GB)
Data Offset : 264192 sectors
Super Offset : 8 sectors
Unused Space : before=264112 sectors, after=176 sectors
State : clean
Device UUID : 9acb67e2:e0c688d0:092e1803:d422b511
Internal Bitmap : 8 sectors from superblock
Update Time : Tue Jan 8 00:16:14 2019
Bad Block Log : 512 entries available at offset 16 sectors
Checksum : bf1d961a - correct
Events : 32944
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 0
Array State : A.AAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdd:
MBR Magic : aa55
Partition[0] : 4294967295 sectors at 1 (type ee)
输出:mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Raid Level : raid0
Total Devices : 4
Persistence : Superblock is persistent
State : inactive
Working Devices : 4
Name : server:0
UUID : 0773fa22:7212c43a:5ce8bee0:6669d442
Events : 32944
Number Major Minor RaidDevice
- 8 64 - /dev/sde
- 8 32 - /dev/sdc
- 8 0 - /dev/sda
- 8 16 - /dev/sdb
尝试使用失败来组装阵列mdadm --assemble
,
mdadm: Cannot assemble mbr metadata on /dev/sdd
mdadm: /dev/sdd has no superblock - assembly aborted
有任何想法吗?
答案1
好的,通过检查,我得出结论,它被检测为“Microsoft 保留”分区的原因是因为这两个驱动器不知何故实际上不再具有 mdadm 超级块。输出xxd -s 0x1000 -l 0x200 /dev/sdd
确认 d 和 f 上都只有零。不知道这是怎么发生的。似乎每次我最终启动 Windows 时都会发生这种情况。我现在已经删除了驱动器上存在的所有旧分区表。这有望阻止 Windows 覆盖超级块。
大多关注RAID 恢复
我最终重新创建了阵列。运行以下命令mdadm --create --assume-clean --level=6 --raid-devices=6 /dev/md0 /dev/sda missing /dev/sdc /dev/sdd /dev/sde /dev/sdf
有效,在以只读方式安装后检查mount -o ro /dev/md0 /mnt
数据似乎都在那里。
不幸的是,这会重置事件计数等,意味着重新添加 /dev/sdb 不起作用,因此现在从头开始重新创建。