《一种不删除原虚拟机的HYPERV虚拟化平台恢复方法.pdf》由会员分享,可在线阅读,更多相关《一种不删除原虚拟机的HYPERV虚拟化平台恢复方法.pdf(6页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103678037 A (43)申请公布日 2014.03.26 CN 103678037 A (21)申请号 201310612533.0 (22)申请日 2013.11.26 G06F 11/14(2006.01) G06F 9/455(2006.01) (71)申请人 上海爱数软件有限公司 地址 200072 上海市闸北区洛川中路 840 号 3 幢 101 室 (72)发明人 刘荣伟 (74)专利代理机构 上海科盛知识产权代理有限 公司 31225 代理人 赵继明 (54) 发明名称 一种不删除原虚拟机的 hyper-v 虚拟化平台 恢复方法 (57) 摘要 。
2、本发明涉及一种不删除原虚拟机的 hyper-v 虚拟化平台恢复方法, 包括以下步骤 : 1) 获取要 恢复虚拟机的 GUID 并随机生成一个新的虚拟机 GUID ; 2)将VSS备份组件信息里的虚拟机GUID修 改为步骤 1) 生成的新的虚拟机 GUID ; 3) 将虚拟 机的配置文件里的虚拟机 GUID 修改为步骤 1) 生 成的新的虚拟机 GUID ; 4) 根据修改后的 VSS 备份 组件信息和虚拟机配置文件信息, 调用 VSS 接口 恢复注册新恢复的虚拟机。 与现有技术相比, 本发 明具有降低备份风险、 提高用户的体验性和使用 性等优点。 (51)Int.Cl. 权利要求书 1 页 说。
3、明书 3 页 附图 1 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书3页 附图1页 (10)申请公布号 CN 103678037 A CN 103678037 A 1/1 页 2 1. 一种不删除原虚拟机的 hyper-v 虚拟化平台恢复方法, 其特征在于, 包括以下步骤 : 1) 获取要恢复虚拟机的 GUID 并随机生成一个新的虚拟机 GUID ; 2) 将 VSS 备份组件信息里的虚拟机 GUID 修改为步骤 1) 生成的新的虚拟机 GUID ; 3) 将虚拟机的配置文件里的虚拟机 GUID 修改为步骤 1) 生成的新的虚拟机 GUID ; 4) 。
4、根据修改后的 VSS 备份组件信息和虚拟机配置文件信息, 调用 VSS 接口恢复注册新 恢复的虚拟机。 2. 根据权利要求 1 所述的一种不删除原虚拟机的 hyper-v 虚拟化平台恢复方法, 其特 征在于, 所述的步骤 2) 具体为 : 201) 从备份介质中读取出 VSS 备份组件信息 ; 202) 根据要恢复虚拟机的 GUID 查找对应于该虚拟机的 VSS 备份组件信息 ; 203) 将 VSS 备份组件信息里要恢复虚拟机的 GUID 统一修改为新的虚拟机 GUID。 3. 根据权利要求 1 所述的一种不删除原虚拟机的 hyper-v 虚拟化平台恢复方法, 其特 征在于, 所述的步骤 3。
5、) 具体为 : 301) 从备份介质中读取出虚拟机的配置文件信息 ; 302) 逐行遍历虚拟机配置文件信息, 判断是否存在要恢复虚拟机的 GUID, 若是, 则将 其修改成步骤 1) 生成的新的虚拟机 GUID ; 303) 将修改后的虚拟机配置文件恢复到 hyper-v 虚拟平台上。 权 利 要 求 书 CN 103678037 A 2 1/3 页 3 一种不删除原虚拟机的 hyper-v 虚拟化平台恢复方法 技术领域 0001 本发明涉及一种虚拟机恢复技术, 尤其是涉及一种不删除原虚拟机的 hyper-v 虚 拟化平台恢复方法。 背景技术 0002 当前, 随着虚拟化技术的越来越成熟, 越。
6、来越多的企业和组织机构都将应用部署 在虚拟化平台的虚拟机上, 例如微软公司的 hyper-v 虚拟化平台, 那么如何保护这些部署 在虚拟化平台上的应用数据就成了这些企业和组织机构最关心的问题之一。 0003 为了迎合这么庞大的虚拟机数据备份市场, 很多备份软件厂商都相继实现了 对 hyper-v 虚拟化平台的虚拟机的备份和恢复功能。但是作为第三方的软件厂商如何 实现 hyper-v 虚拟机的备份和恢复功能, 便捷可行的办法就是直接调用微软公司专门为 hyper-v 虚拟机备份和恢复提供的一套 VSS 接口。 0004 这里简单介绍一下通过VSS(volume shadow copy servi。
7、ce)接口恢复hyper-v虚 拟机的原理。在备份 hyper-v 虚拟机的时候, 需要将备份时产生的 VSS 备份组件 (VSS 是微 软的应用程序通用的备份恢复框架, 它是以组件为单位来组织, 这里的一个虚拟机就是 VSS 里的一个组件 ) 的相关信息记录起来以便恢复时能正确的初始化 VSS 组件。由于这些信息 记录了虚拟机GUID(Globally Unique Identifier, 全局唯一标识符, 通过GUID来判断虚拟 机的唯一性 )、 虚拟机的文件列表以及虚拟机文件组织关系等。所以恢复时, 要先将之前备 份保存的这些 VSS 备份组件信息读取出来, 对 VSS 的组件进行初始化。
8、, 然后 VSS 组件就知道 该怎么样去组织和恢复这台虚拟机。VSS 在恢复时会根据 GUID 判断该平台上是否存在相 同 GUID 的虚拟机, 如果存在则对其进行删除后再恢复, 而这个操作是第三方软件厂商无法 左右的。 0005 由于备份软件厂商调用的是微软公司提供的 VSS 接口, 那么备份软件厂商基于 VSS 接口实现的一些功能也自然因 VSS 接口本身的原因而受到限制。特别是通过 VSS 接口 来实现 Hyper-v 虚拟机的恢复。在调用 VSS 接口恢复 hyper-v 虚拟机时候, 有一些操作是 VSS 接口默认实现, 哪怕你不需要或不想要那么做。比如说在恢复之前, VSS 接口会。
9、判断当 前的虚拟机平台上是否存在一个与要恢复的虚拟机的 GUID 相同的虚拟机, 如果存在那么 它就会先将虚拟平台上的这台虚拟机删除掉。 它不会考虑你这台虚拟机是什么或者有多么 重要, 只要它认为这台虚拟机和将要恢复的虚拟机是同一台虚拟机。但是有过 vmware 虚拟 机备份恢复经验的人就感觉这是一个很严重的缺陷。因为 vmware 虚拟机可以在同一个平 台上恢复出 N 台 GUID 不同的新虚拟机, 而对之前备份的那台虚拟机不会产生任何影响。由 于这点限制给备份软件厂商带来很大的不便和被动。比如说在客户的实施现场, 我们就得 跟客户说要求准备两个 hyper-v 虚拟化平台, 一个平台提供备。
10、份虚拟机, 另一个平台准备 恢复虚拟机, 因为谁也不敢保证在客户的环境下一次就能顺利验收 hyper-v 虚拟机的备份 恢复功能。假如说恢复失败那么导致的后果是将客户的原虚拟机删除, 而备份存储里的虚 拟机又恢复不出来, 有可能会造成客户的损失。 又比如说, 客户想在同一个虚拟平台上验证 说 明 书 CN 103678037 A 3 2/3 页 4 备份的虚拟机是否能正常恢复使用, 但又不想影响到原来的虚拟机 ; 或者客户想在同一平 台恢复出几台相同的虚拟机作为别的用途, 现有的 hyper-v 虚拟化平台恢复方法就不能满 足这些要求。 0006 基于上述种种情况, 本发明可以完美解决 hyp。
11、er-v 虚拟化平台上删除原虚拟机恢 复的问题。 发明内容 0007 本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种降低备份风险、 提高用户的体验性和使用性的不删除原虚拟机的 hyper-v 虚拟化平台恢复方法。 0008 本发明的目的可以通过以下技术方案来实现 : 0009 一种不删除原虚拟机的 hyper-v 虚拟化平台恢复方法, 包括以下步骤 : 0010 1) 获取要恢复虚拟机的 GUID 并随机生成一个新的虚拟机 GUID ; 0011 2) 将 VSS 备份组件信息里的虚拟机 GUID 修改为步骤 1) 生成的新的虚拟机 GUID ; 0012 3) 将虚拟机的配置文件里。
12、的虚拟机 GUID 修改为步骤 1) 生成的新的虚拟机 GUID : 0013 4) 根据修改后的 VSS 备份组件信息和虚拟机配置文件信息, 调用 VSS 接口恢复注 册新恢复的虚拟机。 0014 所述的步骤 2) 具体为 : 0015 201) 从备份介质中读取出 VSS 备份组件信息 ; 0016 202) 根据要恢复虚拟机的 GUID 查找对应于该虚拟机的 VSS 备份组件信息 ; 0017 203) 将 VSS 备份组件信息里要恢复虚拟机的 GUID 统一修改为新的虚拟机 GUID。 0018 所述的步骤 3) 具体为 : 0019 301) 从备份介质中读取出虚拟机的配置文件信息 。
13、; 0020 302) 逐行遍历虚拟机配置文件信息, 判断是否存在要恢复虚拟机的 GUID, 若是, 则将其修改成步骤 1) 生成的新的虚拟机 GUID ; 0021 303) 将修改后的虚拟机配置文件恢复到 hyper-v 虚拟平台上。 0022 与现有技术相比, 本发明通过自行生成一个新的虚拟机 GUID, 并同时修改 VSS 备 份组件信息里虚拟机的 GUID 和虚拟机配置文件的信息里的虚拟机 GUID, 使这两部分信息 里的原来虚拟机的 GUID 同时修改成新生成的虚拟机 GUID 的方法, 可以实现在恢复的过程 中不会去删除虚拟机平台上的原虚拟机, 从而达到在同一个 hyper-v 。
14、虚拟化平台上恢复多 个除了 GUID 不同之外的克隆虚拟机 ( 指的是完全一样的虚拟机 ) 出来。这样就可以解决 在客户的实施现场要求客户准备多个虚拟化平台的问题, 也可以解决客户的所提出的一些 要求。 本发明简化了软件验收流程, 降低了软件验收出现意外的风险, 同时提高了用户的体 验性和使用性。 0023 通过本发明可以达到以下有益效果 : 0024 1、 通过本发明可以在 Hyper-v 虚拟化平台上实现不删除原虚拟机的恢复 ; 0025 2、 由于恢复时不删除原虚拟机, 客户验收 Hyper-v 备份和恢复功能的流程变得更 简单方便, 从而降低备份软件的验收风险 ; 0026 3、 由于。
15、恢复时不影响原虚拟机, 可以满足客户在同一平台上恢复出多台与生产机 完全相同的虚拟机进行其他用途, 比如说用来做测试等。 说 明 书 CN 103678037 A 4 3/3 页 5 附图说明 0027 图 1 为本发明的流程示意图。 具体实施方式 0028 下面结合附图和具体实施例对本发明进行详细说明。 本实施例以本发明技术方案 为前提进行实施, 给出了详细的实施方式和具体的操作过程, 但本发明的保护范围不限于 下述的实施例。 0029 在实际应用中, 执行恢复任务时, 可根据需要选择是否进行不删除原虚拟机的恢 复, 若不选择, 则通过 VSS 接口采用一般恢复方法, 直接根据 VSS 备份。
16、组件信息初始化 VSS 组件, 并执行一些恢复的初始化工作, 然后将虚拟机的磁盘文件和配置文件全部恢复到虚 拟平台上, 最后调用 VSS 接口执行恢复步骤, 注册新恢复的虚拟机。 0030 若选择不删除原虚拟机的 hyper-v 虚拟化平台恢复方法, 则采用如图 1 所示步骤 进行 : 0031 步骤 S01 中, 从备份介质中读取出 VSS 备份组件信息 ; 0032 步骤 S02 中, 获取要恢复虚拟机 A 的 GUID, 并随机生成一个新的虚拟机 GUID, GUID 是一个永不重复的字符串序列, 可以通过现成的接口生成 GUID ; 0033 虚拟机 A 的 GUID 为 “B34CF。
17、217-83C6-4865-BBDI-21DD7A54D089” , 新的虚拟机 GUID 为 C2D061A0-FC98-472a-92AD-A4DC8DC226DC ; 0034 步骤 S03 中, 根据恢复虚拟机 A 的 GUID 找到该虚拟机的 VSS 备份组件信息, 并将 组件信息里的 GUID 改成新生成的虚拟机的 GUID ; 0035 步骤 S04 中, 将修改后的 VSS 备份组件信息初始化 VSS 组件, 并进行一些恢复初始 化工作 ; 0036 步骤 S05 中, 读取虚拟机的配置文件信息, 逐行遍历虚拟机配置文件信息, 判断是 否存在要恢复虚拟机的 GUID, 若是, 则将其修改成步骤 S02 中生成的新的虚拟机 GUID ; 0037 步骤 S06 中, 将修改后的虚拟机配置文件和虚拟机磁盘文件恢复到 hyper-v 虚拟 平台上 ; 0038 步骤 S07 中, 通过 VSS 接口恢复注册新恢复的虚拟机, 调用 VSS 接口进行恢复操 作, 使新恢复的虚拟机正确注册到 hyper-v 虚拟化平台上。 说 明 书 CN 103678037 A 5 1/1 页 6 图 1 说 明 书 附 图 CN 103678037 A 6 。