一种基于IO预测的云虚拟化引擎分布式资源调度方法与流程

文档序号:27495873发布日期:2021-11-22 15:44阅读:121来源:国知局
一种基于IO预测的云虚拟化引擎分布式资源调度方法与流程
一种基于io预测的云虚拟化引擎分布式资源调度方法
技术领域
1.本发明涉及云计算技术领域,具体的说是一种基于io预测的云虚拟化引擎分布式资源调度方法。


背景技术:

2.在云计算领域,为了充分利用物理服务器资源,通常会将多台物理服务器作为一个集群,通过虚拟化技术将集群内的资源进行重新分区分配提供给用户使用,虚拟出来的资源不受服务器实体硬件所处的地理位置或物理配置的限制,可按需组合出适合用户的虚拟机配置环境。虚拟化技术具有降低成本、便于维护、提高资源利用率等优点,在云计算领域得到了广泛应用。
3.然而,虽然虚拟化技术可以为集群提供更灵活的资源配置能力,当具有实际业务的虚拟机运行在服务器上时,其运行所需的cpu、磁盘、网络等资源实际上是由物理服务器提供的,物理服务器本身的资源限制还是会影响在其上运行的虚拟机的性能。为了保证用户的业务虚拟机能够不间断平稳运行,及时高效、灵活动态地调整各个服务器上的虚拟机资源就尤为重要。
4.分布式资源调度模块是云虚拟化引擎中的一个重要功能,该模块可以与集群监控模块互联,获取集群中各物理服务器和运行在服务器上的业务虚拟机的资源使用情况,根据资源使用情况与环境中设置好的阈值进行对比并计算出资源优化方案,给出虚拟机与服务器的匹配方案,并根据该方案进行分布式资源调度,从而进行资源优化。
5.传统的资源优化方案,一种方案为,分布式资源调度模块实时获取集群物理服务器以及业务虚拟机的资源使用情况,若出现资源利用率高的情况,则将集群中占用某台物理服务器资源过多的虚拟机迁移至相对空闲的服务器上,从而保证集群中的服务器资源能够被合理利用;另一种方案为,分布式资源调度模块与集群中的告警模块互联,在环境中预置好告警规则,可以针对集群中的资源使用率情况确定阈值,设置好告警规则,当环境中资源使用情况超过阈值时会触发告警,告警再触发分布式资源调度模块,分布式资源调度模块再根据当前集群中的资源使用情况计算出业务虚拟机在各个物理服务器上的分配方案,然后进行虚拟机的迁移,从而达到资源优化的目的。
6.以上场景都是在实际环境中已经出现了资源利用率高的情况下进行的自动或手动的资源优化,在这种情况下,集群已经出现了服务器资源使用不均衡的情况,此时系统管理员或运维人员已经需要介入查看集群运行情况,若出现虚机迁移失败或人工响应不及时的问题,有可能出现因为某一物理服务器资源紧张导致虚拟机无法正常运行甚至被关机的风险,甚至可能影响该服务器上其他正在运行的虚拟机资源。而且传统的资源调度方案并未考虑服务器性能影响,若存在某些虚拟机资源占用服务器io较高的情况,即使服务器物理资源充足,在调度虚拟机资源时也需要将其考虑在内。


技术实现要素:

