几周前我使用 mdadm 设置了软件 RAID 1,由两块 2TB WD Red HDD 组成,作为备份介质(Debian Stable)。一切正常,我连接了所有东西,让它在重启后启动,使用 UUID,测试了它,这不是我的第一次尝试。
今天我确实正常关闭了服务器,更换了一些风扇。重启后 RAID 消失。
好的,让我们检查一下:
$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
unused devices: <none>
奇怪,/dev/md0 没有被组装。
# mdadm --assemble --scan --verbose
mdadm: looking for devices for /dev/md0
mdadm: No super block found on /dev/sdf (Expected magic a92b4efc, got 00000000)
mdadm: no RAID superblock on /dev/sdf
mdadm: No super block found on /dev/sde (Expected magic a92b4efc, got 00000000)
mdadm: no RAID superblock on /dev/sde
嗯,RAID 应该由 /dev/sde 和 /dev/sdf 组成。但是没有找到超级块?
# gdisk -l /dev/sde
GPT fdisk (gdisk) version 1.0.3
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sde: 3907029168 sectors, 1.8 TiB
Model: WDC WD20EFRX-68E
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): FE89DB52-F870-403A-9211-1E716ADD10A1
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 2048, last usable sector is 3907029134
Partitions will be aligned on 2048-sector boundaries
Total free space is 3907027087 sectors (1.8 TiB)
Number Start (sector) End (sector) Size Code Name
/dev/sdf 也是一样,发生了什么?分区去哪儿了?smartctl 说磁盘没有问题,而且两个磁盘同时发生故障的可能性也不大。
除了这种奇怪的行为之外,mdadm 服务没有运行,甚至被屏蔽了:
# systemctl status mdadm.service
● mdadm.service
Loaded: masked (Reason: Unit mdadm.service is masked.)
Active: inactive (dead)
这里会发生什么事?对我来说,比恢复数据更重要的是了解发生了什么,并确保这种情况不会再次发生。毕竟,还有什么比不可靠的 RAID 更糟糕呢?
答案1
我可以使用此建议解决该问题:https://unix.stackexchange.com/a/484532/429161
实际上,我破坏了 GPT 表并重新创建了阵列,这有效并使数据再次可访问。我仍然不确定发生了什么,但我不得不假设我在将整个磁盘添加到阵列时遇到了问题,其中前一个 GPT 未被清空:
另一个重要论点是,如果您使用整个磁盘设备,并且在将磁盘添加到曾经是 GPT 设备的 RAID 阵列时没有特别小心地擦除它们,则某些主板可能会删除您的 RAID 超级块。