业务需要,把KVM虚拟机迁移到VM环境。由于没实践经验,不知是否可行,抱着试试的心态,简单快速查阅了一些参考资料,直接开干(一副干就完了的样子)。
1、查看KVM虚拟机列表
virsh list --all
2、关闭要迁移的虚机
virsh shutdown 虚拟机名称(可以输前面几个字母,按tab匹配。尤其是带符号名称,下同)
3、找到KVM虚机的虚拟磁盘文件,文件格式为.qcow2(低版本KVM可能是.dsk)
virsh domblklist 虚拟机名称
4、将虚拟磁盘文件转化成VMware的虚拟磁盘文件格式.VMDK(如果不进入目录,需要在转化命令里加路径)
qemu-img convert centos7.0.qcow2 -O vmdk centos7.0.new.vmdk
5、查看要迁移的KVM虚拟机配置
virsh dominfo 虚拟机名称
6、在VM环境里新建同样vCPU和vRAM数量的虚拟机
(新硬盘把它删掉,后面直接添加现在的硬盘)
7、将转化后的.vmdk文件转移到vm环境(最好是放在新建VM虚拟机的目录下)
8、VM开机,悲剧如期而至……
(天真的以为就这么简单搞定)
(当看到centos7进度条卡壳的时候,不妙的预感油然而生)
(果不其然,卡了3分钟左右,毫无意外地进入了紧急模式)
9、一通“病急乱投医”
关于“/dev/mapper/centos-root does not exist”,网上主要以下几招:
(1)vgchange -ay重新激活lvm卷
(实操结果无效,问题依然存在)
(2)更改内核引导参数
(借图。判断问题不在这,所以没实操)
(3)把VM上多余的虚拟硬件,网卡、CD/DVD驱动器等移除
来来回回折腾了多次未果,最后一招制胜。
10、更改VM硬盘类型(由原来默认的“SCSI控制器”改为IDE)
VM开机,centos7进度条干脆利落,爽利进入系统
(全剧终)