如何访问 ESXi 主机中的 VMDK 文件的内容?

如何访问 ESXi 主机中的 VMDK 文件的内容?

我们有许多基于旧 HP ProLiant Gen1 刀片的计算机,我们将摆脱它们。无法重新安装授权软件,而且支持要求非常严格,我们决定按原样虚拟化系统。我们知道软件仍会工作;它基于 Oracle,特别是当这个系统坏了时,我们会将硬盘移到另一个类似的刀片中来支持这个系统的使用寿命;这已经做过几次了,但不可能永远这样。问题是我们将使用 VMWare,但操作系统是 i686,因此 VMWare 自己的转换器无法使用。

解决方法是制作虚拟机并将硬盘克隆到其虚拟磁盘中。虽然从 Live CD 启动原始计算机和虚拟机并通过ddSSH 发送流并将其写入虚拟机中的磁盘不是问题,但我想知道是否可以以更有效的方式完成此操作。

在 Linux 中,我可以通过以下方式写入 vmdk 文件而无需运行 VM:

qemu-img create -f vmdk hdd.vmdk
modprobe nbd
qemu-nbd -c /dev/nbd0 hdd.vmdk

现在,我只需将流转储到此/dev/nbd0设备上,它就会在hdd.vmdk文件中发生。然后我可以将其与 nbd 断开连接并连接到虚拟机。

可以在 ESXi 主机(而不是 VM)中执行相同操作吗?我可以使用vmkfstools并创建虚拟硬盘映像,并且在主机中,唯一缺少的部分是这个 nbd 东西,或者任何可以替代它的东西sshdd

答案1

我不会直接编写 VMDK。您可以直接启动虚拟机并运行任何您想要的东西。

  1. 使用您选择的磁盘克隆工具(简单 dd、acronis、Macrium Reflect)克隆操作系统。
  2. 在新的 VMWare 主机上创建 VM
  3. 使用 Live CD/Acronis 启动 CD 等启动 VM
  4. 恢复操作系统

答案2

使用 VMware 转换器。这是将物理机转换为虚拟机的官方工具。

相关内容