我丢失了数据吗?我可以将 MD 超级块从一个驱动器复制到另一个驱动器吗?

我丢失了数据吗?我可以将 MD 超级块从一个驱动器复制到另一个驱动器吗?

我朋友的 RAID5 丢失了两个磁盘 —— 一个显然在几个月前就坏了,但是另一个也掉线了,而且相信数据没有问题。

mdadm --examine我可以在两个幸存磁盘(的克隆)以及由此产生的(停止的)阵列上运行mdadm --detail。当我尝试检查第三个磁盘(的克隆)时,我收到“mdadm:在 /dev/sdc6 上未检测到 md 超级块”。

我如何才能绝对、绝对地确认 sdc6 包含数据,而不是浪费时间?我如何重新创建或克隆 MD 超级块?

我正在使用 Debian Buster。

我刚刚尝试了 --assemble --force,结果我的克隆上的数据丢失了。在它们重新映像时,这是来自另一个分区的数据,用于另一个具有相同症状的阵列(这个是 RAID1,因此我不关心 sdc2)。

# mdadm -E /dev/sda2
/dev/sda2:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 91910024:5720fb37:1542f8c1:fd297f0c
           Name : LS-QVL-EM727:1
  Creation Time : Wed Oct 31 15:01:52 2007
     Raid Level : raid1
   Raid Devices : 4

 Avail Dev Size : 9998336 (4.77 GiB 5.12 GB)
     Array Size : 4999156 (4.77 GiB 5.12 GB)
  Used Dev Size : 9998312 (4.77 GiB 5.12 GB)
    Data Offset : 2048 sectors
   Super Offset : 8 sectors
   Unused Space : before=1968 sectors, after=24 sectors
          State : clean
    Device UUID : 14cbe7a9:15c0a00d:f27af23f:a36c631c

    Update Time : Fri Apr  3 17:08:10 2020
       Checksum : 5bfc17c4 - correct
         Events : 1052191


   Device Role : Active device 2
   Array State : .AA. ('A' == active, '.' == missing, 'R' == replacing)

答案1

回想一下,驱动器字母可能会发生变化。阵列仅通过 UUID 组装。您无法复制超级块,因为设备 UUID 会有所不同。

最好使用 mdadm 和 smartmontools 设置监控,并在驱动器出现故障时向您发送电子邮件。

是否可以恢复数据取决于是否只有超级块受损。您可以尝试使用 --assume-clean 在克隆上创建阵列(写入新的超级块)并查看,但您需要确保所有驱动器都位于正确的插槽中,并且另一个损坏的驱动器设置为“丢失”。

相关内容