恢复 MDADM 兼容的 RAID5 阵列

恢复 MDADM 兼容的 RAID5 阵列

我有四个来自 Buffalo Terastation NAS 的驱动器。我的理解是 Terastation 要么使用 mdadm 进行 RAID,要么至少与其兼容。

我已经获取了我的驱动器并使用 dd 克隆了每个驱动器,现在我正尝试从 dd 映像重新创建我的 raid。

如果我查看每张图片,我会得到以下信息:

[me@workstation ~]$ sudo fdisk -l /dev/loop0p1
磁盘 /dev/loop0p1:500 MiB,524288000 字节,1024000 个扇区
单位:扇区 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x73736572

设备启动开始结束扇区大小ID类型
/dev/loop0p1p1 1920221984 3736432267 1816210284 866G 72 未知
/dev/loop0p1p2 1936028192 3889681299 1953653108 931.6G 6c 未知
/dev/loop0p1p3 0 0 0 0B 0 空
/dev/loop0p1p4 27722122 27722568 447 223.5K 0 空

分区表条目不按磁盘顺序排列。


[me@workstation ~]$ sudo fdisk -l /dev/loop1p1
磁盘 /dev/loop1p1:500 MiB,524288000 字节,1024000 个扇区
单位:扇区 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x73736572

设备启动开始结束扇区大小ID类型
/dev/loop1p1p1 1920221984 3736432267 1816210284 866G 72 未知
/dev/loop1p1p2 1936028192 3889681299 1953653108 931.6G 6c 未知
/dev/loop1p1p3 0 0 0 0B 0 空
/dev/loop1p1p4 27722122 27722568 447 223.5K 0 空

分区表条目不按磁盘顺序排列。

[me@workstation ~]$ sudo fdisk -l /dev/loop2p1
磁盘 /dev/loop2p1:500 MiB,524288000 字节,1024000 个扇区
单位:扇区 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x73736572

设备启动开始结束扇区大小ID类型
/dev/loop2p1p1 1920221984 3736432267 1816210284 866G 72 未知
/dev/loop2p1p2 1936028192 3889681299 1953653108 931.6G 6c 未知
/dev/loop2p1p3 0 0 0 0B 0 空
/dev/loop2p1p4 27722122 27722568 447 223.5K 0 空

分区表条目不按磁盘顺序排列。

[me@workstation ~]$ sudo fdisk -l /dev/sda
磁盘 /dev/sda:465.8 GiB,500107862016 字节,976773168 个扇区
单位:扇区 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:dos
磁盘标识符:0x734de3f1

设备启动开始结束扇区大小ID类型
/dev/sda1 * 2048 1026047 1024000 500M 7 HPFS/NTFS/exFAT
/dev/sda2 1026048 976771071 975745024 465.3G 7 HPFS/NTFS/exFAT

如果我使用 mdadm 检查它们,我会得到以下结果:

[me@workstation ~]$ sudo mdadm --examine /dev/loop0p1
/dev/loop0p1:
   MBR 魔法 : aa55
分区[0]:1816210284 个扇区,位于 1920221984(类型 72)
分区[1] :1953653108 个扇区,位于 1936028192 (类型 6c)
分区[3] :27722122 处的 447 个扇区(类型 00)


[me@workstation ~]$ sudo mdadm --examine /dev/loop1p1
/dev/loop1p1:
   MBR 魔法 : aa55
分区[0]:1816210284 个扇区,位于 1920221984(类型 72)
分区[1] :1953653108 个扇区,位于 1936028192 (类型 6c)
分区[3] :27722122 处的 447 个扇区(类型 00)


[me@workstation ~]$ sudo mdadm --examine /dev/loop2p1
/dev/loop2p1:
   MBR 魔法 : aa55
分区[0]:1816210284 个扇区,位于 1920221984(类型 72)
分区[1] :1953653108 个扇区,位于 1936028192 (类型 6c)
分区[3] :27722122 处的 447 个扇区(类型 00)


