请选择 进入手机版 | 继续访问电脑版

网硕互联技术交流社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1212|回复: 0

Xen 迁移到kvm (vhd 转换 qcow2)

[复制链接]

4

主题

4

帖子

42

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
42
发表于 2022-7-29 15:51:36 | 显示全部楼层 |阅读模式

随着Linux虚拟化KVM技术的成熟,考虑将xen上的虚拟机迁移到kvm架构上进行管理。



首先,为了保证虚拟机迁移后的数据完整性,操作前,请将虚拟机关机。


介绍两种办法进行迁移还原办法:
方法一:
将xen上虚拟机的硬盘文件vhd到迁移到kvm中,然后通过qemu-img 进行转换为qcow2格式。
1,xen上虚拟机的vhd硬盘文件以uuid命名,在此介绍一种办法快速定位对应vhd硬盘文件
2,在xen上进入到 /var/xapi 目录下,将state.db 下载到本地
state.db 中记录了虚拟机的配置以及磁盘的uuid,使用任意一款代码编辑器打开它,然后搜索磁盘名称即可找到对应的磁盘uuid

3,找到磁盘vhd文件后,通过命令:
scp *****.vhd root@192.168.1.1:/home/
可以将vhd传到kvm内
4,传输完毕后,通过命令:
qemu-img convert -O qcow2 *****.vhd vm2gt2.qcow2
将 vhd 转换成 qcow2格式,然后就可以挂载使用了。

注:使用此方法时,也遇到了找不到引导的问题,可以尝试将kvm虚拟机硬盘驱动改为ide测试,如果不行,使用方法二进行导出转换。

方法二:
将xen虚拟机导出为xva,然后将xva 进行解压,解压后的目录就是raw磁盘文件,通过命令将raw文件转换成img格式,再传到kvm下,将img转换为qcow2
1,使用命令进行导出:
xe vm-export vm=虚拟机1  filename=./虚拟机1.xva
#导出时间,比较长,具体看虚拟机大小;xva是一个tar包,so 导出后解包,这个时间也比较长,取决于你的磁盘真实文件大小

2,将xva 解压出来:
tar -xf 虚拟机1.xva
#导出后将看到Ref:14之类的文件夹,这些表示对应磁盘镜像(有几块磁盘 就会有几个文件夹,每个Ref:** 代表一块磁盘)


3,使用命令将镜像转为raw格式磁盘,这个你就可以在kvm直接使用
使用py的脚本进行转换,脚本下载地址:
https://github.com/derekjhyang/xenserver_to_xen 下载 xenmigrate.py
执行命令:
python xenmigrate.py --convert=Ref:14 ./虚拟机1.img


4,转换完成后,通过scp命令将img 传到kvm内
scp 虚拟机1.img root@192.168.1.1:/home/

5,在kvm内将img再次转换为qcow2
qemu-img convert -p -f raw -O qcow2 虚拟机1.img 虚拟机1.qcow2

6,转换完成挂载测试就可以了

方法一无法找到引导的问题,通过方法二测试可以解决,但在处理win2016系统时,一直蓝屏,没办法进入系统内安装磁盘驱动,所以此类方法只适用为linux和 win2003\win2008系统。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|网硕互联技术交流社区

GMT+8, 2024-3-28 18:48 , Processed in 0.202029 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表