无法在我的 NAS 上安装 raid,试图挽救数据,我应该如何进行?

And*_*y E 4 raid mdadm mount

一个简短的背景故事:我的 Synology NAS 上发生了一些事情,显然是一个有问题的邮件服务器程序,随更新一起提供,使设备无法看到我拥有的 2x3TB 驱动器。经过大量搜索并尝试了许多不同的解决方案后,我最终让驱动器再次出现,但它们无法安装。经过努力,我想,因为它被设置为镜像,我可以格式化一个驱动器,安装它并在另一个驱动器上执行恢复。

编辑:我错了,试图挂载错误的磁盘(不习惯与raid搞混),但是,我仍然无法挂载正确的磁盘, sda

$ 文件 -s /dev/sda1
/dev/sda1:数据
$ mount -t ext4 /dev/sda1 /mnt               
安装:在 /mnt 上安装 /dev/sda1 失败:参数无效

更多信息

$ cat /proc/mounts
rootfs / rootfs rw 0 0
/dev/root / ext4 rw,relatime,barrier=0,journal_checksum,data=ordered 0 0
/proc /proc proc rw,relatime 0 0
/tmp /tmp tmpfs rw,relatime 0 0
无 /dev/pts devpts rw,relatime,gid=4,mode=620 0 0
/sys /sys sysfs rw,relatime 0 0
/proc/bus/usb /proc/bus/usb usbfs rw,relatime 0 0
/dev/vg1000/lv /volume1 ext4 rw,relatime,synoacl,barrier=0,journal_checksum,data=writeback,jqfmt=vfsv0,usrjquota=aquota.user,grpjquota=aquota.group 0 0
/dev/vg1000/lv /opt ext4 rw,relatime,synoacl,barrier=0,journal_checksum,data=writeback,jqfmt=vfsv0,usrjquota=aquota.user,grpjquota=aquota.group 0 0

der*_*ert 8

这是从聊天疑难解答会话中总结的尝试。

设置结果是物理磁盘 -> mdraid raid1 -> LVM。所以有几个层次需要处理。旧设置(由于不幸的先前恢复工作)不可用。

但是,NAS gui 已被用于在不同的磁盘上创建另一个卷,幸运的是,GUI 以完全相同的方式创建了新卷。因此可以从新磁盘中发现设置:

  • mdadm -E new-disk 在 mdraid 层(2048 个扇区)下提供数据开头的偏移量。
  • dmsetup table 提供逻辑卷的起始块(相对于物理卷的起始)(1152 个扇区)
  • ext4 卷的第三个扇区中有一个幻数 (0x53ef)。使用ddxxd,我们验证了幻数存在于我们试图从中恢复数据的磁盘上的那个偏移处。

有了 ext4 文件系统的起始扇区,您可以使用只读循环设备来恢复数据:

# losetup /dev/loop0 -o $((512*(1152+2048))) -r /dev/sda1
# mount -text4 -o ro /dev/loop0 /mnt
Run Code Online (Sandbox Code Playgroud)

然后把它复制下来。