一种随机负载下的虚拟机迁移方法及系统与流程

文档序号:16390202发布日期:2018-12-22 11:18阅读:131来源:国知局
一种随机负载下的虚拟机迁移方法及系统与流程

本发明涉及虚拟机领域,具体是一种随机负载下的虚拟机迁移方法及系统,用于随机负载下的虚拟机迁移。

背景技术

随着近几年云服务提供商规模的逐渐扩大,云计算产品线的逐渐丰富,在数据中心虚拟机中运行的应用呈现出多样性与异构性。计算机性能的日益提升使得一台主机中能够容纳更多的虚拟机同时运行。数据中心海量的虚拟机在某一时刻对于资源需求的种类以及数量都各不相同,且对资源需求不同的多台虚拟机映射至同一台主机中时,会使主机的负载波动情况变得剧烈且难以预测。

虚拟机迁移在数据中心作用显著,原因在于:一是物理服务器故障。很多时候,物理服务器宕机或者故障是有先兆的。例如硬盘访问出错,在接收到错误直到设备宕机这段时间里,可以通过在线迁移将虚拟机迁移到其它状态正常的物理服务器上,避免受到物理机影响,保障用户业务正常运行。二是raid卡故障。物理服务器的raid卡若出现故障,会造成虚拟机的访问io急剧下降,相当于虚拟机不能再用,同样可以通过在线迁移将虚拟机迁移走,保证虚拟机的io性能。三是物理机过载。当物理服务器复杂达到瓶颈,上面的虚拟机性能也会受到影响,当出现过载问题,通过在线迁移上面的部分虚拟机,来降低物理机负载,以达到资源利用率和虚拟机性能的平衡。

现有关于虚拟机迁移与调度策略的研究成果通常都是围绕双阈值虚拟机迁移策略展开。双阈值虚拟机迁移策略通过对数据中心的服务器主机设定上、下两个阈值来触发数据中心内虚拟机的迁移动作,并通过虚拟机放置策略与虚拟机选择策略控制虚拟机在主机间进行动态的迁移调度优化。当一台主机中的虚拟机对于资源需求的总合超过主机预先设定的上阈值时将会触发虚拟机的迁移操作,虚拟机监视器会根据虚拟机选择策略从主机中选择需要迁出的虚拟机。并由虚拟机放置策略来决定迁出的虚拟机将被映射至数据中心内哪一台新的宿主主机中去。在将部分虚拟机迁出之后,原主机中余下的虚拟机对于资源需求的总合将回落至上阈值之下。同样的,当一台主机中的虚拟机对于资源需求的总量低于下阈值时,虚拟机监视器会尝试将该主机中的所有虚拟机迁出,并由虚拟机放置策略来安排被迁出虚拟机的新宿主主机。此后可以将原主机关闭或切换至节能模式以节省电力资源的消耗。

而双阈值虚拟机迁移策略在虚拟机负载波动较为平稳的云环境中,在云服务质量与虚拟机迁移次数等方面都具有优异的表现。但随着云服务提供商的不断扩大,虚拟机的负载变化呈现出随机负载波动的特性,继而虚拟机迁移频繁进行,时常出现虚拟机迁移拥塞的情况,云服务质量有所下降。

为此,本发明提供一种随机负载下的虚拟机迁移方法及系统,用于解决上述技术问题。



技术实现要素:

本发明所要解决的技术问题是,针对现有技术的不足,提供一种随机负载下的虚拟机迁移方法及系统,用于提高集群中虚拟机的迁移速率,以提高云服务质量。

为解决上述技术问题,本发明提供了一种随机负载下的虚拟机迁移方法,用于主机集群中虚拟机的迁移,包括步骤:

遍历各所述的主机,对应获取各主机的资源利用率;

将当前遍历并获取到的主机的资源利用率分别与预先设定的资源利用率下阈值及资源利用率上阈值进行大小比较;

若比较结果为获取的主机的资源利用率高于预先设定的资源利用率上阈值,则确定主机中需迁出的虚拟机,并确定迁入上述确定的主机中需迁出的虚拟机的目的主机,之后优化该确定的用于迁入上述确定的主机中需迁出的虚拟机的目的主机的网络和磁盘io,之后启动迁移;

若比较结果为获取的主机的资源利用率低于预先设定的资源利用率下阈值,则确定用于迁入主机中所有虚拟机的目的主机,并优化上述确定的用于迁入主机中所有虚拟机的目的主机的网络数据处理能力,之后启动迁移;

其中,所述的资源利用率上阈值大于所述的资源利用率下阈值。

其中,所述的优化该确定的用于迁入上述确定的主机中需迁出的虚拟机的目的主机的网络和磁盘io,包括优化用于迁入上述确定的主机中需迁出的虚拟机的目的主机的网络带宽。

其中,所述的优化上述确定的用于迁入主机中所有虚拟机的目的主机的网络数据处理能力,包括优化上述确定的用于迁入主机中所有虚拟机的目的主机的网络带宽。

其中,所述的资源利用率为cpu使用率。

另外,本发明还提供了一种随机负载下的虚拟机迁移系统,用于主机集群中虚拟机的迁移,包括:

