重启后 MDADM 突袭“丢失”

重启后 MDADM 突袭“丢失”

我现在有点害怕,所以我希望你能解决我的问题!

几周前,我买了一个新的 2TB 硬盘,并决定在我的 HTPC(硬盘sdbsdcsde)上设置带有 MDADM 的软件 RAID 5。因此,我快速在 Google 上搜索并找到了本教程

然后我继续按照说明操作,创建一个新阵列,观察/proc/mdstat状态等。几个小时后我的阵列就完成了!处处充满欢乐,一切都很好,我的文件可以轻松访问。

但!!

昨天,我不得不关闭 HTPC 来更换风扇。重启后,我的 RAID 无法安装。由于我对 mdadm 还不是很熟悉,所以我完全不知所措。

当我执行时fdisk -l,结果如下:

xxxxx@HTPC:~$ sudo fdisk -l /dev/sdb /dev/sdc /dev/sde
Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: FD6454FC-BD66-4AB5-8970-28CF6A25D840

Device     Start        End    Sectors  Size Type
/dev/sdb1   2048 3907028991 3907026944  1.8T Linux RAID


Disk /dev/sdc: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: F94D03A1-D7BE-416C-8336-75F1F47D2FD1

Device     Start        End    Sectors  Size Type
/dev/sdc1   2048 3907029134 3907027087  1.8T Linux filesystem


Disk /dev/sde: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

我真是太困惑了!出于某种原因,3 个驱动器中不仅有 2 个有分区,而且这些分区是我按照教程首先删除的。/dev/sdb1显示为“Linux RAID”的原因是按照超级用户的另一个解决方案后 (新的 mdadm RAID 在重启后消失) 没有成功。

执行后的结果如下mdadm --assemble

xxxxx@HTPC:/etc/mdadm$ sudo mdadm --assemble --scan -v
mdadm: looking for devices for /dev/md0
mdadm: No super block found on /dev/dm-1 (Expected magic a92b4efc, got 00000000)
mdadm: no RAID superblock on /dev/dm-1
mdadm: No super block found on /dev/dm-0 (Expected magic a92b4efc, got 0000040e)
mdadm: no RAID superblock on /dev/dm-0
mdadm: cannot open device /dev/sr0: No medium found
mdadm: No super block found on /dev/sdd1 (Expected magic a92b4efc, got 00000401)
mdadm: no RAID superblock on /dev/sdd1
mdadm: No super block found on /dev/sdd (Expected magic a92b4efc, got d07f4513)
mdadm: no RAID superblock on /dev/sdd
mdadm: No super block found on /dev/sdc1 (Expected magic a92b4efc, got 00000401)
mdadm: no RAID superblock on /dev/sdc1
mdadm: No super block found on /dev/sdc (Expected magic a92b4efc, got 00000000)
mdadm: no RAID superblock on /dev/sdc
mdadm: No super block found on /dev/sdb1 (Expected magic a92b4efc, got 00000401)
mdadm: no RAID superblock on /dev/sdb1
mdadm: No super block found on /dev/sdb (Expected magic a92b4efc, got 00000000)
mdadm: no RAID superblock on /dev/sdb
mdadm: No super block found on /dev/sda1 (Expected magic a92b4efc, got f18558c3)
mdadm: no RAID superblock on /dev/sda1
mdadm: No super block found on /dev/sda (Expected magic a92b4efc, got 70ce7eb3)
mdadm: no RAID superblock on /dev/sda
mdadm: /dev/sde is identified as a member of /dev/md0, slot 2.
mdadm: no uptodate device for slot 0 of /dev/md0
mdadm: no uptodate device for slot 1 of /dev/md0
mdadm: added /dev/sde to /dev/md0 as 2
mdadm: /dev/md0 assembled from 1 drive - not enough to start the array.

我已经用 smartmontools 检查过,所有驱动器都“健康”。有什么办法可以挽救我的数据吗?经过一番研究,似乎教程不是最好的,但是……见鬼,一切都正常工作了一段时间。

更新: 纯属运气,我在 bash_history 中找到了用于创建数组的确切命令!

sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sde

也许,只是也许,我应该再次运行它,以便我的 RAID 恢复活力?我唯一关心的是恢复这些驱动器上的“一些”数据。之后我会进行空白设置。

答案1

好吧,事实证明,最后的欢呼声中,我试图重新运行我之前用来构建阵列的“创建”命令......猜猜谁拿回了数据!

假设我要备份所有好东西并从头开始重新启动我的阵列。感谢大家的帮助!

答案2

不幸的是,您的 RAID 阵列已丢失。我了解到,在您尝试了另一种解决方案后,您提供了 fdisk -l 输出,但不幸的是,该解决方案擦除了其中一个硬盘。然而,另一个硬盘也处于不良状态。创建 RAID 阵列后,您应该始终生成 mdadm.conf 文件,但这不是关键点,因为 mdadm 应该能够从超级块开始重建 RAID 阵列,而三个硬盘中的两个硬盘上缺少超级块。我不太清楚发生了什么,但我怀疑您只是因为缺少 mdadm.conf 而需要重新组装它,而您开始发出疯狂的命令,不幸的是,这些命令破坏了您的阵列

答案3

按照教程操作后,我遇到了同样的问题。我已经将重要数据复制到硬盘上并删除了备份,因此犹豫是否要尝试重新发出 mdadm create 命令的解决方案。首先,我使用备份了最重要的文件,testdisk但体验很糟糕,因为它在复制文件时一直陷入无限循环。完成此操作后,我重新发出了创建命令:

sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb

然后重新安装:

sudo mount /dev/md0 /mnt/md0

我恢复了所有数据。

相关内容