从 USB 外部 HDD 恢复旧的 HOME 目录数据错误:安装:未知文件系统类型“LVM2_member”,无法找到有效的文件系统超级块

从 USB 外部 HDD 恢复旧的 HOME 目录数据错误:安装:未知文件系统类型“LVM2_member”,无法找到有效的文件系统超级块

原因:/boot文件系统损坏:开机时两根可启动硬盘的连接线意外与主板断开,导致硬盘/boot文件系统崩溃。操作系统7可启动 2 x 320GB 整个硬盘由 LVM2 镜像(/dev/mapper/cl-root、/dev/mapper-cl-home 和 swap)在安装过程中。

我用 CD-ROM 启动,尝试修复损坏的根分区超级块,但没有成功。现在我把SATA->USB连接的驱动器连接到另一台CentOS 7服务器的USB端口,显示如下:

[root@localhost ~]# fdisk -l
.....  (**ignore the current server internal drivers info here**)
--- below is the external USB SATA 320GB corrupted /boot drive -----
......
Disk /dev/sdg: 320.1 GB, 320072933376 bytes, 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 33553920 bytes
Disk label type: dos
Disk identifier: 0xe9e67578
   Device Boot      Start         End      Blocks   Id  System
/dev/sdg1   *        2048     2099199     1048576   83  Linux
/dev/sdg2       606116385   625137344     9510480    7  HPFS/NTFS/exFAT
/dev/sdg3         2099200   606115839   302008320   8e  Linux LVM

我的主要目的是从崩溃的启动盘中恢复主目录数据。我正在寻求您对以下可以实现此目标之一的帮助:

  1. 从损坏的硬盘中复制数据。
  2. 修复超级块以像以前一样启动(为了使这个问题尽可能简短,如果您认为这比 1 更容易,请告诉我,所以我有一个更长的故障排除代码可以粘贴在这里);

以下是我在 1) 上所做的详细信息:

  1. 从崩溃的硬盘中复制数据:
[root@localhost ~]# lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0   2.7T  0 disk 
......(ignore the internal disk, below is the USB HDD)....

sdg           8:96   0 298.1G  0 disk 
├─sdg1        8:97   0     1G  0 part 
├─sdg2        8:98   0   9.1G  0 part
└─sdg3        8:99   0   288G  0 part 
sr0          11:0    1   4.1G  0 rom  

我将所有 3 个切片安装到安装点上:但 /dev/sdg3 失败并出现以下错误 <<-- 这是我的关键问题:如何安装此切片以查看 HOME 数据? (显然数据不在 sdg1 和 sdg2 上)。

[root@localhost ~]# mount /dev/sdg1 /media/1 
[root@localhost ~]# mount /dev/sdg2 /media/2
[root@localhost ~]# mount /dev/sdg3 /media/3
mount: unknown filesystem type 'LVM2_member'

[root@localhost ~]# df -k
Filesystem           1K-blocks      Used  Available Use% Mounted on
......
/dev/sdg2              9510476   8211864    1298612  87% /media/2
/dev/sdg1              1038336    300072     738264  29% /media/1

我尝试使用 testdisk 从 sdg3 转储数据,并输出文件 image.dd。然而,最后我发现这个 image.dd 文件仍然用 LVM2_member 包装:

[root@localhost home-gwu-old]# ls -l
total 302008328
-rw-r--r--. 1 root root 309256519680 Jan  5 19:34 image.dd

[root@localhost]# mount -o loop image.dd /media/3
mount: unknown filesystem type 'LVM2_member

任何您的帮助将不胜感激!戈登

答案1

通常,支持 LVM 的 Linux 系统可能会自动检测并激活它看到的任何 LVM 卷组,但在数据恢复情况下,您需要知道如何手动激活 VG/LV。

当处理健康状况不确定的 LVM 卷组时,将手册vgscan作为第一步应该不会有什么坏处。如果它返回错误消息,您就会知道卷组因某种原因而损坏。

vgscan 之后,您可以vgchange -ay --activationmode degraded先尝试。在大多数发行版中,这将是默认的自动激活,但您的发行版可能默认使用更严格的complete激活模式。

如果这不起作用,请尝试vgchange -ay --activationmode partial。如果此命令成功而上一个命令失败,请注意某些已激活的 LV 的一部分可能会丢失。

激活 VG 还会导致各个 LV 的设备节点出现。不过,在某些特殊情况下,您可能必须使用 显式创建设备节点vgscan --mknodes

如果 VG 成功激活(即使是部分激活),任何 LV 都应该在输出中可见lvs。之后,您可以像往常一样尝试使用/dev/VGname/LVname/dev/mapper/VGname-LVname命名方案安装 LV。

相关内容