资源利用率获取模块,用于遍历各所述的主机,对应获取各主机的资源利用率;

决策模块,与所述的资源利用率获取模块相连,用于将资源利用率获取模块获取的各主机的资源利用率与预先设定的资源利用率下阈值及资源利用率上阈值进行大小比较,并在比较结果为获取的主机的资源利用率高于预先设定的资源利用率上阈值时确定主机中需迁出的虚拟机、并用于确定用于迁入该当前确定的主机中需迁出的虚拟机的目的主机,且在比较结果为获取的主机的资源利用率低于预先设定的资源利用率下阈值确定用于迁入主机中所有虚拟机的目的主机;所述的资源利用率上阈值大于所述的资源利用率下阈值;

第一优化模块,与所述的决策模块相连,用于优化决策模块确定的用于迁入决策模块确定的主机中需迁出的虚拟机的目的主机的网络和磁盘io;

第一迁移模块,与所述的决策模块相连,用于启动迁移,将决策模块确定的主机中需迁出的虚拟机对应迁入决策模块确定的相应的目的主机;

第二优化模块,与所述的决策模块相连,用于优化决策模块确定的用于迁入主机中所有虚拟机的目的主机的网络数据处理能力;

第二迁移模块,与所述的决策模块相连,用于启动迁移,将主机中所有虚拟机迁出至决策模块确定相应目的主机。

其中,所述第一优化模块用于优化决策模块确定的用于迁入决策模块确定的主机中需迁出的虚拟机的目的主机的网络和磁盘io,包括用于优化决策模块确定的用于迁入决策模块确定的主机中需迁出的虚拟机的目的主机的网络带宽。

其中,所述第二优化模块用于优化决策模块确定的用于迁入主机中所有虚拟机的目的主机的网络数据处理能力,包括用于优化决策模块确定的用于迁入主机中所有虚拟机的目的主机的网络带宽。

其中,所述的资源利用率为cpu使用率。

与现有技术相比,本发明的优点在于:

本发明所述的随机负载下的虚拟机迁移方法及系统,其在启动相应的虚拟机迁移前,对相应的目的主机分别具有网络方面的优化处理,可在一定程度上提高虚拟机迁移的速率,继而提高虚拟机迁移的效率,进而提高云服务质量。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。

附图说明

图1为本发明所述随机负载下的虚拟机迁移方法的方法流程示意图。

图2为本发明所述的随机负载下的虚拟机迁移系统的功能框图示意图。

具体实施方式

为使本发明的技术方案和优点更加清楚,下面将结合附图,对本发明的技术方案进行清楚、完整地描述。

图1为本发明所述随机负载下的虚拟机迁移方法的一种具体实施方式。在本实施方式中,该随机负载下的虚拟机迁移方法用于主机集群间的虚拟机迁移,包括步骤s1-s6和q1-q3。

步骤s1、遍历各所述的主机,对应获取各主机的资源利用率。

其中,所述的资源利用率为cpu使用率。

步骤s2、分别将步骤s1中当前遍历并获取到的主机的资源利用率与预先设定的资源利用率下阈值及资源利用率上阈值进行大小比较。

其中,所述的资源利用率上阈值大于所述的资源利用率下阈值。

其中,若比较结果为获取的主机的资源利用率高于预先设定的资源利用率上阈值,则确定主机过载,需将该主机中相应的虚拟机迁出,以使得虚拟机的资源利用率不超出所述预先设定的资源利用率上阈值。

其中,若比较结果为获取的主机的资源利用率低于预先设定的资源利用率下阈值,则确定主机轻载,此时迁出主机中所有虚拟机至对应的目的主机,然后将该主机(其内所有虚拟机均被迁移出)关闭以节省能源。

具体地,若比较结果为步骤s1中当前获取到的主机的资源利用率高于预先设定的资源利用率上阈值,则执行步骤s3;若比较结果为步骤s1中当前获取到的主机的资源利用率低于预先设定的资源利用率下阈值,则执行步骤q1。

步骤s3、确定当前主机中需迁出的虚拟机。

在该步骤中,确定当前主机中需迁出的虚拟机,待迁出该确定出的当前主机中需迁出的虚拟机后,当前主机的资源利用率不超过资源利用率上阈值。

步骤s4、确定迁入上述步骤s3中确定的当前主机中需迁出的虚拟机的目的主机,之后执行步骤s5。

步骤s5、优化步骤s4中确定的用于迁入上述确定的主机中需迁出的虚拟机的目的主机的网络和磁盘io。

步骤s6、启动迁移,将上述步骤s3中确定的当前主机中需迁出的虚拟机迁移至步骤s5中优化后的目的主机。

步骤q1、确定用于迁入当前主机中所有虚拟机的目的主机。之后执行步骤q2。

在该步骤q1中,所述的目的主机用于迁入由当前主机中迁出的当前主机中的全部虚拟机。

步骤q2、优化上述步骤q1中确定的用于迁入主机中所有虚拟机的目的主机的网络数据处理能力。

步骤q3、启动迁移,将当前遍历到的主机中的全部虚拟机迁移至步骤q2中优化后的目的主机。

其中,在本实施方式中,所述的优化步骤s4中确定的用于迁入上述确定的主机中需迁出的虚拟机的目的主机的网络和磁盘io,包括优化用于迁入上述确定的主机中需迁出的虚拟机的目的主机的网络带宽;所述的优化上述步骤q1中确定的用于迁入主机中所有虚拟机的目的主机的网络数据处理能力,包括优化上述确定的用于迁入主机中所有虚拟机的目的主机的网络带宽。比如在线迁移数据量大小为16gb的虚拟机vm,若对应目的主机的网络端口为千兆端口,则通常会导致千兆端口饱和长达数分钟。比如配置了128gb内存的虚拟机内存被完全使用时,当该虚拟机需要被迁移时,若对应目的主机的网络带宽为千兆带宽,迁移该虚拟机大体会花半个小时甚至更长的时间,而如果优化为万兆宽带,则此虚拟机的迁移大概只需要五分钟,可见优化各相应目的主机的网络带宽,在一定程度上提高了虚拟机迁移的速率,在一定程度上提高了虚拟机迁移的效率,降低了虚拟机停用的风险。

综上,本发明所述的随机负载下的虚拟机迁移方法,其在对应启动相应的虚拟机迁移前,对相应的目的主机分别进行网络带宽的优化处理,这在一定程度上提高了虚拟机迁移的速率,继而提高了虚拟机迁移的效率。

与上述随机负载下的虚拟机迁移方法相对应地,参见图2,本发明还提供了一种随机负载下的虚拟机迁移系统,用于主机集群间的虚拟机迁移,包括:

资源利用率获取模块,用于遍历各所述的主机,对应获取各主机的资源利用率;

决策模块,与所述的资源利用率获取模块相连,用于将资源利用率获取模块获取的各主机的资源利用率与预先设定的资源利用率下阈值及资源利用率上阈值进行大小比较,并在比较结果为获取的主机的资源利用率高于预先设定的资源利用率上阈值时确定主机中需迁出的虚拟机、并用于确定用于迁入该当前确定的主机中需迁出的虚拟机的目的主机,且在比较结果为获取的主机的资源利用率低于预先设定的资源利用率下阈值确定用于迁入主机中所有虚拟机的目的主机;所述的资源利用率上阈值大于所述的资源利用率下阈值;

第一优化模块,与所述的决策模块相连,用于优化决策模块确定的用于迁入决策模块确定的主机中需迁出的虚拟机的目的主机的网络和磁盘io;

第一迁移模块,与所述的决策模块相连,用于启动迁移,将决策模块确定的主机中需迁出的虚拟机对应迁入决策模块确定的相应的目的主机;

第二优化模块,与所述的决策模块相连,用于优化决策模块确定的用于迁入主机中所有虚拟机的目的主机的网络数据处理能力;

第二迁移模块,与所述的决策模块相连,用于启动迁移,将主机中所有虚拟机迁出至决策模块确定相应目的主机。

其中,所述的资源利用率为cpu,便于获取。

其中,所述第一优化模块用于优化决策模块确定的用于迁入决策模块确定的主机中需迁出的虚拟机的目的主机的网络和磁盘io,包括用于优化决策模块确定的用于迁入决策模块确定的主机中需迁出的虚拟机的目的主机的网络带宽;所述第二优化模块用于优化决策模块确定的用于迁入主机中所有虚拟机的目的主机的网络数据处理能力,包括用于优化决策模块确定的用于迁入主机中所有虚拟机的目的主机的网络带宽。

该随机负载下的虚拟机迁移系统使用时,通过资源利用率获取模块遍历集群中各主机,并对应获取各主机的资源利用率;之后通过决策模块,基于资源利用率获取模块获取的各主机的资源利用率,并在获取的主机的资源利用率高于预先设定的资源利用率上阈值时确定主机中需迁出的虚拟机、并确定用于迁入该当前确定的主机中需迁出的虚拟机的目的主机;还通过决策模块在获取的主机的资源利用率低于预先设定的资源利用率下阈值确定用于迁入主机中所有虚拟机的目的主机。

其中,在决策模块的比较结果为获取的主机的资源利用率高于预先设定的资源利用率上阈值并确定出主机中需迁出的虚拟机后,通过第一优化模块优化决策模块确定的用于迁入决策模块确定的主机中需迁出的虚拟机的目的主机的网络和磁盘io;之后通过第一迁移模块启动迁移,将决策模块确定的主机中需迁出的虚拟机对应迁入决策模块确定的相应的目的主机。

其中,在决策模块的比较结果为获取的主机的资源利用率低于预先设定的资源利用率下阈值并确定用于迁入主机中所有虚拟机的目的主机后,通过第二优化模块优化决策模块确定的用于迁入主机中所有虚拟机的目的主机的网络数据处理能力,之后通过第二迁移模块启动迁移,将主机中所有虚拟机迁出至决策模块确定相应目的主机。其中,关闭其内所有虚拟机均被迁出的主机,以节省能源。

以上实施方式仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施方式对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施方式技术方案的范围。

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