jxnxsdengyu
作者jxnxsdengyu课题专家组·2020-04-08 17:17
系统工程师·江西农信

技术技巧---迁移Vmware虚拟机到KVM

字数 1178阅读 8984评论 0赞 1

摘要

本文以手动迁移vmware workstationsuse linux虚拟机到KVM为案例,讲述迁移vmware中虚拟机到基于KVM的虚拟化平台的方法。

准备工作

1、vmware虚拟机

(1)如果虚拟机上安装了 VMware Tools,以 root 用户运行 vmware-uninstall-tools.pl 卸载它。因为 KVM 的虚拟机不支持 VMware Tools 里面的虚拟驱动。

(2)关闭虚拟机

2、KVM宿主机

(1)确认已安装虚拟化相关软件包,有qemu-img命令工具。

(2)确认宿主机有足够的系统资源,包括cpu,内存,磁盘空间等。

vmdk合并

迁移步骤

1、 检查vmware虚拟机的镜像文件,如果虚拟机的镜像存储在多个 vmdk 文件中,则需要在迁移前合并他们。合并方式如下:

vmware-vdiskmanager.exe -r "<待合并vmdk文件>" -t 0 "<合并后vmdk文件>"          //待合并vmdk选择与虚拟机名相同且没包含序号的,合并后vmdk名可自定义

2、上传合并后vmdk文件到kvm宿主机,使用如下命令转换为qcow2格式

qemu-img convert -f vmdk -O qcow2  <合并后vmdk文件>     // 转换后文件以 “.img”结尾,文件名可自定义

3、导入转换后的img镜像,并手动编辑虚拟机配置文件,确保kvm虚拟机配置与原vmware配置大致相同或类似,包括 CPU 和 内存大小、网络类型、MAC 地址等。

4、设置完成后保存, KVM 虚拟机将自动生成xml配置文件 ,并且 virt-manager 可以管理此迁移的虚拟机了。启动虚拟机,手动配置虚拟机系统以适应新的硬件。

问题处理

1、当迁移后虚拟机出现找不到硬盘分区错误

由于vmware磁盘类型大多为scsi,分区名在 /etc/fstab 被硬编码为 /dev/sda,而kvm使用virtio磁盘分区名为 /dev/vda,直接使用 virtio 磁盘驱动会导致系统找不到分区而无法启动的错误,可通过调整硬盘格式为IDE解决。

2、迁移后原网络无法使用

由于迁移前后mac地址和网卡类型不一致等原因,需要重新修改网络配置才能使用网络。suse系统可使用yast,rhel可使用setup自动配置网络。

3、迁移后虚拟机无法正常使用图形界面

由于迁移前后显示驱动变更,因此原驱动安装无法使用。如有图形界面使用需求,可通过软件包管理工具卸载并重新安装图形界面安装包方式尝试解决。

其他

本文主要讲述手动方式迁移虚拟机,当虚拟机使用vmware ESX/ESXI 进行管理时可通过virt-v2v工具实现自动化迁移,通过工具实现自动化迁移能简化迁移步骤并减少迁移后出现的问题。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广