CN107479974A - 一种虚拟机调度方法及装置 - Google Patents
一种虚拟机调度方法及装置 Download PDFInfo
- Publication number
- CN107479974A CN107479974A CN201710675267.4A CN201710675267A CN107479974A CN 107479974 A CN107479974 A CN 107479974A CN 201710675267 A CN201710675267 A CN 201710675267A CN 107479974 A CN107479974 A CN 107479974A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- state information
- running state
- early warning
- scheduling policy
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种虚拟机调度方法及装置,上述方法包括以下步骤:获取虚拟机集群的运行状态信息;根据所述运行状态信息,确定对应的虚拟机调度策略。上述技术方案中,通过根据虚拟机集群的运行状态信息,自动对虚拟机进行调度,降低了用户主动干预的频率,提高了虚拟资源的利用率,节约了物理资源的使用成本,大大提升了用户体验。
Description
技术领域
本发明属于资源控制领域,尤其涉及一种虚拟机调度方法及装置。
背景技术
OpenStack(开源的云计算管理平台项目)是一个旨在为公共及私有云的建设与管理提供软件的开源项目,由计算、存储、网络等几个主要的组件组合起来完成云计算管理工作,其目标是为全球数以亿计的用户提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。
用户在使用Openstack的过程中根据业务需求变化,通过人工干预方式,在业务需求高峰增长时,创建新的虚拟机;在业务需求下降时,删除虚拟机以节约成本。
但是上述方案造成了大量人力和时间投入,并且人工干预的滞后性导致虚拟机的负载不均衡、利用率不高。
因此,迫切需要提供一种虚拟机调度方案来解决上述技术问题。
发明内容
本发明提供一种虚拟机调度方法及装置,以解决上述问题。
本发明实施例提供一种虚拟机调度方法,包括以下步骤:获取虚拟机集群的运行状态信息;
根据所述运行状态信息,确定对应的虚拟机调度策略。
本发明实施例还提供一种虚拟机调度装置,包括处理器,适于实现各指令;存储设备,适于存储多条指令,所述指令适于由所述处理器加载并执行;
获取虚拟机集群的运行状态信息;
根据所述运行状态信息,确定对应的虚拟机调度策略。
本发明实施例提供的技术方案:获取虚拟机集群的运行状态信息;根据所述运行状态信息,确定对应的虚拟机调度策略。
上述技术方案中,通过根据虚拟机集群的运行状态信息,自动对虚拟机进行调度,降低了用户主动干预的频率,提高了虚拟资源的利用率,节约了物理资源的使用成本,大大提升了用户体验。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1所示为本发明实施例1的虚拟机调度方法流程图;
图2所示为本发明实施例2基于OpenStack资源编排实现可伸缩虚拟机集群的架构示意图;
图3所示为本发明实施例3的增加虚拟机示意图;
图4所示为本发明实施例4的删除虚拟机示意图;
图5所示为本发明实施例5的流量控制装置结构图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1所示为本发明实施例1的虚拟机调度方法流程图,包括以下步骤:
步骤101:获取虚拟机集群的运行状态信息;
进一步地,所述运行状态信息包括以下至少之一:CPU利用率、内存利用率。
进一步地,获取虚拟机集群的运行状态信息之前,还包括:导入资源编排模板;
其中,所述资源编排模板中定义的信息包括以下至少之一:虚拟机资源配置信息、虚拟机数量初始配置信息、虚拟机最大数目、虚拟机最小数目、虚拟机调度策略、运行状态报警策略。
进一步地,所述导入资源编排模板之后,还包括:
创建虚拟资源栈,其中,所述虚拟资源栈包括以下信息至少之一:创建的初始数量的虚拟机、虚拟机调度策略、运行状态报警策略。
步骤102:根据所述运行状态信息,确定对应的虚拟机调度策略。
进一步地,根据所述运行状态信息,确定对应的虚拟机调度策略的过程为:
若所述CPU利用率大于或等于第一预警值,则创建第一预设数目的虚拟机;或者,
若所述CPU利用率小于第二预警值,则删除第二预设数目的虚拟机。
其中,所述第一预警值大于所述第二预警值;
所述第一预警值、所述第二预警值、所述第一预设数目、所述第二预设数目可以根据需要进行灵活设定,在此不用于限定本实施例的保护范围。
进一步地,根据所述运行状态信息,确定对应的虚拟机调度策略的过程为:
若所述内存利用率大于或等于第三预警值,则创建第三预设数目的虚拟机;或者,
若所述内存利用率小于第四预警值,则删除第四预设数目的虚拟机。
其中,所述第三预警值大于所述第四预警值;
所述第三预警值、所述第四预警值、所述第三预设数目、所述第四预设数目可以根据需要进行灵活设定,在此不用于限定本实施例的保护范围。
图2所示为本发明实施例2基于OpenStack资源编排实现可伸缩虚拟机集群的架构示意图,包括:物理资源、服务组件、虚拟资源;
其中,所述物理资源包括计算资源、网络资源、存储资源;所述服务组件包括资源编排服务、资源监控服务。
具体原理主要包括以下五个步骤:
步骤1:用户编辑可弹性伸缩的虚拟机集群的资源编排模板,通过OpenStack的资源编排服务导入该模板,构建一个包含虚拟机资源、伸缩策略也即虚拟机调度策略、报警策略等的虚拟资源栈;
步骤2:通过OpenStack资源监控服务采集、分析虚拟机集群的运行状态信息;其中,所述运行状态信息包括以下至少之一:CPU利用率、内存利用率;
步骤3:OpenStack资源监控服务的报警单元根据用户定义的报警策略不断对运行状态信息进行轮询,当达到报警策略定义的阈值时触发报警策略;
步骤4:虚拟资源栈中的报警策略与虚拟资源栈中的伸缩策略关联,步骤3中报警策略触发的同时,相应的伸缩策略被触发;
步骤5:虚拟资源栈根据相应的伸缩策略自动调整虚拟资源栈中集群的虚拟机数目以实现虚拟机集群的弹性伸缩。
步骤1的具体实施过程如下:
根据用户需求编排基于YAML格式(一种文件格式)的HOT模板(HeatOrchestration Template OpenStack;Heat组件自由的模板类型),在模板中定义虚拟机集群中虚拟机资源配置信息、虚拟机数量初始配置信息、虚拟机最大数目、虚拟机最小数目、虚拟机调度策略、运行状态报警策略。
进一步地,所述导入HOT模板之后,还包括:
创建虚拟资源栈,其中,所述虚拟资源栈包括以下信息至少之一:创建的初始数量的虚拟机、虚拟机调度策略、运行状态报警策略。
步骤2至步骤5的具体实施过程如下:
(1)OpenStack资源监控服务通过采集单元和分析单元采集、分析虚拟机集群的运行状态信息;
(2)当虚拟资源栈中报警策略所定义的指标被资源监控服务轮询监测到达设定的阈值后即触发报警策略;
(3)虚拟机集群处于高负载状态(例如:CPU利用率大于或等于第一预警值)下触发高负载报警时,按照预设的虚拟机调度策略增加虚拟机集群中的虚拟机数目(例如:创建第一预设数目的虚拟机),其示意图如附图3所示;虚拟机集群处于低负载状态(例如:CPU利用率小于第二预警值)下触发低负载报警时,按照预设的虚拟机调度策略减少虚拟机集群中的虚拟机数目(例如:删除第二预设数目的虚拟机),其示意图如附图4所示。
(4)OpenStack重复执行上述(1)、(2)、(3)步骤,直至所被监控的指标(例如:CPU利用率)检测统计值无法触发报警策略。
本发明实施例简化了用户使用Openstack对虚拟资源的定义、配置和部署步骤,通过该方法建立的可弹性伸缩的虚拟资源集群降低了用户主动干预的频率,提高了虚拟资源的利用率,节约了物理资源的使用成本,进而提升了OpenStack产品的性能口碑和使用体验。
图3所示为本发明实施例3的增加虚拟机示意图,如图3所示,在高负载报警的情况下,执行虚拟机调度策略(扩展策略),增加第五预设数目的虚拟机。
其中,所述第五预设数目可以根据需要进行灵活设定,在此不用于限定本实施例的保护范围
图4所示为本发明实施例4的删除虚拟机示意图,如图4所示,在低负载报警的情况下,执行虚拟机调度策略(收缩策略),删除第六预设数目的虚拟机。
所述第六预设数目可以根据需要进行灵活设定,在此不用于限定本实施例的保护范围。
图5所示为本发明实施例5的流量控制装置结构图,包括处理器,适于实现各指令;存储设备,适于存储多条指令,所述指令适于由所述处理器加载并执行;
获取虚拟机集群的运行状态信息;
根据所述运行状态信息,确定对应的虚拟机调度策略。
进一步地,所述运行状态信息包括以下至少之一:CPU利用率、内存利用率。
进一步地,根据所述运行状态信息,确定对应的虚拟机调度策略的过程为:
若所述CPU利用率大于或等于第一预警值,则创建第一预设数目的虚拟机;或者,
若所述CPU利用率小于第二预警值,则删除第二预设数目的虚拟机。
其中,所述第一预警值大于所述第二预警值;
所述第一预警值、所述第二预警值、所述第一预设数目、所述第二预设数目可以根据需要进行灵活设定,在此不用于限定本实施例的保护范围。
进一步地,根据所述运行状态信息,确定对应的虚拟机调度策略的过程为:
若所述内存利用率大于或等于第三预警值,则创建第三预设数目的虚拟机;或者,
若所述内存利用率小于第四预警值,则删除第四预设数目的虚拟机。
其中,所述第三预警值大于所述第四预警值;
所述第三预警值、所述第四预警值、所述第三预设数目、所述第四预设数目可以根据需要进行灵活设定,在此不用于限定本实施例的保护范围。
进一步地,获取虚拟机集群的运行状态信息之前,还包括:导入资源编排模板;
其中,所述资源编排模板中定义的信息包括以下至少之一:虚拟机资源配置信息、虚拟机数量初始配置信息、虚拟机最大数目、虚拟机最小数目、虚拟机调度策略、运行状态报警策略。
进一步地,所述导入资源编排模板之后,还包括:
创建虚拟资源栈,其中,所述虚拟资源栈包括以下信息至少之一:创建的初始数量的虚拟机、虚拟机调度策略、运行状态报警策略。
本发明实施例提供的技术方案:获取虚拟机集群的运行状态信息;根据所述运行状态信息,确定对应的虚拟机调度策略。
上述技术方案中,通过根据虚拟机集群的运行状态信息,自动对虚拟机进行调度,降低了用户主动干预的频率,提高了虚拟资源的利用率,节约了物理资源的使用成本,大大提升了用户体验。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种虚拟机调度方法,其特征在于,包括以下步骤:
获取虚拟机集群的运行状态信息;
根据所述运行状态信息,确定对应的虚拟机调度策略。
2.根据权利要求1所述的虚拟机调度方法,其特征在于,所述运行状态信息包括以下至少之一:CPU利用率、内存利用率。
3.根据权利要求2所述的虚拟机调度方法,其特征在于,根据所述运行状态信息,确定对应的虚拟机调度策略的过程为:
若所述CPU利用率大于或等于第一预警值,则创建第一预设数目的虚拟机;或者,
若所述CPU利用率小于第二预警值,则删除第二预设数目的虚拟机。
4.根据权利要求2所述的虚拟机调度方法,其特征在于,根据所述运行状态信息,确定对应的虚拟机调度策略的过程为:
若所述内存利用率大于或等于第三预警值,则创建第三预设数目的虚拟机;或者,
若所述内存利用率小于第四预警值,则删除第四预设数目的虚拟机。
5.根据权利要求1所述的虚拟机调度方法,其特征在于,获取虚拟机集群的运行状态信息之前,还包括:导入资源编排模板;
其中,所述资源编排模板中定义的信息包括以下至少之一:虚拟机资源配置信息、虚拟机数量初始配置信息、虚拟机最大数目、虚拟机最小数目、虚拟机调度策略、运行状态报警策略。
6.根据权利要求5所述的虚拟机调度方法,其特征在于,所述导入资源编排模板之后,还包括:
创建虚拟资源栈,其中,所述虚拟资源栈包括以下信息至少之一:创建的初始数量的虚拟机、虚拟机调度策略、运行状态报警策略。
7.一种虚拟机调度装置,其特征在于,包括处理器,适于实现各指令;存储设备,适于存储多条指令,所述指令适于由所述处理器加载并执行;
获取虚拟机集群的运行状态信息;
根据所述运行状态信息,确定对应的虚拟机调度策略。
8.根据权利要求7所述的虚拟机调度装置,其特征在于,所述运行状态信息包括以下至少之一:CPU利用率、内存利用率。
9.根据权利要求8所述的虚拟机调度装置,其特征在于,根据所述运行状态信息,确定对应的虚拟机调度策略的过程为:
若所述CPU利用率大于或等于第一预警值,则创建第一预设数目的虚拟机;或者,
若所述CPU利用率小于第二预警值,则删除第二预设数目的虚拟机。
10.根据权利要求8所述的虚拟机调度装置,其特征在于,根据所述运行状态信息,确定对应的虚拟机调度策略的过程为:
若所述内存利用率大于或等于第三预警值,则创建第三预设数目的虚拟机;或者,
若所述内存利用率小于第四预警值,则删除第四预设数目的虚拟机。
11.根据权利要求7所述的虚拟机调度装置,其特征在于,获取虚拟机集群的运行状态信息之前,还包括:导入资源编排模板;
其中,所述资源编排模板中定义的信息包括以下至少之一:虚拟机资源配置信息、虚拟机数量初始配置信息、虚拟机最大数目、虚拟机最小数目、虚拟机调度策略、运行状态报警策略。
12.根据权利要求11所述的虚拟机调度装置,其特征在于,所述导入资源编排模板之后,还包括:
创建虚拟资源栈,其中,所述虚拟资源栈包括以下信息至少之一:创建的初始数量的虚拟机、虚拟机调度策略、运行状态报警策略。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710675267.4A CN107479974A (zh) | 2017-08-09 | 2017-08-09 | 一种虚拟机调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710675267.4A CN107479974A (zh) | 2017-08-09 | 2017-08-09 | 一种虚拟机调度方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107479974A true CN107479974A (zh) | 2017-12-15 |
Family
ID=60599724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710675267.4A Pending CN107479974A (zh) | 2017-08-09 | 2017-08-09 | 一种虚拟机调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107479974A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062666A (zh) * | 2018-07-27 | 2018-12-21 | 浪潮电子信息产业股份有限公司 | 一种虚拟机集群管理方法及相关装置 |
CN110297692A (zh) * | 2019-07-04 | 2019-10-01 | 北京伟杰东博信息科技有限公司 | 一种分布式软件任务动态管理的方法及其*** |
CN112395045A (zh) * | 2020-11-13 | 2021-02-23 | 深圳力维智联技术有限公司 | 虚拟机回收及其资源调整方法 |
CN114661312A (zh) * | 2022-03-25 | 2022-06-24 | 江苏安超云软件有限公司 | 一种OpenStack集群嵌套部署方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070234365A1 (en) * | 2006-03-30 | 2007-10-04 | Savit Jeffrey B | Computer resource management for workloads or applications based on service level objectives |
CN103701920A (zh) * | 2013-12-31 | 2014-04-02 | 曙光云计算技术有限公司 | 云环境下配置虚拟应用服务器的方法 |
CN106020931A (zh) * | 2016-05-19 | 2016-10-12 | 浪潮电子信息产业股份有限公司 | 一种基于Heat的云应用部署方案 |
CN106293868A (zh) * | 2015-05-15 | 2017-01-04 | 苏宁云商集团股份有限公司 | 一种云计算环境中虚拟机扩缩容方法及扩缩容*** |
-
2017
- 2017-08-09 CN CN201710675267.4A patent/CN107479974A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070234365A1 (en) * | 2006-03-30 | 2007-10-04 | Savit Jeffrey B | Computer resource management for workloads or applications based on service level objectives |
CN103701920A (zh) * | 2013-12-31 | 2014-04-02 | 曙光云计算技术有限公司 | 云环境下配置虚拟应用服务器的方法 |
CN106293868A (zh) * | 2015-05-15 | 2017-01-04 | 苏宁云商集团股份有限公司 | 一种云计算环境中虚拟机扩缩容方法及扩缩容*** |
CN106020931A (zh) * | 2016-05-19 | 2016-10-12 | 浪潮电子信息产业股份有限公司 | 一种基于Heat的云应用部署方案 |
Non-Patent Citations (1)
Title |
---|
SAMMYLIU: "OpenStack 企业私有云的若干需求(2):自动扩展(Auto-scaling)支持", 《HTTPS://WWW.CNBLOGS.COM/SAMMYLIU/P/5181992.HTML》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062666A (zh) * | 2018-07-27 | 2018-12-21 | 浪潮电子信息产业股份有限公司 | 一种虚拟机集群管理方法及相关装置 |
CN110297692A (zh) * | 2019-07-04 | 2019-10-01 | 北京伟杰东博信息科技有限公司 | 一种分布式软件任务动态管理的方法及其*** |
CN110297692B (zh) * | 2019-07-04 | 2020-12-15 | 北京伟杰东博信息科技有限公司 | 一种分布式软件任务动态管理的方法及其*** |
CN112395045A (zh) * | 2020-11-13 | 2021-02-23 | 深圳力维智联技术有限公司 | 虚拟机回收及其资源调整方法 |
CN114661312A (zh) * | 2022-03-25 | 2022-06-24 | 江苏安超云软件有限公司 | 一种OpenStack集群嵌套部署方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Coutinho et al. | Elasticity in cloud computing: a survey | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN108683720B (zh) | 一种容器集群服务配置方法及装置 | |
US8954971B2 (en) | Data collecting method, data collecting apparatus and network management device | |
Tang et al. | Optimizing static job scheduling in a network of heterogeneous computers | |
WO2021159638A1 (zh) | 集群队列资源的调度方法、装置、设备及存储介质 | |
US9483288B2 (en) | Method and system for running a virtual appliance | |
CN107479974A (zh) | 一种虚拟机调度方法及装置 | |
CN110597858A (zh) | 任务数据处理方法、装置、计算机设备和存储介质 | |
CN104298550A (zh) | 一种面向Hadoop的动态调度方法 | |
CN103916396A (zh) | 一种基于负载自适应的云平台应用实例自动伸缩方法 | |
CN103503412B (zh) | 用于调度资源的方法及装置 | |
CN108429815A (zh) | 基于OpenStack的动态资源调度方法 | |
US10680902B2 (en) | Virtual agents for facilitation of network based storage reporting | |
CN108920153A (zh) | 一种基于负载预测的Docker容器动态调度方法 | |
CN106201754A (zh) | 任务信息分析方法及装置 | |
CN110308985B (zh) | 云专属服务器资源管理方法、装置、设备及存储介质 | |
CN110321194A (zh) | 员工职位信息可视化方法、装置、设备及存储介质 | |
CN109885624A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN109597837B (zh) | 时序数据的存储方法、查询方法及相关设备 | |
CN107967175A (zh) | 一种基于多目标优化的资源调度***及方法 | |
CN112051771B (zh) | 多云数据采集方法、装置、计算机设备和存储介质 | |
CN104477776A (zh) | 基于角色的起重机远程分级监控*** | |
CN108268355A (zh) | 用于数据中心的监控***及方法 | |
CN105262634A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171215 |
|
RJ01 | Rejection of invention patent application after publication |