7.在云虚拟化引擎中进行分布式资源调度,在考虑服务器cpu、磁盘空间、内存等资源的前提下,为了保证虚拟机资源稳定运行,需要将服务器io性能作为指标参数,基于此,本发明提供一种基于io预测的云虚拟化引擎分布式资源调度方法,以避免虚拟机之间出现资源争抢导致服务器资源使用率下降,并确保虚拟机能够平稳运行,达到在集群出现异常之前完成资源调度的目的。
8.本发明的一种基于io预测的云虚拟化引擎分布式资源调度方法,解决上述技术问题采用的技术方案如下:
9.一种基于io预测的云虚拟化引擎分布式资源调度方法,包括如下步骤:
10.s1、在物理服务器上部署监控模块一,用于监控服务器io性能、cpu、磁盘和内存各项资源的使用情况;
11.s2、在多台物理服务器组成的集群中部署监控模块二,用于监控虚拟机资源的io性能、cpu、磁盘和内存各项资源的使用情况;
12.s3、云虚拟化引擎中的分布式资源调度模块与监控模块一、监控模块二进行对接,按需获取当前以及历史监控数据;
13.s4、对集群配置io阈值以及其余资源使用率的阈值;
14.s5、分布式资源调度模块周期性地运行任务,读取监控模块一和监控模块二采集的监控数据,判断是否存在以及预测未来一段时间是否会出现资源使用超出阈值的情况,若存在则计算资源调度优化方案,若配置为自动执行,则直接执行优化方案,并输出执行结果,若执行失败,则向系统管理员或运维人员发送提示,请求人工介入。
15.可选的,所涉及监控模块一是操作系统自带的监控手段或外部监控软件。
16.可选的,所涉及服务器io性能具体包括磁盘io以及网络io,通过监控其iops数据反映服务器的性能指标。
17.可选的,所涉及步骤s3中,分布式资源调度模块与监控模块一、监控模块二进行对接,包括以下四种情形:
18.s3.1、分布式资源调度模块通过http请求读取监控模块一、监控模块二存储的监控数据;
19.s3.2、分布式资源调度模块读取集群配置,选择性地读取部分资源的监控数据;
20.s3.3、分布式资源调度模块对读取到的监控数据进行归一化处理,便于后续计算;
21.s3.4、若分布式资源调度模块无法获取监控数据,需要给系统管理员或运维人员发出提示,请求人工介入检查集群健康状况。
22.可选的,所涉及步骤s4中,可以根据以下任一种情况对集群配置io阈值以及其余资源使用率的阈值:
23.s4.1、根据集群规模配置阈值;
24.s4.2、综合考虑集群规模和业务运行情况进行阈值配置,若存在物理机数量资源受限,但业务运行所需资源较高的情况,需酌情提高阈值,避免出现由于阈值设置不当造成的虚拟机资源频繁迁移的情况;
25.s4.3、io阈值及其余资源阈值根据实际需求设置不同值;
26.s4.4、选择为每种资源配置不同的权重,由分布式资源调度模块计算得出一个综
合阈值。
27.可选的,所涉及分布式资源调度模块运行任务后,首先会读取监控模块一、监控模块二采集到的监控数据,随后根据历史上某时间点到当前时间点的io监控数据进行时间序列的预测,预测往后一段时间服务器io的变化趋势。
28.进一步可选的,所涉及分布式资源调度模块根据历史上某时间点到当前时间点的io监控数据进行时间序列的预测,预测往后一段时间服务器io的变化趋势,具体为:
29.(i)分布式资源调度模块根据对于io的预测结果来判断集群是否需要进行资源调度;
30.(ii)若io监控数据的预测结果在一段时间内超出了设置的阈值,则可以开始计算一个资源调度的方案,计算方案的过程中会综合考虑服务器和虚拟机的各个资源使用情况,最终得出一个最优的虚拟机迁移方案,会给出一系列串行的迁移动作,每个动作包括一组待迁移的虚拟机以及目标主机;
31.(iii)分布式资源调度模块计算出的资源调度方案可以选择自动执行或手动执行,若选择自动执行,分布式资源调度模块会自动向集群发送迁移虚拟机的请求并关注虚拟机状态,将方案执行结果返回;若选择手动执行,分布式资源调度模块会将计算出的资源调度方案发送至系统管理员或运维人员,并给出预测提示,即哪一台或多台服务器预测将会在某个时间出现io过载的情况。
32.进一步可选的,预测服务器io时,小部分io来自服务器io自身运行产生的,大部分io来自运行在该服务器上的虚拟机资源运行过程中产生的。
33.进一步可选的,预测服务器io时,对于获取历史数据的时间长短以及监控粒度,需要根据具体的生产环境和业务情况进行调整。
34.进一步可选的,对于预测出的服务器io可能超出阈值的情况,需要进一步获取服务器上虚拟机资源的io,并对虚拟机进行排序,优先将io高的虚拟机迁移至相对空闲的服务器。
35.本发明的一种基于io预测的云虚拟化引擎分布式资源调度方法,与现有技术相比具有的有益效果是:
36.本发明综合考虑服务器和上面运行的虚拟机对cpu、磁盘和内存的资源占用情况,同时监控其io性能,通过对服务器io进行预测,在实时监控数据未达到设置阈值时对集群资源进行调度优化,避免虚拟机之间出现资源争抢导致服务器资源使用率下降,并确保虚拟机能够平稳运行,达到在集群出现异常之前完成资源调度的目的。
附图说明
37.附图1是本发明的方法流程图。
具体实施方式
38.为使本发明的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本发明的技术方案进行清楚、完整的描述。
39.实施例一:
40.结合附图1,本实施例提出一种基于io预测的云虚拟化引擎分布式资源调度方法,
包括如下步骤:
41.s1、在物理服务器上部署监控模块一,用于监控服务器io性能、cpu、磁盘和内存各项资源的使用情况。
42.监控模块一是操作系统自带的监控手段或外部监控软件。
43.服务器io性能具体包括磁盘io以及网络io,通过监控其iops数据反映服务器的性能指标。
44.s2、在多台物理服务器组成的集群中部署监控模块二,用于监控虚拟机资源的io性能、cpu、磁盘和内存各项资源的使用情况。
45.s3、云虚拟化引擎中的分布式资源调度模块与监控模块一、监控模块二进行对接,按需获取当前以及历史监控数据。
46.分布式资源调度模块与监控模块一、监控模块二进行对接时,具体包括以下四种情形:
47.s3.1、分布式资源调度模块通过http请求读取监控模块一、监控模块二存储的监控数据;
48.s3.2、分布式资源调度模块读取集群配置,选择性地读取部分资源的监控数据;
49.s3.3、分布式资源调度模块对读取到的监控数据进行归一化处理,便于后续计算;
50.s3.4、若分布式资源调度模块无法获取监控数据,需要给系统管理员或运维人员发出提示,请求人工介入检查集群健康状况。
51.s4、可以根据以下任一种情况对集群配置io阈值以及其余资源使用率的阈值:
52.s4.1、根据集群规模配置阈值;
53.s4.2、综合考虑集群规模和业务运行情况进行阈值配置,若存在物理机数量资源受限,但业务运行所需资源较高的情况,需酌情提高阈值,避免出现由于阈值设置不当造成的虚拟机资源频繁迁移的情况;
54.s4.3、io阈值及其余资源阈值根据实际需求设置不同值;
55.s4.4、选择为每种资源配置不同的权重,由分布式资源调度模块计算得出一个综合阈值。
56.s5、分布式资源调度模块周期性地运行任务,读取监控模块一和监控模块二采集的监控数据,判断是否存在以及预测未来一段时间是否会出现资源使用超出阈值的情况,若存在则计算资源调度优化方案,若配置为自动执行,则直接执行优化方案,并输出执行结果,若执行失败,则向系统管理员或运维人员发送提示,请求人工介入。
57.分布式资源调度模块运行任务后,首先会读取监控模块一、监控模块二采集到的监控数据,随后根据历史上某时间点到当前时间点的io监控数据进行时间序列的预测,预测往后一段时间服务器io的变化趋势,具体为:
58.(i)分布式资源调度模块根据对于io的预测结果来判断集群是否需要进行资源调度;
59.(ii)若io监控数据的预测结果在一段时间内超出了设置的阈值,则可以开始计算一个资源调度的方案,计算方案的过程中会综合考虑服务器和虚拟机的各个资源使用情况,最终得出一个最优的虚拟机迁移方案,会给出一系列串行的迁移动作,每个动作包括一组待迁移的虚拟机以及目标主机;
60.(iii)分布式资源调度模块计算出的资源调度方案可以选择自动执行或手动执行,若选择自动执行,分布式资源调度模块会自动向集群发送迁移虚拟机的请求并关注虚拟机状态,将方案执行结果返回;若选择手动执行,分布式资源调度模块会将计算出的资源调度方案发送至系统管理员或运维人员,并给出预测提示,即哪一台或多台服务器预测将会在某个时间出现io过载的情况。
61.预测服务器io时,小部分io来自服务器io自身运行产生的,大部分io来自运行在该服务器上的虚拟机资源运行过程中产生的。
62.预测服务器io时,对于获取历史数据的时间长短以及监控粒度,需要根据具体的生产环境和业务情况进行调整。
63.对于预测出的服务器io可能超出阈值的情况,需要进一步获取服务器上虚拟机资源的io,并对虚拟机进行排序,优先将io高的虚拟机迁移至相对空闲的服务器。
64.综上可知,采用本发明的一种基于io预测的云虚拟化引擎分布式资源调度方法,通过对服务器io进行预测,在实时监控数据达到设置阈值之前对集群资源进行调度优化,避免虚拟机之间出现资源争抢导致服务器资源使用率下降,确保虚拟机能够平稳运行。
65.基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1