《基于云平台的多启动卷虚拟机启动顺序变更方法.pdf》由会员分享,可在线阅读,更多相关《基于云平台的多启动卷虚拟机启动顺序变更方法.pdf(7页珍藏版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010857673.4 (22)申请日 2020.08.24 (71)申请人 浪潮云信息技术股份公司 地址 250100 山东省济南市高新区浪潮路 1036号浪潮科技园S01号楼 (72)发明人 张金生蒋方文王新雨王铭锐 丁瑞孙继赟 (74)专利代理机构 济南信达专利事务所有限公 司 37100 代理人 冯春连 (51)Int.Cl. G06F 9/455(2006.01) (54)发明名称 一种基于云平台的多启动卷虚拟机启动顺 序变更方法 (57)摘要 本发明公开一种基于。
2、云平台的多启动卷虚 拟机启动顺序变更方法, 涉及Openstack云平台 技术领域 , 该方法针对KVM和QEMU搭建的 Openstack云平台, 通过Novaapi服务允许用户 请求重新定义卷启动顺序, 修改虚拟机实例的启 动卷信息和块设备映射信息, 并根据用户请求向 Novacompute发送进行硬重启调用的消息, 通过 Novacompute服务, 变更虚拟机硬重启的处理, 生成虚拟机实例定义的XML文件, 借助底层QEMU 的对启动顺序的支持, 实现Openstack云平台对 多启动卷虚拟机启动顺序变更功能的支持。 本发 明实现了Openstack虚拟机支持挂载多个启动卷 设备, 并。
3、根据需要选择使用选取的启动卷进行虚 机的启动, 达到切换启动卷进行启动甚至以此方 法切换操作系统的目的。 权利要求书1页 说明书4页 附图1页 CN 112000440 A 2020.11.27 CN 112000440 A 1.一种基于云平台的多启动卷虚拟机启动顺序变更方法, 其特征在于,针对KVM和QEMU 搭建的Openstack云平台, 基于Nova-api服务, 在允许用户请求重新定义卷启动顺序时, 修改虚拟机实例的启动 卷信息和块设备映射信息, 并根据用户请求向Nova-compute发送进行硬重启调用的消息, 基于Nova-compute服务, 变更虚拟机硬重启的处理, 生成虚拟。
4、机实例定义的XML文件, 借助底层QEMU的对启动顺序的支持, 实现Openstack云平台对多启动卷虚拟机启动顺序变 更功能的支持。 2.根据权利要求1所述的一种基于云平台的多启动卷虚拟机启动顺序变更方法, 其特 征在于, 允许用户请求重新定义卷启动顺序, 其具体流程为: 定义查询虚拟机实例的卷的启动顺序接口, 定义查询允许用户请求重新定义虚拟机实例所挂载的卷启动顺序变更接口, 用户请求 包含新定义的卷启动信息, 处理请求时, 根据新定义的卷启动信息对虚拟机实例信息进行启动卷信息变更和块设 备映射信息的变更, 随后根据用户的请求向Nova-compute发送进行硬重启调用的消息。 3.根据权。
5、利要求2所述的一种基于云平台的多启动卷虚拟机启动顺序变更方法, 其特 征在于, 新定义的卷启动信息, 包括每个启动卷的启动顺序信息和是否进行立即硬重启的 可选项。 4.根据权利要求2所述的一种基于云平台的多启动卷虚拟机启动顺序变更方法, 其特 征在于, 基于虚拟机启动的卷大小会因为变更启动卷顺序后而变更, 处理请求时, 还根据新 定义的卷启动信息对虚拟机实例信息进行规格变更。 5.根据权利要求2所述的一种基于云平台的多启动卷虚拟机启动顺序变更方法, 其特 征在于, 根据用户的请求向Nova-compute发送进行硬重启调用的消息时, 是否发送重启请 求取决于用户是否将硬重启选项设置为是, 如果。
6、选择立即重启,则启动顺序修改立即生效。 6.根据权利要求1所述的一种基于云平台的多启动卷虚拟机启动顺序变更方法, 其特 征在于, 变更虚拟机硬重启的处理时, 应当首先判断当前计算节点是否支持变更启动顺序, 若支持, 则对虚拟机的配置进行变更, 生成虚拟机实例定义的XML文件, 若不支持, 则按虚拟机实例的原配置信息进行虚拟机定义XML文件的生成。 7.根据权利要求6所述的一种基于云平台的多启动卷虚拟机启动顺序变更方法, 其特 征在于, 虚拟机硬重启, 生成虚拟机实例定义的XML文件, 其具体流程为: 根据虚拟机实例的信息重新构建虚拟机配置, 判断当前虚拟机是否由Qemu虚拟化, 判断启动盘类型。
7、是否为 “hd” , 判断虚拟机是否挂载了多块可启动卷, 在判断结果全部为是时, 满足条件, 变更虚拟机的配置, 增加块设备定义的boot index, 清除os元素中的boot dev元素, 随后根据虚拟机配置加入boot order属性信息, 并转换为虚拟机实例定义的XML文件。 8.根据权利要求7所述的一种基于云平台的多启动卷虚拟机启动顺序变更方法, 其特 征在于, 基于虚拟机实例定义的XML文件, QEMU根据新的启动顺序启动虚拟机。 权利要求书 1/1 页 2 CN 112000440 A 2 一种基于云平台的多启动卷虚拟机启动顺序变更方法 技术领域 0001 本发明涉及Openst。
8、ack云平台技术领域, 具体的说是一种基于云平台的多启动卷 虚拟机启动顺序变更方法。 背景技术 0002 随着云平台技术的快速发展和普及, 云计算技术已经逐渐应用在各个领域, 越来 越多的企事业单位和个人将传统应用迁移到云数据中心。 0003 Openstack作为云平台中的主流开源平台, 为广大用户提供了IAAS层虚机管理功 能。 0004 目前, Openstack开源社区所实现的虚机创建过程中, 虽然支持挂载多个卷, 但是 没有考虑对单个虚机实例进行多个卷之间的启动切换, 即已有技术不支持多启动卷之间进 行启动卷的切换。 尤其对于有切换操作系统、 或者使用临时启动卷对原有操作系统进行修 。
9、复的需求时, 显然现有技术是不能满足的。 发明内容 0005 针对Openstack平台虚拟机没有提供多启动卷进行启动顺序变更的问题, 无法满 足用户根据需要方便地切换操作系统或启动卷, 本发明提供一种基于云平台的多启动卷虚 拟机启动顺序变更方法。 0006 本发明的一种基于云平台的多启动卷虚拟机启动顺序变更方法, 解决上述技术问 题采用的技术方案如下: 0007 一种基于云平台的多启动卷虚拟机启动顺序变更方法, 针对KVM和QEMU搭建的 Openstack云平台, 0008 基于Nova-api服务, 在允许用户请求重新定义卷启动顺序时, 修改虚拟机实例的 启动卷信息和块设备映射信息, 并。
10、根据用户请求向Nova-compute发送进行硬重启调用的消 息, 0009 基于Nova-compute服务, 变更虚拟机硬重启的处理, 生成虚拟机实例定义的XML文 件, 借助底层QEMU的对启动顺序的支持, 实现Openstack云平台对多启动卷虚拟机启动顺序 变更功能的支持。 0010 可选的, 允许用户请求重新定义卷启动顺序, 其具体流程为: 0011 定义查询虚拟机实例的卷的启动顺序接口, 0012 定义查询允许用户请求重新定义虚拟机实例所挂载的卷启动顺序变更接口, 用户 请求包含新定义的卷启动信息, 0013 处理请求时, 根据新定义的卷启动信息对虚拟机实例信息进行启动卷信息变更。
11、和 块设备映射信息的变更, 0014 随后根据用户的请求向Nova-compute发送进行硬重启调用的消息。 0015 进一步可选的, 用户请求包含新定义的卷启动信息, 新定义的卷启动信息包括每 说明书 1/4 页 3 CN 112000440 A 3 个启动卷的启动顺序信息和是否进行立即硬重启的可选项。 0016 进一步可选的, 基于虚拟机启动的卷大小会因为变更启动卷顺序后而变更, 处理 请求时, 还根据新定义的卷启动信息对虚拟机实例信息进行规格变更。 0017 进一步可选的, 根据用户的请求向Nova-compute发送进行硬重启调用的消息时, 是否发送重启请求取决于用户是否将硬重启选项设。
12、置为是, 如果选择立即重启,则启动顺 序修改立即生效。 0018 可选的, 变更虚拟机硬重启的处理时, 应当首先判断当前计算节点是否支持变更 启动顺序, 0019 若支持, 则对虚拟机的配置进行变更, 生成虚拟机实例定义的XML文件, 0020 若不支持, 则按虚拟机实例的原配置信息进行虚拟机定义XML文件的生成。 0021 进一步可选的, 虚拟机硬重启, 生成虚拟机实例定义的XML文件, 其具体流程为: 0022 根据虚拟机实例的信息重新构建虚拟机配置, 0023 判断当前虚拟机是否由Qemu虚拟化, 0024 判断启动盘类型是否为 “hd” , 0025 判断虚拟机是否挂载了多块可启动卷,。
13、 0026 在判断结果全部为是时, 满足条件, 变更虚拟机的配置, 增加块设备定义的boot index, 清除os元素中的boot dev元素, 0027 随后根据虚拟机配置加入boot order属性信息, 并转换为虚拟机实例定义的XML 文件。 0028 进一步可选的, 基于虚拟机实例定义的XML文件, QEMU根据新的启动顺序启动虚拟 机。 0029 本发明的一种基于云平台的多启动卷虚拟机启动顺序变更方法, 与现有技术相比 具有的有益效果是: 0030 1)本发明针对KVM和QEMU搭建的Openstack云平台, 通过Nova-api服务允许用户请 求重新定义卷启动顺序, 修改虚拟机。
14、实例的启动卷信息和块设备映射信息, 并根据用户请 求向Nova-compute发送进行硬重启调用的消息, 通过Nova-compute服务, 变更虚拟机硬重 启的处理, 生成虚拟机实例定义的XML文件, 借助底层QEMU的对启动顺序的支持, 实现 Openstack云平台对多启动卷虚拟机启动顺序变更功能的支持; 0031 2)本发明实现了Openstack虚拟机支持挂载多个启动卷设备, 并根据需要选择使 用选取的启动卷进行虚机的启动, 达到切换启动卷进行启动甚至以此方法切换操作系统的 目的。 附图说明 0032 附图1是本发明的方法流程图。 具体实施方式 0033 为使本发明的技术方案、 解决。
15、的技术问题和技术效果更加清楚明白, 以下结合具 体实施例, 对本发明的技术方案进行清楚、 完整的描述。 0034 实施例一: 说明书 2/4 页 4 CN 112000440 A 4 0035 结合附图1, 本实施例提出一种基于云平台的多启动卷虚拟机启动顺序变更方法, 针对KVM和QEMU搭建的Openstack云平台, 通过变更Nova-api服务和Nova-compute服务, 实 现了Openstack云平台对多启动卷虚拟机启动顺序变更功能的支持。 0036 (一)基于Nova-api服务, 在允许用户请求重新定义卷启动顺序时, 修改虚拟机实 例的启动卷信息和块设备映射信息, 并根据用户。
16、请求向Nova-compute发送进行硬重启调用 的消息。 0037 本操作中, 允许用户请求重新定义卷启动顺序, 其具体流程为: 0038 定义查询虚拟机实例的卷的启动顺序接口; 0039 定义查询允许用户请求重新定义虚拟机实例所挂载的卷启动顺序变更接口, 用户 请求包含新定义的卷启动信息, 新定义的卷启动信息包括每个启动卷的启动顺序信息和是 否进行立即硬重启的可选项; 0040 处理请求时, 根据新定义的卷启动信息对虚拟机实例信息进行启动卷信息变更和 块设备映射信息的变更; 本实施例中, 基于虚拟机启动的卷大小会因为变更启动卷顺序后 而变更, 还根据新定义的卷启动信息对虚拟机实例信息进行规。
17、格变更; 0041 随后根据用户的请求向Nova-compute发送进行硬重启调用的消息。 0042 本操作中, 根据用户的请求向Nova-compute发送进行硬重启调用的消息时, 是否 发送重启请求取决于用户是否将硬重启选项设置为是, 如果选择立即重启,则启动顺序修 改立即生效。 0043 (二)基于Nova-compute服务, 变更虚拟机硬重启的处理, 生成虚拟机实例定义的 XML文件, 借助底层QEMU的对启动顺序的支持, 实现Openstack云平台对多启动卷虚拟机启 动顺序变更功能的支持。 0044 本操作中, 变更虚拟机硬重启的处理时, 首先判断当前计算节点是否支持变更启 动顺。
18、序, 0045 (A)若支持, 则 0046 (1)根据虚拟机实例的信息重新构建虚拟机配置, 0047 (2)判断 0048 (a)当前虚拟机是否由Qemu虚拟化, 0049 (b)启动盘类型是否为 “hd” , 0050 (c)虚拟机是否挂载了多块可启动卷, 0051 (3)在(a)、 (b)、 (c)全部是时, 满足条件, 变更虚拟机的配置, 增加块设备定义的 boot index, 清除os元素中的boot dev元素, 0052 (4)随后根据虚拟机配置加入boot order属性信息, 并转换为虚拟机实例定义的 XML文件。 0053 (B)若不支持, 则按虚拟机实例的原配置信息进行。
19、虚拟机定义XML文件的生成。 0054 本操作中, 基于虚拟机实例定义的XML文件, QEMU根据新的启动顺序启动虚拟机。 0055 综上可知, 采用本发明的一种基于云平台的多启动卷虚拟机启动顺序变更方法, 针对KVM和QEMU搭建的Openstack云平台, 基于Nova-api服务和Nova-compute服务, 实现了 Openstack虚拟机支持挂载多个启动卷设备, 并根据需要选择使用选取的启动卷进行虚机 的启动, 达到切换启动卷进行启动甚至以此方法切换操作系统的目的。 说明书 3/4 页 5 CN 112000440 A 5 0056 以上应用具体个例对本发明的原理及实施方式进行了详细阐述, 这些实施例只是 用于帮助理解本发明的核心技术内容。 基于本发明的上述具体实施例, 本技术领域的技术 人员在不脱离本发明原理的前提下, 对本发明所作出的任何改进和修饰, 皆应落入本发明 的专利保护范围。 说明书 4/4 页 6 CN 112000440 A 6 图1 说明书附图 1/1 页 7 CN 112000440 A 7 。