一种基于迁移成本和资源均衡的虚拟机选择方法与流程

文档序号:37016440发布日期:2024-02-09 13:07阅读:17来源:国知局
一种基于迁移成本和资源均衡的虚拟机选择方法与流程

本发明涉及云计算和虚拟机调度,具体为一种基于迁移成本和资源均衡的虚拟机选择方法。


背景技术:

1、云计算技术飞速发展,其中虚拟化技术是云计算的核心技术之一,在宿主机上被虚拟出来的服务器称为虚拟机(virtualmachine,vm),用户可以购买符合自己配置需求的虚拟机。由于用户虚拟机的cpu、内存资源使用率不均衡,导致宿主机出现资源热点问题,比如cpu资源过载,而内存资源却欠载等问题,宿主机资源得不到合理的利用,这时需要对宿主机进行资源热点消除。宿主机资源热点消除需要对该宿主机上的虚拟机进行迁移,产生的问题就是选择哪些虚拟机进行迁移。

2、对选择的虚拟机进行迁移可能会触发sla(servicelevelagreement)违规,sla是在一定开销(通常这个开销是驱动提供服务质量的主要因素)下,为了保障服务的性能和可靠性,服务提供商与用户间或者服务提供商之间定义的一种双方认可的协定。虚拟机迁移的时间、次数都会影响到sla,另外虚拟机的脏页速率也会影响虚拟机的迁移成本,脏页速率越大,虚拟机迁移所需要的时间越长。当前已有的一些虚拟机选择的方法考虑的主要是基于最小迁移时间(minimummigrationtime)这一因素,即选择迁移时间小的虚拟机进行迁移,迁移时间根据虚拟机占用内存大小和宿主机的可用网络带宽的商的进行估计。像迁移次数和脏页速率等同样会影响迁移成本的因素未被考虑,另一方面只考虑迁移成本进行虚拟机选择存在的问题是选择的虚拟机被迁移后宿主机的资源是否均衡,如果宿主机出现资源不均衡,比如在cpu过载中虽然cpu利用率降下来了,但cpu利用率明显高于内存利用率或内存利用率明显高于cpu利用率,这样宿主机就存在资源利用不均衡的问题,导致的后果是就像木桶理论,因为某一资源利用率比较高而无法继续装载更多新的虚拟机,导致资源浪费,同时因为资源不均衡增加了后面再次出现资源热点问题的概率,为此,我们提出一种基于迁移成本和资源均衡的虚拟机选择方法,用以解决上述技术问题。


技术实现思路

1、(一)解决的技术问题

2、针对现有技术的不足,本发明提供了一种基于迁移成本和资源均衡的虚拟机选择方法,具备在进行虚拟机选择时同时兼顾迁移成本和迁移后宿主机的资源均衡等优点,解决了现有技术因为某一资源利用率比较高而无法继续装载更多新的虚拟机,导致资源浪费的问题。

3、(二)技术方案

4、为实现上述在进行虚拟机选择时同时兼顾迁移成本和迁移后宿主机的资源均衡目的,本发明提供如下技术方案:一种基于迁移成本和资源均衡的虚拟机选择方法,包括监控模块、调度模块和算法模块;

5、所述监控模块用于负责主机的状态监控,监控到宿主机出现资源热点问题后会通知调度模块,并把宿主机相关信息发送给调度模块;

6、所述调度模块负责算法的调度,接收到监控模块的宿主机热点问题和信息后,调度算法模块的虚拟机选择算法进行待迁移虚拟机选择,选择算法返回结果后再调度算法模块的迁移算法对选择的虚拟机进行迁移,迁移完成后返回结果给监控模块;

7、所述算法模块用于具体的算法实现,供调度模块调度,其中虚拟机选择算法接收调度模块的调度后进行虚拟机选择并返回选择的待迁移虚拟机集合给调度模块。

8、优选的,所述虚拟机选择算法融入迁移时间、脏页速率、迁移次数以及影响迁移成本和sla的因子,然后加权平均进行迁移成本计算。

9、优选的,所述虚拟机选择先通过先归类和排序,根据宿主机的实时资源情况动态从不同的类中选择虚拟机,在保持宿主机资源相对均衡的同时降低迁移成本。

10、优选的,所述虚拟机选择算法步骤如下:

