CN112667364A - 绑核与非绑核虚拟混合部署方法、装置、设备及存储介质 - Google Patents
绑核与非绑核虚拟混合部署方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112667364A CN112667364A CN202110015450.8A CN202110015450A CN112667364A CN 112667364 A CN112667364 A CN 112667364A CN 202110015450 A CN202110015450 A CN 202110015450A CN 112667364 A CN112667364 A CN 112667364A
- Authority
- CN
- China
- Prior art keywords
- bound
- vcpu
- virtual machine
- core
- binding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种绑核与非绑核虚拟混合部署方法、装置、设备及存储介质,所述方法通过构建vCPU浮动组集合模型和vCPU统计模型;在部署绑核虚拟机或非绑核虚拟机时,根据所述vCPU浮动组集合模型和所述vCPU统计模型确定目标宿主机,利用所述目标宿主机部署所述绑核虚拟机或所述非绑核虚拟机;在删除虚拟机时,根据所述vCPU统计模型获取所述绑核虚拟机或所述非绑核虚拟机所属宿主机上的虚拟机资源占用量,将所述虚拟机资源占用量进行释放,能够支持绑核虚拟机和非绑核虚拟机的弹性混合部署,提高了宿主机的pCPU的利用率,节省了物料成本,提高了虚拟机的计算性能,提升了计算资源调度成功率。
Description
技术领域
本发明涉及虚拟化技术领域,尤其涉及一种绑核与非绑核虚拟混合部署方法、装置、设备及存储介质。
背景技术
利用虚拟化技术,在同一台物理服务器上部署多的业务需要同时部署多个虚拟机,由于每台虚拟机的业务不尽相同,会对物理资源造成不同程度的占用,有的业务依赖CPU性能完成实时计算,有的则更加依赖其他能力如存储或网络。
一般的,对绑核虚拟机和非绑核虚拟机混合部署的场景支持有限,主要有以下几种实现方式:一种实现是需要为宿主机设置固定的绑核与非绑核物理中央处理器(physical Central Processing Unit,pCPU)可用区间,二者不能混合使用,即绑核虚拟机不能创建在非绑核虚拟机的pCPU区间内,非绑核虚拟机不能创建在绑核虚拟机的pCPU区间内,如果环境中某一种类型的虚拟机已经达到pCPU资源占用上限,这就导致已达上限类型的资源无法创建,而另一种类型却还有富余,造成了计算资源的浪费,大大限制了pCPU资源的灵活度,从而降低了物理资源利用率;另一种实现方案是不设置pCPU可用区间,而是使绑核类型与非绑核类型二者混合使用;该方案下绑核虚拟机所绑定的pCPU不能达到资源独占的目的,非绑核虚拟机的虚拟中央处理器(virtual Central Processing Unit,vCPU)还是会调度到绑核虚拟机锁绑定的pCPU上来,这样会造成绑核vCPU与非绑核vCPU的资源抢占,大大影响虚拟机计算性能;并且在vCPU资源超分配的场景下,第二种方案在统计绑核虚拟机和非绑核虚拟机的vCPU资源占用时未进行区分,不能准确的反应宿主机在混合部署的场景下的vCPU资源占用数量,从而影响在虚拟机创建时的资源调度成功率。
发明内容
本发明的主要目的在于提供一种绑核与非绑核虚拟混合部署方法、装置、设备及存储介质,旨在解决现有技术中pCPU资源的灵活度和物理资源利用率低,影响虚拟机计算性能,在虚拟机创建时的资源调度成功率较低的技术问题。
第一方面,本发明提供一种绑核与非绑核虚拟混合部署方法,所述绑核与非绑核虚拟混合部署方法包括以下步骤:
构建vCPU浮动组集合模型和vCPU统计模型;
在部署绑核虚拟机或非绑核虚拟机时,根据所述vCPU浮动组集合模型和所述vCPU统计模型确定目标宿主机,利用所述目标宿主机部署所述绑核虚拟机或所述非绑核虚拟机;
在删除虚拟机时,根据所述vCPU统计模型获取所述绑核虚拟机或所述非绑核虚拟机所属宿主机上的虚拟机资源占用量,将所述虚拟机资源占用量进行释放。
可选地,所述构建vCPU浮动组集合模型和vCPU统计模型,包括:
获取可用pCPU集合和已绑定pCPU集合,根据所述可用pCPU集合和所述已绑定pCPU集合构建vCPU浮动组集合模型;
获取vCPU超分比,根据所述vCPU超分比构建vCPU统计模型。
可选地,所述获取可用pCPU集合和已绑定pCPU集合,根据所述可用pCPU集合和所述已绑定pCPU集合构建vCPU浮动组集合模型,包括:
获取可用pCPU集合和已绑定pCPU集合;
计算所述可用pCPU集合和所述已绑定pCPU集合的差值,获得非绑核虚拟机的虚拟机调度范围;
根据所述虚拟机调度范围构建vCPU浮动组集合模型。
可选地,所述获取vCPU超分比,根据所述vCPU超分比构建vCPU统计模型,包括:
获取vCPU超分比,并获得可用pCPU集合;
计算所述可用pCPU数量和所述vCPU超分比的乘积,获得所述目标宿主机vCPU可用量;
计算所述绑核虚拟机数量和所述vCPU超分比的乘积,获得绑核虚拟机的vCPU占用值;
计算所述非绑核虚拟机数量和1的乘积,获得非绑核虚拟机的vCPU占用值;
根据所述vCPU占用值构建vCPU统计模型。
可选地,在部署绑核虚拟机时,查询所有宿主机的vCPU剩余情况及vCPU超分比;
通过所述vCPU统计模型确定所述绑核虚拟机的绑核vCPU占用量;
选取满足绑核vCPU占用量的宿主机作为目标宿主机;
在目标宿主机上通过所述vCPU浮动组集合模型确定非绑核虚拟机的vCPU对应的pCPU调度集合;
根据所述pCPU调度集合调整目标宿主机上所有非绑核虚拟机的pCPU调度范围;
获取所述绑核虚拟机的绑核依赖资源,根据调整后的调度范围和所述绑核依赖资源调用对应的底层接口孵化所述绑核虚拟机。
可选地,所述在部署非绑核虚拟机时,根据所述vCPU浮动组集合模型和所述vCPU统计模型确定目标宿主机,利用所述目标宿主机部署所述非绑核虚拟机,包括:
在部署非绑核虚拟机时,查询所有宿主机的vCPU剩余情况;
通过所述vCPU统计模型确定所述非绑核虚拟机的非绑核vCPU占用量;
选取满足非绑核vCPU占用量的宿主机作为目标宿主机;
根据目标宿主机的所述vCPU浮动组集合模型确定非绑核虚拟机的pCPU调度范围;
获取所述非绑核虚拟机的非绑核依赖资源,根据调整后的调度范围和所述非绑核依赖资源调用对应的底层接口孵化所述非绑核虚拟机。
可选地,所述在删除虚拟机时,根据所述vCPU统计模型获取所述绑核虚拟机或所述非绑核虚拟机所属宿主机上的虚拟机资源占用量,将所述虚拟机资源占用量进行释放,包括以下步骤:
在删除绑核虚拟机时,根据所述vCPU统计模型获取所述绑核虚拟机的绑核vCPU占用量并释放,通过所述vCPU浮动组集合模型释放所述绑核虚拟机绑定的pCPU集合,更新所述vCPU浮动组集合模型,根据所述VFG集合调整目标宿主机上所有非绑核虚拟机的pCPU调度范围,调用底层接口删除所述绑核虚拟机、绑核依赖资源和绑核资源;
在删除非绑核虚拟机时,根据所述vCPU浮动组集合模型统计所述非绑核虚拟机的非绑核vCPU占用量并释放,调用底层接口删除所述非绑核虚拟机、非绑核依赖资源和非绑核资源。
第二方面,为实现上述目的,本发明还提出一种绑核与非绑核虚拟混合部署装置,所述绑核与非绑核虚拟混合部署装置包括:
模型构件模块,用于构建vCPU浮动组集合模型和vCPU统计模型;
部署模块,用于在部署绑核虚拟机或非绑核虚拟机时,根据所述vCPU浮动组集合模型和所述vCPU统计模型确定目标宿主机,利用所述目标宿主机部署所述绑核虚拟机或所述非绑核虚拟机;
删除模块,用于在删除虚拟机时,根据所述vCPU统计模型获取所述绑核虚拟机或所述非绑核虚拟机所属宿主机上的虚拟机资源占用量,将所述虚拟机资源占用量进行释放。
第三方面,为实现上述目的,本发明还提出一种绑核与非绑核虚拟混合部署设备,所述绑核与非绑核虚拟混合部署设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的绑核与非绑核虚拟混合部署程序,所述绑核与非绑核虚拟混合部署程序配置为实现如权利要求上文所述的绑核与非绑核虚拟混合部署方法的步骤。
第四方面,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有绑核与非绑核虚拟混合部署程序,所述绑核与非绑核虚拟混合部署程序被处理器执行时实现如上文所述的绑核与非绑核虚拟混合部署方法的步骤。
本发明提出的绑核与非绑核虚拟混合部署方法,通过构建vCPU浮动组集合模型和vCPU统计模型;在部署绑核虚拟机或非绑核虚拟机时,根据所述vCPU浮动组集合模型和所述vCPU统计模型确定目标宿主机,利用所述目标宿主机部署所述绑核虚拟机或所述非绑核虚拟机;在删除虚拟机时,根据所述vCPU统计模型获取所述绑核虚拟机或所述非绑核虚拟机所属宿主机上的虚拟机资源占用量,将所述虚拟机资源占用量进行释放,能够支持绑核虚拟机和非绑核虚拟机的弹性混合部署,提高了宿主机的pCPU资源的利用率,节省了物料成本,有效避免了绑核虚拟机和非绑核虚拟机的在同一宿主机上的pCPU资源抢占,从而提高虚拟机的计算性能,在宿主机中的vCPU超分配的场景下,通过统计绑核虚拟机的vCPU占用,提高了计算资源调度成功率。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明绑核与非绑核虚拟混合部署方法第一实施例的流程示意图;
图3为本发明绑核与非绑核虚拟混合部署方法第二实施例的流程示意图;
图4为本发明绑核与非绑核虚拟混合部署方法第三实施例的流程示意图;
图5为现有技术中原生OpenStack会出现绑核与非绑核vCPU资源抢占的示意图;
图6为本发明绑核与非绑核虚拟混合部署方法第四实施例的流程示意图;
图7为本发明绑核与非绑核虚拟混合部署方法新部署一台绑核虚拟机后VFG动态更新的示意图;
图8为本发明绑核与非绑核虚拟混合部署方法第五实施例的流程示意图;
图9为本发明绑核与非绑核虚拟混合部署方法第六实施例的流程示意图;
图10为本发明绑核与非绑核虚拟混合部署装置第一实施例的功能模块图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的解决方案主要是:通过构建vCPU浮动组集合模型和vCPU统计模型;在部署绑核虚拟机或非绑核虚拟机时,根据所述vCPU浮动组集合模型和所述vCPU统计模型确定目标宿主机,利用所述目标宿主机部署所述绑核虚拟机或所述非绑核虚拟机;在删除虚拟机时,根据所述vCPU统计模型获取所述绑核虚拟机或所述非绑核虚拟机所属宿主机上的虚拟机资源占用量,将所述虚拟机资源占用量进行释放,能够支持绑核虚拟机和非绑核虚拟机的弹性混合部署,提高了宿主机的pCPU资源的利用率,节省了物料成本,有效避免了绑核虚拟机和非绑核虚拟机的在同一宿主机上的pCPU资源抢占,从而提高虚拟机的计算性能,在宿主机中的vCPU超分配的场景下,通过统计绑核虚拟机的vCPU占用,提高了计算资源调度成功率,解决了现有技术中pCPU资源的灵活度和物理资源利用率低,影响虚拟机计算性能,在虚拟机创建时的资源调度成功率较低的技术问题。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图。
如图1所示,该设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如Wi-Fi接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(Non-Volatile Memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对该设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及绑核与非绑核虚拟混合部署程序。
本发明设备通过处理器1001调用存储器1005中存储的绑核与非绑核虚拟混合部署程序,并执行以下操作:
构建vCPU浮动组集合模型和vCPU统计模型;
在部署绑核虚拟机或非绑核虚拟机时,根据所述vCPU浮动组集合模型和所述vCPU统计模型确定目标宿主机,利用所述目标宿主机部署所述绑核虚拟机或所述非绑核虚拟机;
在删除虚拟机时,根据所述vCPU统计模型获取所述绑核虚拟机或所述非绑核虚拟机所属宿主机上的虚拟机资源占用量,将所述虚拟机资源占用量进行释放。
进一步地,处理器1001可以调用存储器1005中存储的绑核与非绑核虚拟混合部署程序,还执行以下操作:
获取可用pCPU集合和已绑定pCPU集合,根据所述可用pCPU集合和所述已绑定pCPU集合构建vCPU浮动组集合模型;
获取vCPU超分比,根据所述vCPU超分比构建vCPU统计模型。
进一步地,处理器1001可以调用存储器1005中存储的绑核与非绑核虚拟混合部署程序,还执行以下操作:
获取可用pCPU集合和已绑定pCPU集合;
计算所述可用pCPU集合和所述已绑定pCPU集合的差值,获得非绑核虚拟机的虚拟机调度范围;
根据所述虚拟机调度范围构建vCPU浮动组集合模型。
进一步地,处理器1001可以调用存储器1005中存储的绑核与非绑核虚拟混合部署程序,还执行以下操作:
获取vCPU超分比,并获得可用pCPU集合;
计算所述可用pCPU数量和所述vCPU超分比的乘积,获得所述目标宿主机vCPU可用量;
计算所述绑核虚拟机数量和所述vCPU超分比的乘积,获得绑核虚拟机的vCPU占用值;
计算所述非绑核虚拟机数量和1的乘积,获得非绑核虚拟机的vCPU占用值;
根据所述vCPU占用值构建vCPU统计模型。
进一步地,处理器1001可以调用存储器1005中存储的绑核与非绑核虚拟混合部署程序,还执行以下操作:
在部署绑核虚拟机时,查询所有宿主机的vCPU剩余情况及vCPU超分比;
通过所述vCPU统计模型确定所述绑核虚拟机的绑核vCPU占用量;
选取满足绑核vCPU占用量的宿主机作为目标宿主机;
在目标宿主机上通过所述vCPU浮动组集合模型确定非绑核虚拟机的vCPU对应的pCPU调度集合;
根据所述pCPU调度集合调整目标宿主机上所有非绑核虚拟机的pCPU调度范围;
获取所述绑核虚拟机的绑核依赖资源,根据调整后的调度范围和所述绑核依赖资源调用对应的底层接口孵化所述绑核虚拟机。
进一步地,处理器1001可以调用存储器1005中存储的绑核与非绑核虚拟混合部署程序,还执行以下操作:
在部署非绑核虚拟机时,查询所有宿主机的vCPU剩余情况;
通过所述vCPU统计模型确定所述非绑核虚拟机的非绑核vCPU占用量;
选取满足非绑核vCPU占用量的宿主机作为目标宿主机;
根据目标宿主机的所述vCPU浮动组集合模型确定非绑核虚拟机的pCPU调度范围;
获取所述非绑核虚拟机的非绑核依赖资源,根据调整后的调度范围和所述非绑核依赖资源调用对应的底层接口孵化所述非绑核虚拟机。
进一步地,处理器1001可以调用存储器1005中存储的绑核与非绑核虚拟混合部署程序,还执行以下操作:
在删除绑核虚拟机时,根据所述vCPU统计模型获取所述绑核虚拟机的绑核vCPU占用量并释放,通过所述vCPU浮动组集合模型释放所述绑核虚拟机绑定的pCPU集合,更新所述vCPU浮动组集合模型,根据所述VFG集合调整目标宿主机上所有非绑核虚拟机的pCPU调度范围,调用底层接口删除所述绑核虚拟机、绑核依赖资源和绑核资源;
在删除非绑核虚拟机时,根据所述vCPU浮动组集合模型统计所述非绑核虚拟机的非绑核vCPU占用量并释放,调用底层接口删除所述非绑核虚拟机、非绑核依赖资源和非绑核资源。
本实施例通过上述方案,通过构建vCPU浮动组集合模型和vCPU统计模型;在部署绑核虚拟机或非绑核虚拟机时,根据所述vCPU浮动组集合模型和所述vCPU统计模型确定目标宿主机,利用所述目标宿主机部署所述绑核虚拟机或所述非绑核虚拟机;在删除虚拟机时,根据所述vCPU统计模型获取所述绑核虚拟机或所述非绑核虚拟机所属宿主机上的虚拟机资源占用量,将所述虚拟机资源占用量进行释放,能够支持绑核虚拟机和非绑核虚拟机的弹性混合部署,提高了宿主机的pCPU资源的利用率,节省了物料成本,有效避免了绑核虚拟机和非绑核虚拟机的在同一宿主机上的pCPU资源抢占,从而提高虚拟机的计算性能,在宿主机中的vCPU超分配的场景下,通过统计绑核虚拟机的vCPU占用,提高了计算资源调度成功率。
基于上述硬件结构,提出本发明绑核与非绑核虚拟混合部署方法实施例。
参照图2,图2为本发明绑核与非绑核虚拟混合部署方法第一实施例的流程示意图。
在第一实施例中,所述绑核与非绑核虚拟混合部署方法包括以下步骤:
步骤S10、构建vCPU浮动组集合模型和vCPU统计模型。
需要说明的是,所述vCPU浮动组(vCPU Floating Group,VFG)集合模型为一个动态的集合模型,用于记录非绑定vCPU所对应的pCPU调度范围,所述vCPU统计模型为用于统计绑核/非绑核虚拟机的虚拟CPU,即vCPU实际占用情况的vCPU数量统计模型。
步骤S20、在部署绑核虚拟机或非绑核虚拟机时,根据所述vCPU浮动组集合模型和所述vCPU统计模型确定目标宿主机,利用所述目标宿主机部署所述绑核虚拟机或所述非绑核虚拟机。
需要说明的是,在计算虚拟机领域,可以根据虚拟机vCPU调度类型分为绑核虚拟机和非绑核虚拟机;绑核虚拟机是指将虚拟机的vCPU绑定到一个或多个宿主机的pCPU上去执行,并且独占这些pCPU,不允许其他虚拟机的vCPU使用;非绑核虚拟机是指虚拟机的vCPU是由内核调度策略分配,非绑核虚拟机之间在高负载的情况下是有可能造成资源抢占;当某个业务严重依赖CPU计算能力时,可以将其部署在绑核虚拟机上;当某个业务对CPU计算能力不敏感时,可以将其部署在非绑核虚拟机上。
可以理解的是,在进行虚拟机部署时,可以获取当前的资源剩余量,并根据资源剩余量确定目标宿主机来部署对应的绑核虚拟机或非绑核虚拟机,能够提高宿主的vCPU资源利用率,避免了绑核虚拟机和非绑核虚拟机的在同一宿主机上的vCPU资源抢占现象,从而提高了两种虚拟机的计算性能。
在具体实现中,可以响应于虚拟机的资源请求经过资源调度器的调度,通过计算出的各资源的需求量和所述宿主机的资源剩余量做比较,选出一个最优的目标宿主机,从而通过目标宿主机来部署对应的绑核虚拟机或非绑核虚拟机。
步骤S30、在删除虚拟机时,根据所述vCPU统计模型获取所述绑核虚拟机或所述非绑核虚拟机所属宿主机上的虚拟机资源占用量,将所述虚拟机资源占用量进行释放。
应当理解的是,在删除虚拟机时,可以获取虚拟机的资源占用量,并将相关虚拟机所依赖的资源进行释放,从而提高了资源的利用率,并提高了计算资源调度的准确率,提高了资源调度的成功率。
本实施例通过上述方案,通过构建vCPU浮动组集合模型和vCPU统计模型;在部署绑核虚拟机或非绑核虚拟机时,根据所述vCPU浮动组集合模型和所述vCPU统计模型确定目标宿主机,利用所述目标宿主机部署所述绑核虚拟机或所述非绑核虚拟机;在删除虚拟机时,根据所述vCPU统计模型获取所述绑核虚拟机或所述非绑核虚拟机所属宿主机上的虚拟机资源占用量,将所述虚拟机资源占用量进行释放,能够支持绑核虚拟机和非绑核虚拟机的弹性混合部署,提高了宿主机的pCPU资源的利用率,节省了物料成本,有效避免了绑核虚拟机和非绑核虚拟机的在同一宿主机上的pCPU资源抢占,从而提高虚拟机的计算性能,在宿主机中的vCPU超分配的场景下,通过统计绑核虚拟机的vCPU占用,提高了计算资源调度成功率。
进一步地,图3为本发明绑核与非绑核虚拟混合部署方法第二实施例的流程示意图,如图3所示,基于第一实施例提出本发明绑核与非绑核虚拟混合部署方法第二实施例,在本实施例中,所述步骤S10具体包括以下步骤:
步骤S11、获取可用pCPU集合和已绑定pCPU集合,根据所述可用pCPU集合和所述已绑定pCPU集合构建vCPU浮动组集合模型。
需要说明的是,所述可用pCPU集合即pCPU中可用的CPU的集合,所述已绑定pCPU集合即pCPU中已经绑定的CPU的结合,通过所述可用pCPU集合和所述已绑定pCPU集合能够构建vCPU浮动组集合模型,即随着所述可用pCPU集合和所述已绑定pCPU集合中CPU数量的变化会动态改变所述vCPU浮动组集合模型,引起所述vCPU浮动组集合模型中CPU的浮动。
步骤S12、获取vCPU超分比,根据所述vCPU超分比构建vCPU统计模型。
可以理解的是,所述vCPU超分比(vCPU Allocation Ratio)为实时获取的当前所有的vCPU的分配比例,通过所述vCPU超分比能够确定虚拟机的vCPU占用数量,从而构建vCPU统计模型。
本实施例通过上述方案,通过获取可用pCPU集合和已绑定pCPU集合,根据所述可用pCPU集合和所述已绑定pCPU集合构建vCPU浮动组集合模型;获取vCPU超分比,根据所述vCPU超分比构建vCPU统计模型,能够为绑核与非绑核虚拟机混合部署做准备,提高了部署速度和效率。
进一步地,图4为本发明绑核与非绑核虚拟混合部署方法第三实施例的流程示意图,如图4所示,基于第二实施例提出本发明绑核与非绑核虚拟混合部署方法第三实施例,在本实施例中,所述步骤S11具体包括以下步骤:
步骤S111、获取可用pCPU集合和已绑定pCPU集合。
需要说明的是,获取可用pCPU集合和已绑定pCPU集合的方式可以是通过与宿主机的数据交互,获得对应的CPU数据,从而确定可用pCPU集合和已绑定pCPU集合。
步骤S112、计算所述可用pCPU集合和所述已绑定pCPU集合的差值,获得非绑核虚拟机的虚拟机调度范围。
可以理解的是,通过计算所述可用pCPU集合中的pCPU和所述已绑定pCPU集合中的pCPU的差值,即筛除所述可用pCPU集合中已经绑核的pCPU,从而获得剩余的非绑核虚拟机。
步骤S113、根据所述虚拟机调度范围构建vCPU浮动组集合模型。
应当理解的是,可以根据宿主机上可用pCPU集合CA(CPU Available)和已绑核的pCPU集合CB(CPU Binding)来动态划定非绑核虚拟机的vCPU所对应的pCPU调度范围:
VFG=CA-CB
通过建立一个动态的vCPU浮动组vCPU Floating Group(VFG)集合模型,根据宿主机上可用pCPU集合CA和已绑核的pCPU集合CB来动态划定非绑核虚拟机的vCPU所对应的pCPU调度范围,VFG是确定非绑核的调度范围;即绑核的仅能在CB中调度(以一一对应固定了)、非绑核的在VFG;从而支持绑核虚拟机和非绑核虚拟机弹性混合部署的复杂场景。
在具体实现中,如图5所示,图5为现有技术中原生OpenStack会出现绑核与非绑核vCPU资源抢占的示意图,如图5所示,原生Openstack中对绑核虚拟机和非绑核虚拟机混合部署的场景支持有限:1.一种实现是需要为宿主机设置固定的绑核与非绑核pCPU可用区间,二者不能混合使用,即绑核虚拟机不能创建在非绑核虚拟机的pCPU区间内,非绑核虚拟机不能创建在绑核虚拟机的pCPU区间内;这就使得如果环境中某一种类型已经达到资源上限,而另一种却还有富余,导致已达上限的资源无法创建,大大限制了vCPU资源的灵活度,降低了资源利用率;2.一种是不设置pCPU可用区间,使其二者混合使用。该方案下绑核虚拟机vCPU为非独占,会造成绑核vCPU与非绑核vCPU造成资源抢占影响虚拟机计算性能;3.在vCPU资源超分配的场景下,第二种方案在统计绑核虚拟机和非绑核虚拟机的vCPU资源占用未进行区分,影响资源调度成功率。
在具体实现中,一个空宿主机可用pCPU范围CA为{1,2,...,8},那么当前vCPU浮动组VFG也为{1,2,...,8};在宿主机上部署一个2vCPU的绑核虚拟机M后,若其绑定的pCPU为{1,2},那么集合CB就为{1,2},动态更新VFG={1,2,...,8}-{1,2}={3,4,...,8},使非绑核虚拟机的vCPU在{3,4,...,8}的范围内调度,避免了非绑核虚拟机和绑核虚拟机的计算资源争抢;在宿主机上部署一个非绑核虚拟机N时,可以根据当前VFG的集合范围来指定该虚拟机N的vCPU的调度范围,例如,该宿主机的vCPU资源为8*10=80;绑核的虚拟机M资源为2*10=20,目前的可用非绑核vCPU资源为60,即,按CR=10,其最大可部署60个vCPU非绑核虚拟机,即,按CU的计算方案,其可部署60/10=6vCPU的绑核虚拟机。
本实施例通过上述方案,通过获取可用pCPU集合和已绑定pCPU集合;计算所述可用pCPU集合和所述已绑定pCPU集合的差值,获得非绑核虚拟机的虚拟机调度范围;根据所述虚拟机调度范围构建vCPU浮动组集合模型,能够为绑核与非绑核虚拟机混合部署做准备,提高了部署速度和效率,使vCPU在一定的范围内合理调度,避免了非绑核虚拟机和绑核虚拟机的计算资源争抢。
进一步地,图6为本发明绑核与非绑核虚拟混合部署方法第四实施例的流程示意图,如图6所示,基于第二实施例提出本发明绑核与非绑核虚拟混合部署方法第四实施例,在本实施例中,所述步骤S12具体包括以下步骤:
步骤S121、获取vCPU超分比,并获得可用pCPU集合。
需要说明的是,vCPU超分比即为vCPU的超分比(vCPU Allocation Ratio,CR)的值,所述可用pCPU集合中对应有若干个pCPU,通过将可用的pCPU的进行汇总能够生成对应的可用pCPU集合,通过所述可用pCPU集合可以确定当前时刻的可以pCPU的数量。
步骤S122、计算所述可用pCPU数量和所述vCPU超分比的乘积,获得所述目标宿主机vCPU可用量。
可以理解的是,可以用vCPU超分比的值作为倍数与所述pCPU数量进行相乘后可以获得vCPU占用值,即获得目标宿主机的vCPU可用量。
步骤S123、计算所述绑核虚拟机数量和所述vCPU超分比的乘积,获得绑核虚拟机的vCPU占用值。
需要说明的是,所述可以用vCPU超分比的值作为倍数与所述绑核虚拟机数量进行相乘后可以获得绑核虚拟机的vCPU占用值,即所述绑核虚拟机vCPU的可用量。
步骤S124、计算所述非绑核虚拟机数量和1的乘积,获得非绑核虚拟机的vCPU占用值。
可以理解的是,在计算非绑核虚拟机的vCPU占用值时,计算倍数为1,即通过所述非绑核虚拟机数量和1的乘积可以获得非绑核虚拟机的vCPU占用值。
应当理解的是,根据所述vCPU占用值可以构建vCPU统计数学模型,即U=CJ*CR,其中U为所述vCPU占用值,CJ为所述已绑定pCPU集合中pCPU数量,CR为所述vCPU超分比。
在具体实现中,如图7所示,图7为本发明绑核与非绑核虚拟混合部署方法新部署一台绑核虚拟机后VFG动态更新的示意图,如图7所示,通过建立一个动态的vCPU floatinggroup(VFG)集合模型,根据宿主机上可用pCPU集合CA和已绑核的pCPU集合CB来动态划定非绑核虚拟机的vCPU所对应的pCPU调度范围,从而支持绑核虚拟机和非绑核虚拟机弹性混合部署的复杂场景:如:1)一个空(无vm)宿主机可用pCPU范围CA为{1,2,...,8},那么当前VFG也为{1,2,...,8};2)在宿主机上部署一个2vCPU的绑核虚拟机后,若其绑定的pCPU为{1,2},那集合CB为{1,2},动态更新VFG为{1,2,...,8}-{1,2}={3,4,...,8},使非绑核虚拟机的vCPU在{3,4,...,8}的范围内调度,避免非绑核虚拟机和绑核虚拟机的计算资源争抢;3)同理,删除一个绑核虚拟机后释放其绑定的pCPU并加入到VFG的集合中;在vCPU资源超分配的场景下,重新建立绑核虚拟机的vCPU统计模型。用vCPU超分比CR(vCPU allocationratio)的值作为倍数,用来计算绑核虚拟机的vCPU资源占用(CbindU,CPU bind used)数量;而非绑核虚拟机的统计保持不变,即计算倍数为1。
CbindU=Cbind×CR
如:某台宿主机的vCPU超分比CR=10,宿主机的pCPU数量为6,那么vCPU的可用总量为:6×CR=60,理论上可以部署6个绑核vCPU或者60个非绑核vCPU;1)部署一台2vCPU的非绑核虚拟机A时,A在本宿主机中占用的vCPU资源数统计为:2×1=2;2)部署一台2vCPU(Cbind)的绑核虚拟机B时,B在本宿主机中占用的vCPU资源数统计为;2×CR=20;而原方案的统计结果与非绑核一致,为2,与理论值相悖。
在具体实现中,非绑核虚拟机的统计保持不变,即计算倍数为1,若宿主机的vCPU超分比CR=10,宿主机的可用pCPU数量CJ为6,那么vCPU的可用总量为6*CR=60,理论上可以单独部署6个绑核vCPU或者60个非绑核虚拟机;当部署一台两个vCPU的非绑核虚拟机A时,A在本宿主机中占用的vCPU数统计为:2*1=2;当部署一台两个vCPU的绑核虚拟机B时,B在本宿主机中占用的vCPU数统计为2*CR=20;而现有方案openstack源生方案的统计结果与非绑核vCPU一致为2,与理论值相悖,不能正确反应绑核虚拟机实际占用的vCPU数量。
本实施例通过上述方案,通过获取vCPU超分比,并获得所述已绑定pCPU集合中pCPU数量;计算所述pCPU数量和所述vCPU超分比的乘积,获得绑核虚拟机的vCPU占用值;根据所述vCPU占用值构建vCPU统计模型,能够更优地统计绑核虚拟机的vCPU占用,从而提高了资源的利用率,并提高了计算资源调度的准确率,提高了资源调度的成功率。
进一步地,图8为本发明绑核与非绑核虚拟混合部署方法第五实施例的流程示意图,如图8所示,基于第一实施例提出本发明绑核与非绑核虚拟混合部署方法第五实施例,在本实施例中,在部署绑核虚拟机时,所述步骤S20具体包括以下步骤:
步骤S21、在部署绑核虚拟机或非绑核虚拟机时,查询所有宿主机的vCPU剩余情况以及vCPU超分比。
需要说明的是,在部署绑核虚拟机或非绑核虚拟机时,可以通过资源调度器会查询当前所有宿主机的vCPU剩余情况(即通过总vCPU数量减去已使用的vCPU数量)和vCPU超分比。
在具体实现中,在部署绑核虚拟机或非绑核虚拟机时,可以响应虚拟机的资源请求,经过资源调度器进行调度,可以计算出各资源,例如vCPU数量、内存大小以及磁盘大小等资源的需求量,从而将所有宿主机的资源剩余量进行比较,选出一个最优的目标宿主机。
步骤S22、通过所述vCPU统计模型确定所述绑核虚拟机的绑核vCPU占用量。
可以理解的是,通过所述vCPU统计模型可以确定所述绑核虚拟机的绑核vCPU占用量,即需求量。
步骤S23、选取满足绑核vCPU占用量的宿主机作为目标宿主机。
应当理解的是,通过排序可以选取满足绑核vCPU占用量的宿主机作为目标宿主机,例如将所述vCPU占用量确定资源剩余量最多的宿主机筛选出来,作为目标宿主机,当然也可以设置其他筛选条件确定目标宿主机,本实施例对此不加以限制。
步骤S24、在目标宿主机上通过所述vCPU浮动组集合模型确定非绑核虚拟机的vCPU对应的pCPU调度集合。
可以理解的是,在目标宿主机上通过vCPU浮动组集合模型确定非绑核虚拟机的vCPU对应的pCPU调度集合。
步骤S25、根据所述pCPU调度集合调整目标宿主机上所有非绑核虚拟机的pCPU调度范围。
应当理解的是,通过所述pCPU调度集合可以对所述非绑核虚拟机的pCPU调度范围进行调整,一般是对pCPU调度范围对于的资源进行校验和预占。
步骤S26、获取所述绑核虚拟机的绑核依赖资源,根据调整后的调度范围和所述绑核依赖资源调用对应的底层接口孵化所述绑核虚拟机。
可以理解的是,通过所述绑核虚拟机的绑核依赖资源,通过对应的绑核依赖资源可以利用底层接口孵化对应的虚拟机,即根据调整后的调度范围和所述绑核依赖资源调用对应的底层接口孵化所述绑核虚拟机,根据调整后的调度范围和所述绑核依赖资源调用对应的底层接口孵化所述绑核虚拟机。
在部署非绑核虚拟机时,所述步骤S20具体包括以下步骤:
在部署非绑核虚拟机时,查询所有宿主机的vCPU剩余情况;
通过所述vCPU统计模型确定所述非绑核虚拟机的非绑核vCPU占用量;
选取满足非绑核vCPU占用量的宿主机作为目标宿主机;
根据目标宿主机的所述vCPU浮动组集合模型确定非绑核虚拟机的pCPU调度范围;
获取所述非绑核虚拟机的非绑核依赖资源,根据调整后的调度范围和所述非绑核依赖资源调用对应的底层接口孵化所述非绑核虚拟机。
需要说明的是,可以响应所述非绑核部署请求对所述非绑核部署请求对应的资源进行校验和预占,调用所述vCPU浮动组集合模型后,可以确定非绑核虚拟机的pCPU调度范围。
可以理解的是,根据所述pCPU调度范围可以从资源池调度对应的非绑核虚拟机的非绑核依赖资源,
在具体实现中,当部署绑定虚拟机时,可以确定该绑核虚拟机vCPU所绑定的pCPU集合CB,然后根据宿主机上可用pCPU集合CA运用VFG模型计算出非绑核虚拟机的vCPU所对应的pCPU调度集合;进而根据动态更新后的宿主机VFG集合,来调整该宿主机上所有非绑核虚拟机的pCPU调度范围为VFG,可以实现的调整方法有:根据VFG建立对应的Linux CGroup并动态调整,或者通过Libvirt的vcpupin接口调整;当部署非绑定虚拟机时,可以获取当前宿主机VFG集合,来设置该非绑核虚拟机的pCPU调度范围为VFG,进而创建对应的非绑核依赖资源。
应当理解的是,通过创建的资源可以利用底层接口孵化对应的虚拟机,即根据调整后的调度范围和所述绑核依赖资源调用对应的底层接口孵化所述绑核虚拟机,根据调整后的调度范围和所述非绑核依赖资源调用对应的底层接口孵化所述非绑核虚拟机。
本实施例通过上述方案,通过在部署绑核虚拟机时,查询所有宿主机的vCPU剩余情况及vCPU超分比;通过所述vCPU统计模型确定所述绑核虚拟机的绑核vCPU占用量;选取满足绑核vCPU占用量的宿主机作为目标宿主机;在目标宿主机上通过所述vCPU浮动组集合模型确定非绑核虚拟机的vCPU对应的pCPU调度集合;根据所述pCPU调度集合调整目标宿主机上所有非绑核虚拟机的pCPU调度范围;获取所述绑核虚拟机的绑核依赖资源,根据调整后的调度范围和所述绑核依赖资源调用对应的底层接口孵化所述绑核虚拟机;在部署非绑核虚拟机时,查询所有宿主机的vCPU剩余情况;通过所述vCPU统计模型确定所述非绑核虚拟机的非绑核vCPU占用量;选取满足非绑核vCPU占用量的宿主机作为目标宿主机;根据目标宿主机的所述vCPU浮动组集合模型确定非绑核虚拟机的pCPU调度范围;获取所述非绑核虚拟机的非绑核依赖资源,根据调整后的调度范围和所述非绑核依赖资源调用对应的底层接口孵化所述非绑核虚拟机;能够支持绑核虚拟机和非绑核虚拟机的弹性混合部署,提高了宿主机的pCPU的利用率,节省了物料成本,有效避免了绑核虚拟机和非绑核虚拟机的在同一宿主机上的pCPU抢占,从而提高虚拟机的计算性能。
进一步地,图9为本发明绑核与非绑核虚拟混合部署方法第六实施例的流程示意图,如图9所示,基于第一实施例提出本发明绑核与非绑核虚拟混合部署方法第六实施例,在本实施例中,所述步骤S30具体包括以下步骤:
步骤S31、在删除绑核虚拟机时,根据所述vCPU统计模型获取所述绑核虚拟机的绑核vCPU占用量并释放,通过所述vCPU浮动组集合模型释放所述绑核虚拟机绑定的pCPU集合,更新所述vCPU浮动组集合模型,根据所述VFG集合调整目标宿主机上所有非绑核虚拟机的pCPU调度范围,调用底层接口删除所述绑核虚拟机、绑核依赖资源和绑核资源。
需要说明的是,所述在删除绑核虚拟机时,可以根据所述vCPU统计模型获取所述绑核虚拟机所属宿主机上的虚拟机资源占用量,进而对所述绑核虚拟机的绑核vCPU占用量进行释放,并且可以运用所述vCPU浮动组集合模型释放所述绑核虚拟机绑定的pCPU集合,从而动态更新所述vCPU浮动组集合模型,根据动态更新后的宿主机上的非绑核虚拟机的pCPU调度范围,进而调用底层接口删除虚拟机并删除其他所依赖的资源。
步骤S32、在删除非绑核虚拟机时,根据所述vCPU浮动组集合模型统计所述非绑核虚拟机的非绑核vCPU占用量并释放,调用底层接口删除所述非绑核虚拟机、非绑核依赖资源和非绑核资源。
可以理解的是,在删除非绑核虚拟机时,根据所述vCPU浮动组集合模型统计所述非绑核虚拟机的非绑核vCPU占用量并释放,即调整该宿主机上所有非绑核虚拟机的pCPU调度范围为VFG,进而可以调用底层接口删除虚拟机并删除其他所依赖的资源,调用底层接口删除所述非绑核虚拟机、非绑核依赖资源和非绑核资源,即调用目标接口删除所述绑核虚拟机或非绑核虚拟机,并删除所述绑核虚拟机或非绑核虚拟机所依赖的资源。
本实施例通过上述方案,通过在删除绑核虚拟机时,根据所述vCPU统计模型获取所述绑核虚拟机的绑核vCPU占用量并释放,通过所述vCPU浮动组集合模型释放所述绑核虚拟机绑定的pCPU集合,更新所述vCPU浮动组集合模型,根据所述VFG集合调整目标宿主机上所有非绑核虚拟机的pCPU调度范围,调用底层接口删除所述绑核虚拟机、绑核依赖资源和绑核资源;在删除非绑核虚拟机时,根据所述vCPU浮动组集合模型统计所述非绑核虚拟机的非绑核vCPU占用量并释放,调用底层接口删除所述非绑核虚拟机、非绑核依赖资源和非绑核资源;能够在宿主机中的vCPU超分配的场景下,通过统计绑核虚拟机的vCPU占用,提高了计算资源调度成功率。
相应地,本发明进一步提供一种绑核与非绑核虚拟混合部署装置。
参照图10,图10为本发明绑核与非绑核虚拟混合部署装置第一实施例的功能模块图。
本发明绑核与非绑核虚拟混合部署装置第一实施例中,该绑核与非绑核虚拟混合部署装置包括:
模型构件模块10,用于构建vCPU浮动组集合模型和vCPU统计模型。
部署模块20,用于在部署绑核虚拟机或非绑核虚拟机时,根据所述vCPU浮动组集合模型和所述vCPU统计模型确定目标宿主机,利用所述目标宿主机部署所述绑核虚拟机或所述非绑核虚拟机。
删除模块30,用于在删除虚拟机时,根据所述vCPU统计模型获取所述绑核虚拟机或所述非绑核虚拟机所属宿主机上的虚拟机资源占用量,将所述虚拟机资源占用量进行释放。
其中,绑核与非绑核虚拟混合部署装置的各个功能模块实现的步骤可参照本发明绑核与非绑核虚拟混合部署方法的各个实施例,此处不再赘述。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有绑核与非绑核虚拟混合部署程序,所述绑核与非绑核虚拟混合部署程序被处理器执行时实现如下操作:
构建vCPU浮动组集合模型和vCPU统计模型;
在部署绑核虚拟机或非绑核虚拟机时,根据所述vCPU浮动组集合模型和所述vCPU统计模型确定目标宿主机,利用所述目标宿主机部署所述绑核虚拟机或所述非绑核虚拟机;
在删除虚拟机时,根据所述vCPU统计模型获取所述绑核虚拟机或所述非绑核虚拟机所属宿主机上的虚拟机资源占用量,将所述虚拟机资源占用量进行释放。
进一步地,所述绑核与非绑核虚拟混合部署程序被处理器执行时还实现如下操作:
获取可用pCPU集合和已绑定pCPU集合,根据所述可用pCPU集合和所述已绑定pCPU集合构建vCPU浮动组集合模型;
获取vCPU超分比,根据所述vCPU超分比构建vCPU统计模型。
进一步地,所述绑核与非绑核虚拟混合部署程序被处理器执行时还实现如下操作:
获取可用pCPU集合和已绑定pCPU集合;
计算所述可用pCPU集合和所述已绑定pCPU集合的差值,获得非绑核虚拟机的虚拟机调度范围;
根据所述虚拟机调度范围构建vCPU浮动组集合模型。
进一步地,所述绑核与非绑核虚拟混合部署程序被处理器执行时还实现如下操作:
获取vCPU超分比,并获得可用pCPU集合;
计算所述可用pCPU数量和所述vCPU超分比的乘积,获得所述目标宿主机vCPU可用量;
计算所述绑核虚拟机数量和所述vCPU超分比的乘积,获得绑核虚拟机的vCPU占用值;
计算所述非绑核虚拟机数量和1的乘积,获得非绑核虚拟机的vCPU占用值;
根据所述vCPU占用值构建vCPU统计模型。
进一步地,所述绑核与非绑核虚拟混合部署程序被处理器执行时还实现如下操作:
在部署绑核虚拟机时,查询所有宿主机的vCPU剩余情况及vCPU超分比;
通过所述vCPU统计模型确定所述绑核虚拟机的绑核vCPU占用量;
选取满足绑核vCPU占用量的宿主机作为目标宿主机;
在目标宿主机上通过所述vCPU浮动组集合模型确定非绑核虚拟机的vCPU对应的pCPU调度集合;
根据所述pCPU调度集合调整目标宿主机上所有非绑核虚拟机的pCPU调度范围;
获取所述绑核虚拟机的绑核依赖资源,根据调整后的调度范围和所述绑核依赖资源调用对应的底层接口孵化所述绑核虚拟机。
进一步地,所述绑核与非绑核虚拟混合部署程序被处理器执行时还实现如下操作:
在部署非绑核虚拟机时,查询所有宿主机的vCPU剩余情况;
通过所述vCPU统计模型确定所述非绑核虚拟机的非绑核vCPU占用量;
选取满足非绑核vCPU占用量的宿主机作为目标宿主机;
根据目标宿主机的所述vCPU浮动组集合模型确定非绑核虚拟机的pCPU调度范围;
获取所述非绑核虚拟机的非绑核依赖资源,根据调整后的调度范围和所述非绑核依赖资源调用对应的底层接口孵化所述非绑核虚拟机。
进一步地,所述绑核与非绑核虚拟混合部署程序被处理器执行时还实现如下操作:
在删除绑核虚拟机时,根据所述vCPU统计模型获取所述绑核虚拟机的绑核vCPU占用量并释放,通过所述vCPU浮动组集合模型释放所述绑核虚拟机绑定的pCPU集合,更新所述vCPU浮动组集合模型,根据所述VFG集合调整目标宿主机上所有非绑核虚拟机的pCPU调度范围,调用底层接口删除所述绑核虚拟机、绑核依赖资源和绑核资源;
在删除非绑核虚拟机时,根据所述vCPU浮动组集合模型统计所述非绑核虚拟机的非绑核vCPU占用量并释放,调用底层接口删除所述非绑核虚拟机、非绑核依赖资源和非绑核资源。
本实施例通过上述方案,通过构建vCPU浮动组集合模型和vCPU统计模型;在部署绑核虚拟机或非绑核虚拟机时,根据所述vCPU浮动组集合模型和所述vCPU统计模型确定目标宿主机,利用所述目标宿主机部署所述绑核虚拟机或所述非绑核虚拟机;在删除虚拟机时,根据所述vCPU统计模型获取所述绑核虚拟机或所述非绑核虚拟机所属宿主机上的虚拟机资源占用量,将所述虚拟机资源占用量进行释放,能够支持绑核虚拟机和非绑核虚拟机的弹性混合部署,提高了宿主机的pCPU资源的利用率,节省了物料成本,有效避免了绑核虚拟机和非绑核虚拟机的在同一宿主机上的pCPU资源抢占,从而提高虚拟机的计算性能,在宿主机中的vCPU超分配的场景下,通过统计绑核虚拟机的vCPU占用,提高了计算资源调度成功率。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种绑核与非绑核虚拟混合部署方法,其特征在于,所述绑核与非绑核虚拟混合部署方法包括:
构建vCPU浮动组集合模型和vCPU统计模型;
在部署绑核虚拟机或非绑核虚拟机时,根据所述vCPU浮动组集合模型和所述vCPU统计模型确定目标宿主机,利用所述目标宿主机部署所述绑核虚拟机或所述非绑核虚拟机;
在删除虚拟机时,根据所述vCPU统计模型获取所述绑核虚拟机或所述非绑核虚拟机所属宿主机上的虚拟机资源占用量,将所述虚拟机资源占用量进行释放。
2.如权利要求1所述的绑核与非绑核虚拟混合部署方法,其特征在于,所述构建vCPU浮动组集合模型和vCPU统计模型,包括:
获取可用pCPU集合和已绑定pCPU集合,根据所述可用pCPU集合和所述已绑定pCPU集合构建vCPU浮动组集合模型;
获取vCPU超分比,根据所述vCPU超分比构建vCPU统计模型。
3.如权利要求2所述的绑核与非绑核虚拟混合部署方法,其特征在于,所述获取可用pCPU集合和已绑定pCPU集合,根据所述可用pCPU集合和所述已绑定pCPU集合构建vCPU浮动组集合模型,包括:
获取可用pCPU集合和已绑定pCPU集合;
计算所述可用pCPU集合和所述已绑定pCPU集合的差值,获得非绑核虚拟机的虚拟机调度范围;
根据所述虚拟机调度范围构建vCPU浮动组集合模型。
4.如权利要求2所述的绑核与非绑核虚拟混合部署方法,其特征在于,所述获取vCPU超分比,根据所述vCPU超分比构建vCPU统计模型,包括:
获取vCPU超分比,并获得可用pCPU集合;
计算所述可用pCPU数量和所述vCPU超分比的乘积,获得所述目标宿主机vCPU可用量;
计算所述绑核虚拟机数量和所述vCPU超分比的乘积,获得绑核虚拟机的vCPU占用值;
计算所述非绑核虚拟机数量和1的乘积,获得非绑核虚拟机的vCPU占用值;
根据所述vCPU占用值构建vCPU统计模型。
5.如权利要求1所述的绑核与非绑核虚拟混合部署方法,其特征在于,所述在部署绑核虚拟机时,根据所述vCPU浮动组集合模型和所述vCPU统计模型确定目标宿主机,利用所述目标宿主机部署所述绑核虚拟机,包括:
在部署绑核虚拟机时,查询所有宿主机的vCPU剩余情况及vCPU超分比;
通过所述vCPU统计模型确定所述绑核虚拟机的绑核vCPU占用量;
选取满足绑核vCPU占用量的宿主机作为目标宿主机;
在目标宿主机上通过所述vCPU浮动组集合模型确定非绑核虚拟机的vCPU对应的pCPU调度集合;
根据所述pCPU调度集合调整目标宿主机上所有非绑核虚拟机的pCPU调度范围;
获取所述绑核虚拟机的绑核依赖资源,根据调整后的调度范围和所述绑核依赖资源调用对应的底层接口孵化所述绑核虚拟机。
6.如权利要求1所述的绑核与非绑核虚拟混合部署方法,其特征在于,所述在部署非绑核虚拟机时,根据所述vCPU浮动组集合模型和所述vCPU统计模型确定目标宿主机,利用所述目标宿主机部署所述非绑核虚拟机,包括:
在部署非绑核虚拟机时,查询所有宿主机的vCPU剩余情况;
通过所述vCPU统计模型确定所述非绑核虚拟机的非绑核vCPU占用量;
选取满足非绑核vCPU占用量的宿主机作为目标宿主机;
根据目标宿主机的所述vCPU浮动组集合模型确定非绑核虚拟机的pCPU调度范围;
获取所述非绑核虚拟机的非绑核依赖资源,根据调整后的调度范围和所述非绑核依赖资源调用对应的底层接口孵化所述非绑核虚拟机。
7.如权利要求1-6中任一项所述的绑核与非绑核虚拟混合部署方法,其特征在于,所述在删除虚拟机时,根据所述vCPU统计模型获取所述绑核虚拟机或所述非绑核虚拟机所属宿主机上的虚拟机资源占用量,将所述虚拟机资源占用量进行释放,包括以下步骤:
在删除绑核虚拟机时,根据所述vCPU统计模型获取所述绑核虚拟机的绑核vCPU占用量并释放,通过所述vCPU浮动组集合模型释放所述绑核虚拟机绑定的pCPU集合,更新所述vCPU浮动组集合模型,根据所述VFG集合调整目标宿主机上所有非绑核虚拟机的pCPU调度范围,调用底层接口删除所述绑核虚拟机、绑核依赖资源和绑核资源;
在删除非绑核虚拟机时,根据所述vCPU浮动组集合模型统计所述非绑核虚拟机的非绑核vCPU占用量并释放,调用底层接口删除所述非绑核虚拟机、非绑核依赖资源和非绑核资源。
8.一种绑核与非绑核虚拟混合部署装置,其特征在于,所述绑核与非绑核虚拟混合部署装置包括:
模型构件模块,用于构建vCPU浮动组集合模型和vCPU统计模型;
部署模块,用于在部署绑核虚拟机或非绑核虚拟机时,根据所述vCPU浮动组集合模型和所述vCPU统计模型确定目标宿主机,利用所述目标宿主机部署所述绑核虚拟机或所述非绑核虚拟机;
删除模块,用于在删除虚拟机时,根据所述vCPU统计模型获取所述绑核虚拟机或所述非绑核虚拟机所属宿主机上的虚拟机资源占用量,将所述虚拟机资源占用量进行释放。
9.一种绑核与非绑核虚拟混合部署设备,其特征在于,所述绑核与非绑核虚拟混合部署设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的绑核与非绑核虚拟混合部署程序,所述绑核与非绑核虚拟混合部署程序配置为实现如权利要求1至7中任一项所述的绑核与非绑核虚拟混合部署方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有绑核与非绑核虚拟混合部署程序,所述绑核与非绑核虚拟混合部署程序被处理器执行时实现如权利要求1至7中任一项所述的绑核与非绑核虚拟混合部署方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110015450.8A CN112667364B (zh) | 2021-01-05 | 2021-01-05 | 绑核与非绑核虚拟混合部署方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110015450.8A CN112667364B (zh) | 2021-01-05 | 2021-01-05 | 绑核与非绑核虚拟混合部署方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112667364A true CN112667364A (zh) | 2021-04-16 |
CN112667364B CN112667364B (zh) | 2022-07-01 |
Family
ID=75413332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110015450.8A Active CN112667364B (zh) | 2021-01-05 | 2021-01-05 | 绑核与非绑核虚拟混合部署方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112667364B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023273238A1 (zh) * | 2021-06-29 | 2023-01-05 | 天翼云科技有限公司 | 图形处理资源调配方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101968746A (zh) * | 2010-09-02 | 2011-02-09 | 北京航空航天大学 | 一种内核虚拟机组织架构模式的实现方法 |
CN103678003A (zh) * | 2013-12-18 | 2014-03-26 | 华中科技大学 | 一种实时性增强的虚拟cpu调度方法 |
CN103677990A (zh) * | 2013-12-13 | 2014-03-26 | 清华大学 | 虚拟机实时任务的调度方法、装置和虚拟机 |
US20160162336A1 (en) * | 2013-08-26 | 2016-06-09 | Vmware, Inc. | Cpu scheduler configured to support latency sensitive virtual machines |
US20160306647A1 (en) * | 2013-12-20 | 2016-10-20 | Huawei Technologies Co., Ltd. | Method for affinity binding of interrupt of virtual network interface card, and computer device |
CN111190691A (zh) * | 2019-12-25 | 2020-05-22 | 中国建设银行股份有限公司 | 适用于虚拟机的自动迁移方法、***、装置及存储介质 |
CN111694658A (zh) * | 2020-04-30 | 2020-09-22 | 北京城市网邻信息技术有限公司 | Cpu资源分配方法、装置、电子设备和存储介质 |
-
2021
- 2021-01-05 CN CN202110015450.8A patent/CN112667364B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101968746A (zh) * | 2010-09-02 | 2011-02-09 | 北京航空航天大学 | 一种内核虚拟机组织架构模式的实现方法 |
US20160162336A1 (en) * | 2013-08-26 | 2016-06-09 | Vmware, Inc. | Cpu scheduler configured to support latency sensitive virtual machines |
CN103677990A (zh) * | 2013-12-13 | 2014-03-26 | 清华大学 | 虚拟机实时任务的调度方法、装置和虚拟机 |
CN103678003A (zh) * | 2013-12-18 | 2014-03-26 | 华中科技大学 | 一种实时性增强的虚拟cpu调度方法 |
US20160306647A1 (en) * | 2013-12-20 | 2016-10-20 | Huawei Technologies Co., Ltd. | Method for affinity binding of interrupt of virtual network interface card, and computer device |
CN111190691A (zh) * | 2019-12-25 | 2020-05-22 | 中国建设银行股份有限公司 | 适用于虚拟机的自动迁移方法、***、装置及存储介质 |
CN111694658A (zh) * | 2020-04-30 | 2020-09-22 | 北京城市网邻信息技术有限公司 | Cpu资源分配方法、装置、电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
乾龙_HERON: "KVM上如何绑定虚拟机vcpu与物理cpu", 《HTTPS://BLOG.CSDN.NET/QIANLONG4526888/ARTICLE/DETAILS/42554265》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023273238A1 (zh) * | 2021-06-29 | 2023-01-05 | 天翼云科技有限公司 | 图形处理资源调配方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112667364B (zh) | 2022-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2013277589B2 (en) | Offloading virtual machine flows to physical queues | |
CN106371894B (zh) | 一种配置方法、装置和数据处理服务器 | |
CN109324890B (zh) | 资源管理方法、装置及计算机可读存储介质 | |
CN111324435A (zh) | 分布式任务调度及注册方法、设备和分布式任务调度*** | |
CN111026500B (zh) | 云计算模拟平台及其创建方法、装置和存储介质 | |
CN114327843A (zh) | 任务调度方法及装置 | |
CN111443985A (zh) | 实例化虚拟网络功能的方法及设备 | |
KR20220070020A (ko) | 네트워크 자원 관리 방법, 시스템, 네트워크 디바이스 및 판독 가능한 저장 매체 | |
CN112667364B (zh) | 绑核与非绑核虚拟混合部署方法、装置、设备及存储介质 | |
WO2013139037A1 (zh) | 用于调度资源的方法及装置 | |
WO2023221844A1 (zh) | 资源调度方法、设备及存储介质 | |
CN111736957A (zh) | 多类型业务的混合部署方法、装置、设备及存储介质 | |
CN111835679A (zh) | 多租户场景下的租户资源管理方法和装置 | |
CN109947568A (zh) | 定时任务处理方法、***、计算机设备及存储介质 | |
US10884781B2 (en) | Method and apparatus for a virtual machine | |
WO2020108337A1 (zh) | 一种cpu资源调度方法及电子设备 | |
CN110795202B (zh) | 一种虚拟化集群资源管理***的资源分配方法以及装置 | |
CN109697105A (zh) | 一种容器云环境物理机选择方法及其***、虚拟资源配置方法及迁移方法 | |
CN112261125B (zh) | 集中单元的云化部署方法、装置及*** | |
CN105187483B (zh) | 分配云计算资源的方法及装置 | |
CN109218259B (zh) | 许可管理方法及装置、applm功能实体及计算机可读存储介质 | |
CN114448909B (zh) | 基于ovs的网卡队列轮询方法、装置、计算机设备及介质 | |
CN115964152A (zh) | Gpu资源调度方法、设备和存储介质 | |
CN107634978A (zh) | 一种资源调度方法及装置 | |
CN107346262A (zh) | 一种任务迁移的方法及控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |