0x01 前言

在使用esxi之前我是用KVM作为我的虚拟化平台,在购买R720后更换为esxi。而KVM平台上有些虚拟机需要做迁移,然后就有了这一篇文章。

过程非常简单,只需要几行命令,最后在esxi上创建虚拟机即可。

0x02 准备

首先需要准备好esxi主机;然后在KVM上找到需要迁移的虚拟机的镜像所在的绝对路径;最后需要找到esxi主机上数据存储的绝对路径,这一步需要通过SSH登入esxi主机,通过以下步骤打开esxi主机的SSH服务:

通过浏览器登入esxi主机,在“主机”标签中找到“操作”按钮在“服务”选项中打开SSH服务。

我的KVM和esxi相关路径如下:

在这里先在esxi主机里建立一个文件夹,文件夹的名称为虚拟机的名称:

使用以下命令可以查看KVM虚拟机的信息:

0x03 KVM 镜像

我的虚拟机镜像使用qcow2格式,进入虚拟机配置文件编辑模式:

定位到磁盘节点,在type节点中就是磁盘的格式:

在将KVM虚拟机镜像迁移至esxi之前需要先转换格式,先进入虚拟机镜像所在目录:

磁盘的格式需要转换两次,这一次是在KVM主机上进行,转换为vmdk格式。可是这个镜像还不能直接应用在esxi主机中,还需要在esxi主机转换一次。

在KVM主机中使用以下命令将虚拟机镜像进行转换:

为了防止镜像被拆分为2GB的小块,需要增加compat6的选项。

需要注意的是,转换过程中并不会出现进度条,完成转换后会出现一个新的镜像:

然后将转换后的镜像复制一份到esxi主机中,你可以使用sftp进行复制,也可以将镜像从KVM主机中下载到本地,再通过esxi的web界面上传:

0x04 esxi 镜像

接下来通过SSH登入esxi主机并进入相关目录:

在esxi主机里,使用vmkfstools命令进行格式转换:

到这里就完成对镜像的操作,如果不需要KVM的镜像,可以将其删除:

0x05 虚拟机

完成镜像的操作,我们需要手动建立虚拟机并指定镜像位置。通过正常的虚拟机建立流程建立虚拟机:

在自定义硬件步骤中可以将光驱、软驱和自动添加的磁盘删除,如果不需要SCSI驱动器,也可以一并删除。

然后添加一个新设备,选择“现有磁盘”,并选择上一步转换的磁盘:

完成后后类似这样:

完成后启动虚拟机即可:

0x06 结语

我有好几台KVM虚拟机都使用以上方法迁移至esxi平台,经过将近一年的运行,一切正常。