本发明涉及云计算管理技术领域,特别是指一种将XenServer平台虚拟机迁移至KVM虚拟化平台的方法。
背景技术:
在云计算环境下,XenServer是在云计算环境中经过验证的企业级虚拟化平台,可提供创建和管理虚拟基础架构所需的所有功能。它深得很多要求苛刻的企业信赖,被用于运行最关键的应用;而且被最大规模的云计算环境和xSP所采用。早期国内也很多企业使用XenServer虚拟化平台,比如浪潮、华为等。但是XenServer是商用版,费用比较昂贵,随着KVM虚拟化平台的崛起;目前越来越多的企业使用KVM虚拟化平台。那么如何将XenServer虚拟化平台的虚拟机迁移到KVM虚拟化平台也将是我们面临的一大难点。目前比较主流的方法有以下两种:
(1)导出XVA文件,通过对XVA文件进行解压并组合成镜像文件方式。
(2)通过P2V迁移工具,将虚拟机当成物理机导出ISO镜像,然后再导入KVM平台。
以上两种方式存在以下弊端:
(1)导出XVA文件再合并的方式操作复杂,容易导致数据丢失。
(2)通过P2V迁移工具占用时间比较久,同时迁移的业务停机时间较长。
为了从真正意义上实现将XenServer虚拟机迁移至KVM虚拟化平台,需要一种安全稳定,操作简易的方法。
技术实现要素:
本发明解决的技术问题在于提供一种将XenServer平台虚拟机迁移至KVM虚拟化平台的方法,解决传统方法存在的不足,为云计算环境下XenServer虚拟机迁移到KVM虚拟化平台提供一种安全可靠的解决方案。
本发明解决上述技术问题的技术方案:
包括如下步骤:
步骤1:进入XenServer虚拟机所在宿主机;
步骤2:通过脚本命令查找虚拟机对应的vdi文件;
步骤3:通过DD命令将vdi文件导出到本地文件;
步骤4:将本地文件拷贝到KVM平台所在宿主机;
步骤5:通过命令将本地文件转化成qcow2文件;
步骤6:通过qcow2文件创建KVM平台虚拟机。
所述的步骤2,具体是指使用基于XenServer本身虚拟机管理命令进行组合的Linux脚本,执行脚本可以查找出虚拟机对应的vdi文件。
所述的Linux脚本,包括:
查看虚拟机相关vdi uuid;
查看vdi相关存储信息;
查看vdi存储位置。
所述的DD命令是:
指提供#dd if=vdi存储位置of=输出到本地文件路径bs=2097152 count=378。
所述的步骤4,具体是指使用FTP或SCP命令拷贝本地文件到KVM平台宿主机。
所述的步骤5,具体是指创建一个磁盘设备,并将拷贝过来的本地文件挂载,然后进行文件格式转换。
所述的qcow2文件,提供一种支持KVM虚拟化平台的磁盘镜像和KVM虚拟机模板文件。
本发明方案的有益效果如下:
本发明的方法提供一种使用拷贝方式转移文件,保障了虚拟机数据文件的完整性,安全性高。
本发明的方法通过导出,拷贝和转换可直接获取虚拟机模板文件方式,操作简单,用时短。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明方法的流程图。
具体实施方式
如图1所示,本发明主要核心是通过底层虚拟机化文件转换来实现,具体实施过程如下:
1、进入XenServer虚拟机所在宿主机;
2、通过脚本命令查找虚拟机对应的vdi文件;
脚本getVHD.sh核心代码如下:
#xe vbd-list vm-uuid=$1//查看虚拟机相关vdi uuid,$1为虚拟机uuid
#xe vdi-list uuid=$2//查看vdi相关存储信息,$2为vdi uuid
#lvscan|grep<vdi-uuid>//查找vdi存储位置
3、通过DD命令将vdi导出到本地文件;
#dd if=vdi存储位置of=输出到本地文件路径bs=2097152 count=378
4、将本地文件拷贝到KVM平台宿主机;
这里可以通过FTP或者SCP命令拷贝文件
5、通过命令将导出的文件转化成qcow2文件;
核心命令
#xmblock-attach 0tap2:tapdisk:vhd:拷贝过来的文件路径xvdb w 0
//创建一个磁盘设备,并将拷贝过来的文件挂载。
#qemu-img convert-p-0qcow2/dev/xvdb NYJ_TDCB_WEB_system.qcow2
//进行文件格式转换
步骤6:通过qcow2文件创建KVM平台虚拟机,qocw2即为KVM虚拟化平台虚拟机模板文件。