如何在 Linux 系统中的 KVM 上使用 Virtualbox VM

KVM 被定义为基于内核的虚拟机,它是在 Linux 上运行其他操作系统的绝佳安排。 它使用 Hypervisor 模拟器来创建虚拟机环境。 它需要硬件级别的配置。 KVM 与机器的处理器、系统内存、硬盘、网络和主机参数一起工作。 在 Linux 中,使用 KVM 是安全可靠的。 您可以管理存储管理、RAM 使用和电源。 甚至您也可以通过 KVM 在 Linux 上调度虚拟机。 现在,当您想要将 Virtualbox 虚拟机管理程序 VM 迁移并使用到 KVM 系统时,您可能会想到的问题是重新启动它,这既费时又复杂。

Linux 中 KVM 上的 Virtualbox VM

KVM 是用 C 编程语言编写的,并且是在 GNU GPL 隐私许可下构建的。 它是一个很棒的管理程序,可以将新操作系统安装到您的主机 PC 中。 但是,如果您需要将所有之前配置的 Virtualbox VM 收集到 KVM 中,这可能会让人头疼,因为 Virtual box 使用 .vdi 映像在主机 PC 中加载操作系统。 另一方面,KVM 使用 QCOW2 扩展文件包在主机服务器/机器中执行操作系统。

幸运的是,由于 Virtualbox 和 KVM 都是开源的虚拟化工具,所以在 Linux 中,您可以将所有 Virtualbox VM 转移到 KVM 中。

如果您不熟悉 Linux 中的虚拟化,请阅读我描述的安装虚拟机管理程序以在 Linux 中运行 VM 的方法的帖子。 在这篇文章中,连同 Virtualbox 和 KVM 的基本概念和基础,我们将了解如何在 Linux 中的 KVM 上使用 Virtualbox VM。

方法一:将VM镜像转为KVM镜像

在这个方法中,我们将看到在 Linux 上列出 VM 镜像的方法,看看系统中有多少个镜像。 稍后,我们会将镜像转换为 KVM 镜像文件。 这些步骤非常简单明了。 让我们开始吧。

第 1 步:列出现有的 VirtualBox 图片

因为这篇文章描述了使用方法 VirtualBox VM 到 KVM,所以假设我们的系统已经有 Oracle 的 VirtualBox 已安装并且 Linux 机器上有一个活动的 VM。 一开始,我们可以从找出机器上是否有可用的 VM 开始。 您可以运行下面给出的任何以下命令来列出 VirtualBox 安装在 Linux 系统上的虚拟机。

$ VBoxManage list hdds
$ vboxmanage list hdds

第 2 步:将 VDI 图像转换为 RAW 磁盘格式

现在,我们将选择一个 Virtualbox VM 并将其转换为原始图像格式。 正如我之前提到的, VirtualBox 使用 .vdi 格式,因此我们现在将 .vdi 图像转换为原始图像格式。 根据您的 CPU、RAM 和硬件配置,转换过程可能需要一段时间才能完成。

请运行下面给出的任何以下命令进行转换。 该命令将首先从硬盘中选择 VM 映像,然后将文件转换为 RAW 映像。

$ VBoxManage clonehd --format RAW /home/james/VirtualBox VMs/debian/debian.vdi debian_10_Server.img
$ vboxmanage clonehd --format RAW /home/james/VirtualBox VMs/debian/debian.vdi debian_10_Server.img

由于 VM 文件转换通常需要很长时间和资源,所以在您完成转换后,请验证 RAW 图像文件并确保整个文件已成功转换。

$ du -h debian_10_Server.img

第 3 步:将 RAW 映像磁盘格式转换为 KVM 格式

一旦我们将 VM 映像转换为原始映像,现在是时候将原始映像转换为 KVM 的 qcow2 映像格式了。 转换会将您一直使用的所有数据保存到您的 VirtualBox 虚拟机。 请运行下面提供的以下命令以转换为 KVM 映像文件。

$ qemu-img convert -f raw debian_10_Server.img -O qcow2 debian_10_Server.qcow2

完成转换后,通过检查 Linux 机器上的文件大小和详细信息来调整过程。

$ du -h debian_10_Server.qcow2

方法二:DVI转Qcow2

转换 VirtualBox VM DVI 映像到 KVM Qcow2 映像格式是另一种方便且强大的迁移方法 VirtualBox VM 映像到 Linux KVM。 首先,我们需要安装 virt 我们的 Linux 发行版上的 manager(虚拟机管理器)工具,以便我们可以执行图像转换任务。

请根据您的发行版在终端 shell 上运行以下命令以安装 Virtual Machine Manager 工具。

  • 在 Red Hat 上安装 Virtual Machine Manager/Fedora Linux

DVI转Qcow2

sudo dnf -y install qemu-kvm libvirt virt-install bridge-utils
sudo yum -y install qemu-kvm libvirt virt-install bridge-utils
  • 在 Ubuntu/Debian Linux 上获取虚拟机管理器
sudo apt-get -y install qemu-kvm libvirt-bin virtinst bridge-utils

一旦 Virtual Machine Manager 安装结束,您现在可以浏览 VirtualBox 用于克隆当前 VM 映像的 VM 目录。

cd ~
cd VirtualBox VMs/ubuntu-server/

在终端 shell 上运行以下命令以导出当前 VirtualBox 文件系统上的 VM DVI 图像。

VBoxManage clonehd box-disk1.vmdk ubuntu.vdi --format vdi

当上一个任务结束时,您现在可以运行下面提供的以下 QEMU 命令,将 DVI 图像转换为 Qcow2 图像,以便在 KVM Linux 上使用。

qemu-img convert -f vdi -O qcow2 ubuntu.vdi ubuntu.qcow2

转换完成后,您现在可以在 KVM Linux 上使用 qcow2 映像文件。 转换完成后,您可以尝试将虚拟机运行到 KVM 中。 如果出现问题,请重新启动计算机,然后重试。

最后的话

虚拟机和 KVM 都可以在所有主要的 Linux 系统上顺利运行。 因此,您可能需要从一个管理程序迁移到另一个管理程序,而不会丢失任何以前配置的数据和用户详细信息。 此外,KVM 确实提供了一些 Virtualbox 没有的附加功能。 在整篇文章中,我描述了如何在 Linux 中的 KVM 上使用 Virtualbox VM。

如果您觉得这篇文章有用且内容丰富,请与您的朋友和 Linux 社区分享。 您也可以在评论部分写下您对这篇文章的看法。