[发明专利]一种在多云环境下迁移虚拟机的方法在审
申请号: | 201910743328.5 | 申请日: | 2019-08-13 |
公开(公告)号: | CN110532061A | 公开(公告)日: | 2019-12-03 |
发明(设计)人: | 张瑜科;季统凯 | 申请(专利权)人: | 国云科技股份有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;H04L29/08 |
代理公司: | 44595 广东勤诺律师事务所 | 代理人: | 尚俊<国际申请>=<国际公布>=<进入国 |
地址: | 523808 广东省东莞市松山湖高*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟机 快照 对象存储 镜像文件 块设备 迁移 虚拟机镜像文件 读取 虚拟机磁盘 虚拟机迁移 元数据文件 数据标识 文件分块 文件注册 直接转换 重新创建 云计算 云平台 挂载 | ||
1.一种在多云环境下迁移虚拟机的方法,其特征在于:所述的方法包括以下步骤:
S10、对虚拟机磁盘进行快照,并把快照挂载到虚拟机A;
S20、虚拟机A读取快照的块设备,生成qcow2元数据文件和数据标识文件;
S30、把逻辑上的qcow2文件分块上传到云平台的对象存储;
S40、把对象存储上的qcow2文件注册为虚拟机镜像文件,根据镜像文件重新创建虚拟机。
2.根据权利要求1所述的方法,其特征在于:所述的元数据包括:qcow2头文件,L1表,L2表,refcount表和refcount_block表;保存在文件开头数据块中;元数据不分配snapshot表;
所述的L1表和L2表用于实现二级查找,L1表项指向L2表,L2表项指向含有数据的数据块;
refcount表和refcount_block表是一个二级查找表;refcount表项指向refcount_block表,refcount_block表记录每个数据块的引用计数;
数据块是指qcow2以数据块为单位操作,默认的数据块的大小为65536字节;
数据标识文件是把虚拟机磁盘的块设备以数据块大小为单位,标识虚拟机磁盘块设备是否存在数据。
3.根据权利要求2所述的方法,其特征在于:
所述的步骤S20具体包括以下步骤:
S21、默认数据块大小按顺序读取虚拟机磁盘块设备;
S22、判断数据块是否存在数据,如果存在那么标识文件尾加1,否则加0;
S23、初始化qcow2头文件;
S24根据标识文件初始化L1表,L2表,refcount表和refcount_block表。
4.根据权利要求3所述的方法,其特征在于:所述的初始化qcow2头文件步骤是:
S231、获取磁盘块设备的大小,根据磁盘的大小和块大小计算出L1表的大小;
S232、根据qcow2文件总的块数计算出refcount表的数量;
S233、初始化L1表开始地址和refcount表开始地址。
5.根据权利要求3所述的方法,其特征在于:所述的步骤S24具体包括以下步骤:
S241、更新refount表指向refcount_block地址;
S242、以数据块的大小为单位遍历块磁盘块设备地址;
S243、根据当前地址从标识文件里读取标识值;
S245、若标识值为1,那么更新L1表和L2表;
S246、遍历完更新refcount_block地址。
6.根据权利要求4所述的方法,其特征在于:所述的步骤S24具体包括以下步骤:
S241、更新refount表指向refcount_block地址;
S242、以数据块的大小为单位遍历块磁盘块设备地址;
S243、根据当前地址从标识文件里读取标识值;
S245、若标识值为1,那么更新L1表和L2表;
S246、遍历完更新refcount_block地址。
7.根据权利要求1至6任一项所述的方法,其特征在于:所述的步骤S30具体包括以下步骤:
S31、把步骤S20生成的qcow2元数据文件添加到多线程上传任务;
S32、以数据块的大小为单位遍历块磁盘块设备地址;
S33、根据当前地址从标识文件读取标识值;
S34、若标识值为1,当前地址读取数据块大小的数据读取到缓存中;
S35、缓存大小等于上传分片大小,那么添加到上传任务中;
S36、遍历完成上传任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国云科技股份有限公司,未经国云科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910743328.5/1.html,转载请声明来源钻瓜专利网。