[发明专利]虚拟机动态保存快照的方法有效
申请号: | 201410790543.8 | 申请日: | 2014-12-17 |
公开(公告)号: | CN104572248B | 公开(公告)日: | 2018-01-23 |
发明(设计)人: | 崔昊之;丁星;武静 | 申请(专利权)人: | 中电科华云信息技术有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F3/06;G06F11/14 |
代理公司: | 上海汉声知识产权代理有限公司31236 | 代理人: | 郭国中 |
地址: | 200231 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟机 动态 保存 快照 方法 | ||
1.一种虚拟机动态保存快照的方法,其特征在于,所述虚拟机动态保存快照的方法包括以下步骤:
步骤一,使用一特定结构初始化文件,该文件在后续步骤用于分段保存虚拟机状态数据与内存数据,此步骤需要初始化该文件的标准I/O流对象,并注册基础读写操作集;
步骤二,创建一块新的虚拟磁盘文件,在虚拟机主进程中注册其结构化数据,并将其置于虚拟磁盘链表的末端;
步骤三,遍历该虚拟机中挂载的所有虚拟设备,使用不同虚拟设备注册的特定方法保存全量的虚拟设备状态数据与客户机内存数据至步骤一创建的文件中;在数据写入的开始、循环迭代及结束过程中均使用魔数分割数据片段,用于读取时识别分段恢复;
步骤四,循环迭代的保存虚拟设备状态与虚拟机内存中变化的部分至指定的文件,并统计每次保存数据量与保存消耗时间;
步骤五,每次循环迭代开始,首先统计所有待决的脏数据量,跳出迭代后即加锁虚拟机IO线程,停止虚拟CPU线程,使动态的数据不再变化,安全完成最后一部分保存动作,完成虚拟机内存与虚拟设备数据的保存后,马上切换虚拟磁盘指针至新的虚拟磁盘,使后续的I/O流向新磁盘设备,而之前的磁盘设备移动为磁盘链表的倒数第二项,同时作为磁盘快照节点,在需要恢复快照时,直接使用该节点生成虚拟机即可;
步骤六,解锁虚拟机IO线程,并恢复虚拟CPU线程,至此虚拟机恢复运行态。
2.根据权利要求1所述的虚拟机动态保存快照的方法,其特征在于,所述虚拟机动态保存快照的方法涉及的数据对象分为三个部分:虚拟设备状态、虚拟机内存和虚拟机磁盘。
3.根据权利要求1所述的虚拟机动态保存快照的方法,其特征在于,所述步骤三的魔数分割数据片段包括以下步骤:将数据保存到文件的步骤分为预备、迭代和结尾三部分,文件前两字节依次保存快照动作整体魔数和快照版本信息,接下来排列预备段信息,依次写入预备段开始魔数、单个设备预备快照控制信息、单个设备预备快照数据信息;完成预备段数据后,循环的写入迭代段开始魔数、单个设备迭代快照控制信息、单个设备迭代快照数据信息;最后写入完成段开始魔数、单个设备完成快照控制信息、单个设备完成快照数据信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中电科华云信息技术有限公司,未经中电科华云信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410790543.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种任务执行方法和装置
- 下一篇:一种高效的生成可执行软件包的方法及系统