关于云原生:传统虚拟机如何快捷的迁移至云原生

31次阅读

共计 3315 个字符,预计需要花费 9 分钟才能阅读完成。

秒云容器云平台以构建云原生对立技术平台为外围指标,反对在一个平台上对立治理虚拟机与容器,构建虚拟化与容器化对立技术平台,并能充分利用云原生的性能及个性,帮忙依赖基于虚拟机利用的团队逐渐对利用进行容器化革新迁徙。那么,如何将传统虚拟机迁徙到秒云云原生对立技术平台呢?

本文将着重介绍如何将 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.1
lazy refcounts: false

创立新的虚拟机

一、导入虚拟机镜像

将虚拟机磁盘 qcow2 文件 win2k19-C.qcow2 以虚拟机镜像的形式上传到云平台镜像仓库,上传形式有两种:前端页面上传和后端命令行上传。

1、前端页面上传

登录秒云容器云平台切换到我的项目视角,进入镜像治理菜单,上传镜像抉择导入虚拟机镜像,抉择本地 qcow2 文件上传。
![
图片
图片](/img/bVcY9gx)

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 中即可。

正文完
 0