如何在具有坏磁盘的 RAID0 的 LVM 卷中挂载 XFS 文件系统?

如何在具有坏磁盘的 RAID0 的 LVM 卷中挂载 XFS 文件系统?

我有一个小型 NAS,带有两个 500GB 磁盘,采用 RAID0(JBOD)设置。(我知道,我知道,这是一个大错误……正如您将看到的……)

现在,其中一个磁盘开始出现故障(墨菲总是对的,不是吗......)

我从 NAS 中取出磁盘,将它们放在单独的 SATA 转 USB 盒中,然后将它们直接连接到 Linux 笔记本电脑进行检查。结果是磁盘#2 有坏扇区。

我的问题很明显:如何从故障磁盘恢复数据?

我用笔记本电脑组装了阵列mdadm,希望尽可能多地恢复数据(使用ddrescuefsck)。但现在我在安装卷时遇到错误:

$ mount /dev/md1_vg/md1vol1 /media/iarray -o ro  
mount: No data available

我也尝试过:

$ mount /dev/md126 /media/iarray -o ro
mount: unknown filesystem type 'LVM2_member'

这是设置(在笔记本电脑中):

$ lsblk 
NAME                        MAJ:MIN RM   SIZE RO TYPE   MOUNTPOINT
[...]
sdb                           8:16   0 465,8G  0 disk   
├─sdb1                        8:17   0     2G  0 part   
└─sdb2                        8:18   0 463,8G  0 part   
  └─md126                     9:126  0 927,6G  0 linear 
    └─md1_vg-md1vol1 (dm-0) 252:0    0 927,6G  0 lvm    
sdc                           8:32   0 465,8G  0 disk   
├─sdc1                        8:33   0     2G  0 part   
└─sdc2                        8:34   0 463,8G  0 part   
  └─md126                     9:126  0 927,6G  0 linear 
    └─md1_vg-md1vol1 (dm-0) 252:0    0 927,6G  0 lvm    
sr0                          11:0    1   6,7G  0 rom  

由于我计划使用ddrescue并且该工具使用块设备(而不是挂载点),所以我尝试了一下:

$ ddrescue -f -n /dev/md1_vg/md1vol1 lvmimage logfile
GNU ddrescue 1.17
Press Ctrl-C to interrupt
rescued:   498018 MB,  errsize:    498 GB,  current rate:        0 B/s
   ipos:   498018 MB,   errors:       1,    average rate:   25076 kB/s
   opos:   498018 MB,    time since last successful read:       1 s
Finished  

不是好消息:它只恢复了 498GB,并且有 498GB 错误。为什么会发生这种情况?它应该忽略错误并继续读取设备,不是吗?它似乎刚刚恢复了磁盘#1。问题是我必须安装整个卷才能查看文件系统,因为文件可能分散在两个磁盘之间。

现在我被困在这里了……我做错了什么?我是否应该尝试分别恢复每个磁盘分区,然后在 LVM 卷中组装?有人成功过这样的事情吗?

我需要恢复这个磁盘...它保存了我孩子 8 年的生活(照片和视频)、工作、大学、我妻子的工作...而我实在负担不起 2000 欧元的专业恢复服务费用。

请帮忙!

(同时,我花了 220 欧元购买了一对新的 WD-Red 2TB 硬盘,5 年保修 [不管这意味着什么],当然,是 RAID1 设置……我希望将我能恢复的任何东西恢复到这些硬盘中)

相关内容