请关注本头条号,每天坚持更新原创干货技术文章。

如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习

1. 前言

您是否考虑过虚拟机从VirtualBox切换到KVM?

kvm虚拟机的安装(如何把Virtualbox虚拟机迁移到KVM)(1)

如何把Virtualbox虚拟机迁移到KVM

如果大量VirtualBox虚拟需要迁移到KVM,这是一项艰巨的任务。

好消息是,您可以很容易地将VDI格式的VirtualBox虚拟机磁盘迁移到qcow2,这是KVM的虚拟磁盘格式,而不是创建新的KVM虚拟机。

在本教程中,我们将逐步介绍如何将VirtualBox虚拟机迁移到Linux下的KVM虚拟化平台。

kvm虚拟机的安装(如何把Virtualbox虚拟机迁移到KVM)(2)

从VirtualBox向KVM迁移

最终成果:把virtualbox的虚拟机迁移到KVM平台。

部署前提条件:

组件介绍:

2: 步骤1: 列出现有的VirtualBox虚拟磁盘文件

首先,确保所有虚拟机都已关机。Virtualbox虚拟机以VDI磁盘格式存档。接下来,继续并列出现有的VirtualBox虚拟机,如下所示。

VBoxManagelisthdds

或者

vboxmanagelisthdds

从输出信息中可以看到,我有一个虚拟磁盘映像—ubuntu.vdi映像,这是我做的Ubuntu 20.04.1 Server版的虚拟机。

kvm虚拟机的安装(如何把Virtualbox虚拟机迁移到KVM)(3)

列出现有的VirtualBox虚拟磁盘文件

图形化界面的信息如下 :

kvm虚拟机的安装(如何把Virtualbox虚拟机迁移到KVM)(4)

从VirtualBox向KVM迁移

可以看到,该虚拟硬盘的容量为10G。

3: 步骤2:将VDI镜像转换为raw磁盘格式

如果想要把virtualbox的磁盘格式迁移到KVM,那么下一步是就是将VDI磁盘格式转换为RAW磁盘格式。执行以下命令。

VBoxManageclonehd--formatRAW/home/test/ubuntu.vdiubuntu_2004.img

或者

vboxmanageclonehd--formatRAW/home/test/ubuntu.vdiubuntu_2004.img

输出以下信息:

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

kvm虚拟机的安装(如何把Virtualbox虚拟机迁移到KVM)(5)

正在把virtualbox的磁盘格式转换到KVM

不到1分钟时间,已经转换完成。转换成功后,您会注意到RAW镜像格式占用了大量的磁盘空间。

>raw格式的有如下几个特点:原始的裸格式,可以通过dd命令直接创建(因该特性,其可以做为其他磁盘格式的中转格式);读取速度最快(但也占用空间大);能够直接改变空间大小;能够被宿主机直接挂载 。不过相对于其他格式raw也有缺点 ,如不支持snapshot快照、不支持磁盘加缩、AES加密等。>

您可以使用du命令来查看RAW虚拟磁盘文件的大小。

du-shubuntu_2004.img

11Gubuntu_2004.img

显示该硬盘文件大小为11G

在我演示的例子中,ubuntu_2004.img虚拟磁盘文件占用11G硬盘空间,这是相当大的空间。接下来我们将会把RAW镜像转换为KVM磁盘格式:qcow2。

4: 步骤3: 转换RAW镜像磁盘格式为KVM格式

以下命令就是把img格式转换到qcow2格式。

sudoqemu-imgconvert-frawubuntu_2004.img-Oqcow2/var/lib/libvirt/images/ubuntu_2004.qcow2

稍等一会,转换完成,没有输出信息表示操作成功。

查看qcow2磁盘格式的大小。

du-h/var/lib/libvirt/images/ubuntu_2004.qcow2

输出结果如下:

5.8G/var/lib/libvirt/images/ubuntu_2004.qcow2

可以看到,qcow2磁盘镜像占用的硬盘空间远远小于RAW磁盘镜像文件,这里显示的是5.8G。

格式转换到这里结束,接下来您可以使用KVM套件启动debian操作系统。

5: 步骤4: 测试:启动KVM虚拟机

根据前面的信息,我的虚拟机的配置应该是:操作系统:Ubuntu 20.04内存:1024M硬盘:10G

接下来我们试试启动KVM虚拟机:

virt-install--name=ubuntu20_04--ram=1024--vcpus=2--os-type=linux--os-variant=ubuntu20.04--networkdefault,model=virtio--graphics=vnc,password=linuxrumen.com,port=5910,listen=0.0.0.0--noautoconsole--accelerate--import--diskpath=/var/lib/libvirt/images/ubuntu_2004.qcow2,device=disk,format=qcow2,bus=virtio,cache=writeback,size=10

输出以下结果:

WARNINGRequestedmemory1024MiBislessthantherecommended2048MiBforOSubuntu20.04

开始安装域创建完成。

kvm虚拟机的安装(如何把Virtualbox虚拟机迁移到KVM)(6)

新创建的KVM虚拟机

我们使用VNC连接刚刚创建的虚拟机:

sudoqemu-imgconvert-frawubuntu_2004.img-Oqcow2/var/lib/libvirt/images/ubuntu_2004.qcow2

kvm虚拟机的安装(如何把Virtualbox虚拟机迁移到KVM)(7)

查看新创建的KVM虚拟机

可以看到,虚拟机已经成功启动,使用的是KVM虚拟化技术。

6. 总结

通过本文,您应该学会了如何把Virtualbox虚拟机迁移到KVM环境了吧?主要是是通过qemu-img工具完成转换,注意的是,无论是RAW格式(后缀为img),还是qcow2格式,KVM都可以直接使用。但是RAW格式和qcow2格式还是比较明显的区别的,您知道这2种格式的区别吗?欢迎留言。

本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:https://www.linuxrumen.com/rmxx/1855.html

点击了解更多,快速查看更多的技术文章列表。

,