秒云容器云平台以构建云原生对立技术平台为外围指标,反对在一个平台上对立治理虚拟机与容器,构建虚拟化与容器化对立技术平台,并能充分利用云原生的性能及个性,帮忙依赖基于虚拟机利用的团队逐渐对利用进行容器化革新迁徙。那么,如何将传统虚拟机迁徙到秒云云原生对立技术平台呢?
本文将着重介绍如何将VMWare ESXi和KVM虚拟机迁徙到秒云容器云平台。
以Windows 2019 Server虚拟机为例。
导出虚拟机文件
在VMWare ESXi平台上,磁盘文件默认格局为pre-allocated,后缀名为vmdk。pre-allocated格局镜像依赖2个文件“xxxx.vmdk”和“xxxx-flat.vmdk”(“xxxx.vmdk”是配置文件,“xxxx-flat.vmdk”是理论数据文件)。
对于KVM来说,虚拟机磁盘文件格式个别为qcow2,可略过下文的“转换镜像格局”步骤。
通过SSH登录到VMWare ESXi平台所在宿主机,找到虚拟机数据寄存目录,虚拟机名称为win2k19-test1,目录则为:/vmfs/volumes/localstorage/win2k19-test1,将目录中的win2k19-test1.vmdk、win2k19-test1-flat.vmdk导出。
[root@node vmware]# ll
-rw------- 1 root root 214748364800 Apr 14 20:31 win2k19-test1-flat.vmdk
-rw------- 1 root root 580 Apr 14 20:31 win2k19-test1.vmdk
将vmdk文件转换为qcow2格局
一、装置qemu-img命令行
qemu-img反对在Windows和Linux上部署,也能够应用具备qemu-img的docker镜像部署在容器中。
1、本地为Windows操作系统:
- 下载qemu-img安装包至本地,下载地址:https://qemu.weilnetz.de/w64/。
- 双击setup文件装置qemu-img。
- 配置环境变量,以装置门路为“D:\Program Files\qemu”为例,在零碎变量局部找到Path,并单击“编辑”。在“变量值”里,增加“D:\Program Files\qemu”,不同的变量值之间以“;”分隔。
- 验证装置胜利,在“cmd”窗口输出qemu-img --help,如回显信息中呈现qemu-img工具的版本信息,即示意装置胜利。
2、本地为Linux操作系统
- Ubuntu、Debian系列操作系统,请执行如下命令:
- apt install qemu-img
- CentOS、Red Hat、Oracle系列操作系统,请执行如下命令:
- yum install qemu-img
- SUSE、openSUSE系列操作系统,请执行如下命令:
- zypper install qemu-img
- 执行如下命令,验证装置胜利。
- qemu-img -v
如回显信息中呈现qemu-img工具的版本信息和帮忙手册,即示意装置胜利。
3、应用docker容器化部署
- 在容器云平台上,应用具备qemu-img命令的镜像,一键部署利用。
- 验证qemu-img命令:通过容器终端进入到利用的容器中,执行如下命令,进行验证:qemu-img -v
如回显信息中呈现qemu-img工具的版本信息和帮忙手册,即示意装置胜利。
二、转换镜像格局
将vmdk文件拷贝到具备qemu-img命令的机器上或者容器中,进入vmdk文件寄存目录下,执行如下命令将系统盘vmdk文件转换为qcow2格局
qemu-img convert -p -f vmdk -O qcow2 win2k19-test1.vmdk win2k19-C.qcow2
[root@node vmware]# qemu-img convert -p -f vmdk -O qcow2 win2k19-test1.vmdk win2k19-C.qcow2
(100.00/100%)
上述命令中各参数对应的阐明如下:
-p标识转换的进度条。
-f前面为源镜像格局。
-O(必须是大写)前面的参数为转换进去的镜像格局 + 源镜像文件名称 + 指标文件名称。
转换实现后,指标文件会呈现在源镜像文件所在的目录下。
[root@node vmware]# ll
-rw-r--r-- 1 root root 11649024000 Apr 16 14:39 win2k19-C.qcow2
-rw------- 1 root root 214748364800 Apr 14 20:31 win2k19-test1-flat.vmdk
-rw------- 1 root root 580 Apr 14 20:31 win2k19-test1.vmdk
能够执行上面命令,查看qcow2文件详细信息
qemu-img info win2k19-C.qcow2
[root@node vmware]# qemu-img info win2k19-C.qcow2
image: win2k19-C.qcow2
file format: qcow2
virtual size: 200G (214748364800 bytes)
disk size: 11G
cluster_size: 65536
Format specific information:compat: 1.1lazy refcounts: false
创立新的虚拟机
一、导入虚拟机镜像
将虚拟机磁盘qcow2文件win2k19-C.qcow2以虚拟机镜像的形式上传到云平台镜像仓库,上传形式有两种:前端页面上传和后端命令行上传。
1、前端页面上传
登录秒云容器云平台切换到我的项目视角,进入镜像治理菜单,上传镜像抉择导入虚拟机镜像,抉择本地qcow2文件上传。

2、后端my命令行上传
- SSH登录到秒云容器云治理节点上,将虚拟机qcow2磁盘文件拷贝到此服务器上。
后端登录平台,例如云平台拜访地址为:https:// 10.221.161.10,则执行如下命令进行登录:
my login https:// 10.221.161.10 -u admin -p admin my命令行为,秒云容器云特有二进制命令行,离线安装包中带有此命令行文件 -u 用户名 -p 用户明码
上传虚拟机镜像,镜像文件为win2k19-C.qcow2,上传到云平台后的镜像仓库为win2k19,镜像标签为qcow2,则执行如下命令镜像上传:
my image load-vm win2k19-C.qcow2 win2k19: qcow2
二、创立虚拟机
1、镜像抉择上传的磁盘镜像win2k19:qcow2
2、开启VNC和Spice
3、CPU、内存可自定义
qcow2曾经装置了virtio驱动的虚拟机
1) 长久化系统盘,总线类型抉择virtio,容量需大于等于之前虚拟机磁盘容量。
qcow2未装置了virtio驱动的虚拟机
1) 长久化系统盘,总线类型抉择sata,容量需大于等于之前虚拟机磁盘容量; 2) 挂载内置virtio驱动,总线类型抉择sata; 3) 减少一块长期数据盘, 总线类型抉择virtio。
对于曾经装置virtio驱动的qcow2镜像,虚构失常运行后,可略过前面的步骤,间接进行迁徙完整性验证即可。未装置virtio驱动的qcow2镜像可持续上面步骤,装置virtio驱动,使零碎磁盘性能最佳。
虚拟机失常运行后,通过VNC登录到虚拟机中,更新虚拟机零碎硬件驱动,蕴含磁盘驱动,驱动源抉择virtio驱动。
驱动更新实现后,可在磁盘治理页面看到数据盘信息,阐明virtio磁盘驱动曾经胜利装置。
进入虚拟机列表页面,编辑以后虚拟机,将虚拟机系统盘总线类型批改为virtio,并且删除删除长期数据盘和virtio驱动,保留并重启虚拟机。
虚拟机迁徙完整性确认
虚拟机失常运行后,通过VNC登录虚拟机,查看确认虚拟机零碎运行状态和利用运行状况。
至此,即可将VMWare ESX和KVM平台上的虚拟机胜利迁徙到秒云容器云平台上。
对于具备数据盘的虚拟机,可将数据盘导出后,应用qemu-img命令将磁盘文件转换为raw格局,并且重命名为disk.img,而后将此文件挂载到虚拟机数据盘的PVC中即可。