[me@workstation ~]$ sudo mdadm --examine /dev/sda
/dev/sda:
   MBR 魔法 : aa55
分区[0]:1024000 个扇区,位于 2048(类型 07)
分区[1] :1026048 处的 975745024 个扇区(类型 07)

最后一个磁盘(/dev/sda)实际上不是一个图像,它是阵列中的原始物理磁盘,但我提供该信息是为了让您了解磁盘最初的样子。

该阵列采用 RAID5 配置,上面有一个 NTFS 分区。我绝不是 MDADM 专家,我只是试着摆弄它(希望)恢复我的数据。

不幸的是,我没有备份这些数据(吸取了教训)。话虽如此,但这个驱动器上的数据还是不错的,但如果丢失了,世界也不会灭亡。

所以我的问题是如何使用 MDADM 重新创建 RAID 阵列并再次访问我的数据?或者我可以吗?我完全被困住了吗?:) 任何帮助都将不胜感激。

谢谢你,布拉德


更新

在@DerfK 的帮助下,我现在看到以下内容:

[me@worstation ~]$ sudo mdadm --create /dev/md0 --assume-clean --level=5 --verbose --chunk=64 --raid-devices=4 --metadata=0.90 /dev/loop0 /dev/loop1 /dev/loop2 /dev/loop3
mdadm:布局默认为左对称
mdadm:/dev/loop0 似乎是 raid 阵列的一部分:
       级别=raid0 设备=0 ctime=1969 年 12 月 31 日星期三 19:00:00
mdadm:分区表存在于/dev/loop0上,但将会丢失或
       创建数组后毫无意义
mdadm:/dev/loop1 似乎是 raid 阵列的一部分:
       级别=raid0 设备=0 ctime=1969 年 12 月 31 日星期三 19:00:00
mdadm:分区表存在于/dev/loop1上,但将会丢失或
       创建数组后毫无意义
mdadm:/dev/loop2 似乎是 raid 阵列的一部分:
       级别=raid0 设备=0 ctime=1969 年 12 月 31 日星期三 19:00:00
mdadm:分区表存在于/dev/loop2 上,但将会丢失或
       创建数组后毫无意义
mdadm:/dev/loop3 似乎是 raid 阵列的一部分:
       级别=raid0 设备=0 ctime=1969 年 12 月 31 日星期三 19:00:00
mdadm:分区表存在于/dev/loop3上,但将会丢失或
       创建数组后毫无意义
mdadm:大小设置为 488386496K
mdadm:自动在大型数组上启用写意图位图
是否继续创建数组?n
mdadm:创建已中止。

我不确定为什么 MDADM 将其选择为 RAID0 而不是 RAID5。

我还能够将设备重新连接到 terastation 阵列,并且看到以下信息:

~# /sbin/mdadm --misc --detail /dev/md0
/dev/md0:
        版本:00.90.00
  创建时间:2004 年 11 月 15 日星期一 22:02:27
     突袭级别:raid1
     数组大小:385408(376.38 MiB 394.66 MB)
    设备大小:385408(376.38 MiB 394.66 MB)
   突袭设备:4
  设备总数:2
首选辅修科目 : 0
    持久性:超级块是持久的

    更新时间:2016年10月27日星期四15:45:24
          状态:活跃、降级、恢复
 活跃设备:2
工作装置:2
 故障设备:0
  备用设备:0

 重建状态:完成 36%

           UUID:255e2f38:69d2ef57:dd46a9d4:ed86dcee
         事件:0.3522

    编号 主要 次要 RaidDevice 状态
       0 0 0 0 故障已移除
       1 22 1 1 活动同步 /dev/hdc1
       2 0 0 2 故障已移除
       3 34 1 3 活动同步 /dev/hdg1

阵列中的一个磁盘发生故障,另一个磁盘部分发生故障。我的意思是,有时它可以读取,有时它不会读取。因此我使用 dd 对其进行映像处理,但... 不确定该 dd 映像是否有效 :(

这也是来自 terastation webUI 的屏幕截图:

Terastation 网页用户界面

相关内容