XenServer VHD数据恢复

XenServer VHD数据恢复

我有从 XenCenter 导出的 VHD 格式的 VM 磁盘映像。我使用了设置中的压缩,不知道这是否有影响。如何在不创建 VM 的情况下访问文件?我有 VM 设置以及磁盘。Fdisk 可以读取映像,但它没有列出任何分区。我不关心系统本身,只关心文件。更值得注意的是 /etc 和 /home。

VM 是在 XenServer 6.2 中创建的(如果我没记错的话),它使用 LVM。后来,当我升级到 Debian 8 时,我也将 XenServer 升级到 6.5 并安装了 SP1。我必须注意,XenXerver 的硬盘驱动器已损坏,但在执行导出之前,客户操作系统运行正常。我非常肯定我拥有的图像是可用的。

到目前为止我已经尝试过:

  • 将虚拟机导入新主服务器(不同硬件)。导入失败。由于此操作大约需要 10 个小时,我不太想再尝试了。
  • 将虚拟机导入旧主机(相同硬件)
  • 将虚拟机导入新主机(相同硬件)
  • 将 VHD 转换为 VDI 并将其安装到 VirtualBox。失败,提示未找到可启动媒体。转换的原因是 VirtualBox 不允许直接安装 VHD。
  • 尝试安装新的虚拟机,我使用 virtualbox-fuse 来挂载它。但它说 VHD 是未知格式。
  • 尝试使用 losetup 传递映像的引导扇区,然后挂载它。但在挂载时找不到文件系统。至少是 ext4 或 ext2。
  • 尝试将 VHD 附加到 Windows 计算机。系统提示 VHD 已损坏或无法读取。

可能还有其他方法我试过了,但现在想不起来了。我现在完全无助。

答案1

您需要执行一些步骤来安装和读取映像。首先将 VHD 转换为 RAW

qemu-img 转换 -f vmdk -O raw myfile.vhd myfile.img

原始文件当然会保持完整。接下来,您必须安装该文件。为此,需要执行几个步骤

首先,将原始图像连接到环回设备。

losetup /dev/loop0 myfile.img

如果我理解正确的话,你正在使用逻辑卷。这意味着你不能直接挂载它,但你可以找到并激活每个卷组

lvs

vgchange-ay YourVG

如果 lvs 找不到你的卷,你必须更改 lvm 过滤器

/etc/lvm/lvm.conf

并将其设置为

过滤器 = [ “a/.*/” ]

完成后,您可以挂载逻辑卷。

挂载 /dev/mapper/lvol01 /mnt

希望这对您有帮助。

相关内容