是否可以将数据从 Intel PERC H710 适配器 RAID 控制器磁盘恢复到另一台带有 SAS 控制器的服务器

是否可以将数据从 Intel PERC H710 适配器 RAID 控制器磁盘恢复到另一台带有 SAS 控制器的服务器

我有一台 Dell T420 服务器,配有 PERC H710 适配器 RAID 控制器。我有一个带有两个硬盘的 RAID 1。另一个磁盘位于同一个控制器中,没有 RAID,仅用于备份。

该服务器的主板现在已损坏,由于网卡硬件故障,无法启动。

我可以访问另一台带有 SAS 控制器的旧 Dell PowerEdge 2900。

我正在尝试将硬盘连接到旧服务器以恢复服务器的备份或文件系统,但尚未成功。

我尝试连接备份磁盘(Seagate Barracuda 2TB 磁盘),但在使用实时 Ubuntu 时它没有出现。

当我尝试使用其中一个 RAID 1 磁盘(Dell Constellation 4T 磁盘)时,它出现了,但是我无法安装该磁盘。

    sudo fdisk /dev/sdb

Welcome to fdisk (util-linux 2.37.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p
Disk /dev/sdb: 2 TiB, 2199023254528 bytes, 4294967294 sectors
Disk model: ST4000NM0033-9ZM
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: 0x00000000

Device     Boot Start        End    Sectors Size Id Type
/dev/sdb1           1 4294967295 4294967295   2T ee GPT

sudo mount /dev/sdb1 /media/backup/
mount: /media/backup: special device /dev/sdb1 does not exist.

sudo mdadm --assemble --run /dev/md0 /dev/sdb1
mdadm: cannot open device /dev/sdb1: No such file or directory
mdadm: /dev/sdb1 has no superblock - assembly aborted

ls /dev/mapper/*
/dev/mapper/control

没有 PERC H710 控制器是否可以读取数据?

答案1

LSI/Avago/Broadcom MegaRAID SAS 设备可以很好地识别彼此的 RAID。PERC H710 就是这样一款带有 LSI 芯片的重新命名控制器。根据我的经验,我们曾经将一对设备从较旧的第 8 代 Dell PERC(不记得具体是哪个控制器)转移到某个较新的 LSI 卡上,该卡可以很好地识别 RAID 并从中启动操作系统,就像什么都没发生一样。与您的情况唯一的区别是新卡有更新LSI 芯片比旧 PERC 好。试试看。

此外,MegaRAID 使用 SNIA DDF 磁盘元数据,该元数据是公开定义的,并且被 Linux 软件 RAID MD 驱动程序识别。您甚至可以使用 mdadm 创建这样的 RAID。

你所看到的fdisk所谓的保护性MBR. 它只意味着一件事:有一个谷氨酰胺磷酸酶设备上的分区表。如评论中所述,DDF 元数据位于设备末尾,因此通常位于末尾的第二个 GPT 放错了位置,因此 GPT 似乎已损坏,并且没有分区被识别。它也没有将其作为阵列启动,因为标准行为是“不要启动降级阵列,除非它在关机期间已被标记为降级”。

因此,如果您使用以下方式连接两个驱动器羟丙基甲基纤维素(无 RAID 功能,允许对驱动器进行原始访问)到 Linux 机器,即使是实时的,它也必须识别并从中创建“普通”软件 RAID。对它们两个重复此操作,然后检查/proc/mdstat

另一种方法是,如果我们知道虚拟磁盘的确切大小,我们可以设置一个循环设备在具有大小限制的硬盘之上,因此循环中的第二个 GPT 将出现在原位,并且它将找到其分区。可以猜测:LSI 的强制大小是 128MiB 或 1GiB,但为此我需要查看 4T 磁盘的确切大小。

答案2

大多数现代 Linux 发行版都可以识别这些“硬件” RAID 卷。

在理想情况下,可以将所有回收的磁盘连接到具有 SATA/SAS 控制器的机器,从 USB 闪存或 CD 启动 Linux,然后导航至:

  • 以只读方式重建 RAID 阵列

只读部分很重要,因为可能的重建错误可能会毁坏数据的唯一幸存副本。

如果可行的话,可以在进行任何 RAID 重建尝试之前将整个磁盘的内容备份到其他地方。

  • 在重建的 RAID 上安装文件系统(也是只读的)。Linux 拥有目前使用的大多数文件系统的驱动程序。其中一些不完整,但所有驱动程序都可用于读取文件。

  • 通过网络或连接到同一台机器的其他存储设备复制重要数据。

  • 发誓如果可以避免的话不再使用“硬件 RAID”。

因为没有“硬件 RAID”这样的东西。RAID 层始终以软件方式运行 - 无论是在专用控制器中还是(如 H710 的情况)在主机 CPU 上作为编写不太好的设备驱动程序运行。

相关内容