是否“可能”将虚拟机转移到金属上?

是否“可能”将虚拟机转移到金属上?

如何获取虚拟机并使其在机器上运行?

答案1

一般来说,是的。如果您的虚拟机在本机磁盘或分区上运行,则可能就像将引导加载程序指向它一样简单。否则,您需要复制数据。对于某些VM格式,有一些工具可以将VM磁盘挂载到主机上(例如挂载)。对于其他格式,获取数据的最简单方法是将虚拟机视为任何旧机器并在其中启动 Live CD。

那么您的操作系统必须能够在金属上启动。 Unix 安装通常是相当硬件独立的(只要您使用相同的处理器类型)。您需要有正确的驱动程序,才能/etc/fstab正确配置引导加载程序。参见示例将 Linux 安装移动到新计算机

答案2

这取决于您用于虚拟化的内容。 Qemu 允许您将操作系统安装到硬盘上的分区,您可以启动它或将其加载到 Qemu 中。

如果您的虚拟机像 VirtualBox 一样安装到文件系统上的文件中,则可以将其转换为可以安装到硬盘上的磁盘映像,但这比 Qemu 可以为您做的工作更多。对于 VirtualBox,没有任何简单的方法可以同步磁盘分区和 VDE 文件,以便您可以在它们之间来回交换。

答案3

正如其他人所暗示的那样,存储机制最重要。一些虚拟化产品,尤其是桌面虚拟化产品,以不透明的格式存储数据。在这种情况下,您需要从磁盘映像中提取文件系统。每个虚拟化产品都有不同的、有时甚至是专有的方法来执行此操作。

然而,如果您正在构建虚拟化数据中心,那么您实际上可以计划制作可以轻松迁移到虚拟化环境或从虚拟化环境迁移出的虚拟机。在这种情况下,您最好使用 SAN(例如 iSCSI),将原始块存储分配给虚拟机。

例如,我个人创建了 iSCSI LUN,它在 Linux 下显示为块设备。然后,我使用 Xen 启动这些机器。我可以轻松关闭这些计算机,然后使用 gPXE 直接从 iSCSI 卷启动计算机。这可能不是您想要做的,但这是可能的!

然而,不要忘记的是,一旦您的存储可访问,操作系统本身就需要配置为查找其设备。例如,在 /etc/fstab 中使用 UUID 会有所帮助。如果从 SAN 引导,您将需要正确构建的 initrd。

相关内容