如何将VirtualBox VM迁移到Linux中的KVM VM中
时间:2020-03-21 11:44:46 来源:igfitidea点击:
本教程介绍如何将VirtualBox VM迁移到Linux中的KVM VM中。
我们可能在VirtualBox上运行了一些重要的访客计算机。
我们可以轻松地将现有VirtualBox计算机轻松迁移到KVM的新KVM访客,而是如此所述。
将VirtualBox VM迁移到Linux中的KVM VM中
首先,关闭带有KVM和VirtualBox的所有VM的电源。
VirtualBox VM的默认磁盘镜像格式为VDI。
我们可以使用命令找到VirtualBox磁盘镜像及其位置列表:
$vboxmanage list hdds
或者,
$VBoxManage list hdds
示例输出:
UUID: ecfb6d5c-aa10-4ffc-b40c-b871f0404da8 Parent UUID: base State: created Type: normal (base) Location: /home/sk/VirtualBox VMs/CentOS 8 Server/CentOS 8 Server.vdi Storage format: VDI Capacity: 20480 MBytes Encryption: disabled UUID: 34a5709f-188c-4040-98f9-6093628c3d88 Parent UUID: base State: created Type: normal (base) Location: /home/sk/VirtualBox VMs/Ubuntu 20.04 Server/Ubuntu 20.04 Server.vdi Storage format: VDI Capacity: 20480 MBytes Encryption: disabled
如我们所见,我有两个VirtualBox VM。
现在我将使用"vboxManage"命令将CentOS 8计算机磁盘镜像转换为原始磁盘格式:
$vboxmanage clonehd --format RAW /home/sk/VirtualBox\ VMs/CentOS\ 8\ Server/CentOS\ 8\ Server.vdi CentOS_8_Server.img
或者,
$VBoxManage clonehd --format RAW /home/sk/VirtualBox\ VMs/CentOS\ 8\ Server/CentOS\ 8\ Server.vdi CentOS_8_Server.img
示例输出:
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Clone medium created in format 'RAW'. UUID: afff3db8-b460-4f68-9c02-0f5d0d766c8e
原始镜像太大而无法使用。
在我的情况下,原始镜像比Qcow2镜像大十倍。
$du -h CentOS_8_Server.img 21G CentOS_8_Server.img
因此,让我们将原始镜像格式转换为KVM磁盘格式:使用qemu-img命令压缩qcow2:
$qemu-img convert -f raw CentOS_8_Server.img -O qcow2 CentOS_8_Server.qcow2
完毕!我们已将VirtualBox磁盘镜像格式VDI转换为KVM镜像格式QCOW2.
检查QCOW2镜像的大小:
$du -h CentOS_8_Server.qcow2 2.1G CentOS_8_Server.qcow2
看到了吗?
Qcow2远小于原始镜像。
我们现在可以通过从命令行导入虚拟磁盘镜像文件或者使用像right-manager或者cockpitweb控制台等图形KVM管理应用程序来创建新的KVM实例。
故障排除
有时我们可能已删除虚拟磁盘,而不会从VirtualBox Media Manager正确释放它。
当我们尝试从相同的VDI文件创建新的内存镜像时,我们将收到类似"使用UUID已存在的硬盘"的错误。
要解决此问题,我们必须从VirtualBox中释放虚拟磁盘,然后重试转换镜像。