[发明专利]一种Openstack虚拟机CPU与内存热插拔的实现方法在审
申请号: | 202011214124.1 | 申请日: | 2020-11-04 |
公开(公告)号: | CN112286638A | 公开(公告)日: | 2021-01-29 |
发明(设计)人: | 蒋方文;高传集;徐伟涛;王新雨;张金生;王铭锐 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F13/40 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 陈婷婷 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 openstack 虚拟机 cpu 内存 热插拔 实现 方法 | ||
1.一种Openstack虚拟机CPU与内存热插拔的实现方法,其特征在于,通过修改Openstack Nova组件源码,改动虚拟机Libvirt定义文件生成方法,增加内存dimm设备配置项,使其支持CPU和内存热插拔;
通过扩展nova-api,提供CPU与内存热插拔功能API;通过调整nova-compute组件源码,触发Libvirt相关的CPU与内存热插拔接口,实现CPU与内存热插拔功能。
2.根据权利要求1所述的一种Openstack虚拟机CPU与内存热插拔的实现方法,其特征在于,所述调整nova-compute组件源码包括调整vcpu、cpu topology、numa和memory配置项的定义;
在Nova数据库中增加instance_dimm表,存储虚拟机热插入的内存dimm设备。
3.根据权利要求2所述的一种Openstack虚拟机CPU与内存热插拔的实现方法,其特征在于,所述vcpu调整需满足如下格式:
vcpu placement='static'current='1'vcpu_max/vcpu
其中,current为虚拟机vcpu数量的目标值,vcpu_max为当前计算节点所能支持的单台虚拟机最大vcpu数量。
4.根据权利要求2所述的一种Openstack虚拟机CPU与内存热插拔的实现方法,其特征在于,cpu topology的调整方式为:cpu拓扑按照最大vcpu计算。
5.根据权利要求2所述的一种Openstack虚拟机CPU与内存热插拔的实现方法,其特征在于,numa的调整为:
已具有numa节点定义的,根据flavor内存和numa节点数量,平均分配内存;
无numa节点时,添加一个numa节点,numa节点的内存值等于当前flavor中的内存值。
6.根据权利要求2所述的一种Openstack虚拟机CPU与内存热插拔的实现方法,其特征在于,memory的调整需满足如下格式:
maxMemory slots='mem_slots_max'unit='KiB'mem_max/maxMemory
memory unit='KiB'2097152/memory
currentMemory1048576/currentMemory
其中,maxMemory为目标最大值,memory为启动时最大分配内存,currentMemory为虚拟机当前内存值,currentMemory值小于等于memory值。
7.根据权利要求1-6任一所述的一种Openstack虚拟机CPU与内存热插拔的实现方法,其特征在于,nova-api的处理包括:
1)、虚拟机状态校验,虚拟机关机状态,抛出状态不匹配异常,返回;虚拟机运行中状态,执行后续热插拔过程;
2)、参数合理性校验,包括CPU和内存与当前值的比较、disk调整以及是否进行减配;
3)、用户配额校验;
4)、触发Nova-compute resize_live过程Rpc调用,通过Rpc调用,触发虚拟机所在节点上Nova-compute服务的resize_live过程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011214124.1/1.html,转载请声明来源钻瓜专利网。