11、a1、监控模块监控宿主机状态,出现资源热点问题,则通过调度模块调度算法模块,并传递宿主机和其上面虚拟机的负载信息,各虚拟机的迁移时间、脏页速率和迁移次数信息,以及cpu、内存资源利用率的阈值;

12、a2、算法模块进行虚拟机选择;

13、a3、选择的虚拟机集合返回调度模块,调度模块调度相应的迁移算法进行迁移。

14、优选的,所述算法模块进行虚拟机选择的具体算法步骤如下:

15、b1、对虚拟机的迁移时间、脏页速率、迁移次数迁移成本因子分别进行归一化;

16、b2、基于归一化后的迁移成本因子计算每一台虚拟机的迁移成本,迁移成本计算方式如下:

17、迁移成本=λ1*迁移时间+λ2*脏页速率+λ3*迁移次数

18、其中λ1,λ2,λ3为每个迁移成本因子的权重,总和为1;

19、b3、计算每一台虚拟机cpu利用率和内存利用率的差值,按差值进行分类,差值大于0的分类为c1,差值小于等于0的分类为c2;

20、b4、对c1和c2中的虚拟机分别按迁移成本进行升序排序;

21、b5、计算宿主机cpu利用率和内存利用率的差值d,如果d>0则执行b6,否则执行b9;

22、b6、从c1中选择一台迁移成本最低的虚拟机,加入到结果集合s中,同时该虚拟机从c1中移除;

23、b7、宿主机cpu和内存利用率是否到设定阈值,如果到设定阈值则执行b10;

24、b8、基于选择虚拟机后的宿主机资源情况重新计算宿主机cpu利用率和内存利用率的差值d,如果d>0,则执行b6,否则执行b9;

25、b9、从c2中选择一台迁移成本最低的虚拟机,加入到结果集合s中,同时该虚拟机从c2中移除,执行b7;

26、b10、输出最终选择的虚拟机集合s。

27、优选的,所述b1步骤中采用最大最小值归一化方法,其算法公式如下:

28、

29、其中,k为避免分母为零的一个常数值。

30、优选的,基于归一化后的迁移成本因子根据b2中迁移成本计算公式来计算每一台虚拟机的迁移成本。

31、优选的,其他所述迁移成本因子采用同一方式进行归一化处理。

32、优选的,所述监控模块包括实时时钟、硬件监控和软件监控;

33、所述实时时钟用于记录物理服务器当前的运行时间,以及与标准时间之间的偏差;

34、所述硬件监控用于通过收集和分析cpu利用率、内存利用率、磁盘空间使用率和网络流量,来实时了解物理服务器的运行状况;

35、所述软件监控通过收集和分析操作系统、网络应用程序和软件组件的状态信息,来实时了解物理服务器上运行的软件的运行状况。

36、优选的,所述调度模块包括算法控制器、数据采集器、状态变量、算法状态、定时器、中断处理器和算法验证器;

37、所述算法控制器用于负责执行算法指令,并控制算法的流程和状态;

38、所述数据采集器用于收集各个算法组件的工作状态和数据;

39、所述状态变量用于存储和处理算法的状态信息,包括状态的增减和转移;

40、所述算法状态用于存储和处理算法的状态信息,包括当前状态和转移状态;

41、所述定时器用于定时执行算法指令以及定时执行算法状态更新和状态转移;

42、所述中断处理器用于处理外部中断和内部中断以及控制算法执行的流程和状态;

43、所述算法验证器用于验证算法的正确性和合法性,检查工作状态和数据,并处理异常情况。

44、与现有技术相比,本发明提供了一种基于迁移成本和资源均衡的虚拟机选择方法,具备以下有益效果:

45、本发明相比当前已有的虚拟机选择策略,一方面在迁移成本的计算上考虑的因素更加全面,除了迁移时间,还考虑了迁移次数、脏页速率这些迁移成本因子,通过加权平均进行迁移成本计算,计算公式支持因子动态增加和扩展,使虚拟机的迁移成本估计更加准确,大大降低触发sla的概率;另一方面兼顾了宿主机资源的均衡,降低了后面再次出现资源热点问题的概率,同时避免因宿主机资源不均衡导致资源浪费,比如cpu利用率明显高于内存利用率导致内存资源存在浪费的问题,节省了宿主机资源。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1