您是否在考虑从virtualbox换成kvm虚拟机管理程序?您最担心的问题之一就是在kvm中创建新的虚拟机以便一切重新开始,这可以说是一项艰巨的任务。

好消息是,您可以轻松地将vdi格式的virtualbox vm迁移到qcow2(即kvm的磁盘映像格式),不用创建新的kvm来宾计算机。

我们在本文中将概述如何将virtualbox vm迁移到linux中kvm vm的逐步过程。

第一步:列出现有的virtualbox映像

首先,确保关闭所有虚拟机。virtualbox来宾计算机以vdi磁盘格式而存在。接下来,列出现有的virtualbox虚拟机,如图所示。

$ vboxmanage list hdds 

$ vboxmanage list hdds 

从输出中,您可以看到我有2个虚拟磁盘映像:debian vdi映像和fedora vdi映像。

图1. 在命令行中列出virtualbox映像

第二步:将vdi映像转换成raw磁盘格式

下一步是将vdi映像转换成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 

图2. 将vdi映像转换成raw磁盘格式

您在进行调查时,会发现raw映像格式占用大量的磁盘空间。您可以使用如图所示的du命令来验证raw映像的大小。

$ du -h debian_10_server.img 

以我的情况为例,debian raw映像占用21g硬盘空间,这个空间相当大。稍后我们将把raw磁盘映像转换成kvm磁盘格式。

图3. 检查raw映像磁盘空间

第三步:将raw映像磁盘格式转换成kvm格式

最后,要迁移到kvm磁盘映像格式,请将raw映像转换成qcow2格式,这是kvm磁盘映像格式。

$ qemu-img convert -f raw debian_10_server.img -o qcow2 debian_10_server.qcow2qcow2 

qcow2磁盘映像比raw磁盘映像小巧得多。同样使用du命令验证这一点,如下所示:

$ du -h debian_10_server.qcow2 

图4. 检查qcow2映像的磁盘空间

之后,您可以在命令行上或使用kvm图形化窗口导入qcow2 kvm映像格式,并创建一个新的kvm虚拟机。