一种容器和虚拟机混合云环境下的负载动态迁移方法技术

技术编号:22329883 阅读:89 留言:0更新日期:2019-10-19 12:14
本发明专利技术公开的一种容器和虚拟机混合云环境下的负载动态迁移方法,首先对虚拟机负载和容器负载进行判断,找出对服务器负载影响较大的部分,若虚拟机影响较大,则对虚拟机整体进行迁移,若容器影响较大,则对容器历史负载数据进行分析,对接下来一段时间容器负载进行预测,选择接下来一段时间内处于增长态势的容器进行迁移。本发明专利技术通过利用余弦相关性来更准确地分析出对过载影响更大的虚拟机或容器资源,使得服务器集群更好地达到负载均衡。

【技术实现步骤摘要】
一种容器和虚拟机混合云环境下的负载动态迁移方法
本专利技术涉及负载动态迁移领域,特别涉及一种容器和虚拟机混合云环境下的负载动态迁移方法。
技术介绍
随着容器技术的快速发展,越来越多的企业选择了容器化,容器化的计算平台正成为一种新的潮流。相较于传统的云计算虚拟化,即通过虚拟化技术将一台计算机虚拟为多台逻辑计算机,容器虚拟化拥有更加快捷和轻便的部署特性。采用容器已经成为大势所趋,但是在生产环境中,将容器部署在虚拟机上还是物理机上,也是一个需要思考的问题。VMware公司对于这一问题进行了实验探究,实验结果表明:容器部署在虚拟机上与容器部署在物理机上差异并不大,几乎不存在较大的性能损耗,相反,由于部署在虚拟机上,还能吸收虚拟机的一部分优点:与虚拟机相结合地部署容器能够实现整个服务组中的服务彼此隔离而且运行在一个虚拟机中。这种方式通过引入两个层级:容器与虚拟机,而提升了分布式应用程序的安全。另外这种方式达成了更有效的资源使用并且可以为所定义的隔离和安全目标在减少虚拟机数量的同时增加容器的密度。对于实际生产中,容器部署在虚拟机上这一环境下,经常会出现负载不均衡的情况,具体表现为服务器的CPU利用率显著提高,我们将出现此类情况的服务器称为过载服务器。此时,需要对过载服务器上的虚拟机或者容器进行迁移。近几年,对于容器虚拟化环境中的迁移研究,已经取得了一些进展。SarehFotuhiPiraghaj等人提出了一种云数据中心节能的容器整合框架和算法,通过在虚拟机上整合容器,来提升服务器的能源效率。聂虎卿提出了一种基于最小迁移量的容器迁移方法,对容器的增长态势进行判断,首先选取处于增长态势的容器,然后再在上述容器中,选择负载较大的容器进行迁移。虽然近几年在容器虚拟化环境下的迁移,已经有了一些进展,但是对于容器部署在虚拟机上这一情况下的研究,还不够完善。对于此种环境下,通过容器迁移或虚拟机迁移达到负载均衡,需要解决以下的几个问题:(1)由于虚拟机上不止运行着容器,还运行着其他进程,对于服务器出现过载的情况,需要判断究竟是容器还是虚拟机的运行导致服务器出现过载。(2)由于容器的负载时刻都在变化,单纯对容器历史负载数据进行回归分析,就判断容器处于增长或者下降态势,不太准确。对于待迁移容器的选择,需要有更好的方法。
技术实现思路
本专利技术的目的在于克服现有技术的缺点与不足,提供一种容器和虚拟机混合云环境下的负载动态迁移方法,该方法首先对虚拟机负载和容器负载进行判断,找出对服务器负载影响较大的部分,若虚拟机影响较大,则对虚拟机整体进行迁移,若容器影响较大,则对容器历史负载数据进行分析,对接下来一段时间容器负载进行预测,选择接下来一段时间内处于增长态势的容器进行迁移。本专利技术的目的通过以下的技术方案实现:一种容器和虚拟机混合云环境下的负载动态迁移方法,包含以下步骤:选择待迁移服务器步骤:运用静态阈值法,选择出过载的服务器;选择待迁移虚拟机步骤:选择过载服务器上负载较高的虚拟机,将其加入待迁移虚拟机列表mig_vmlist;判断迁移容器还是虚拟机步骤:判断过载服务器上,出现过载的原因是由于虚拟机负载影响较大还是容器负载影响较大:如果是虚拟机负载影响较大,下一步迁移虚拟机;如果是虚拟机上的容器负载影响较大,下一步选择容器进行迁移;选择待迁移容器步骤:通过最小二乘法的拟合方法,对容器的CPU利用率进行预测,选择容器负载处于上升态势的容器,加入到待迁移容器列表mig_clist中,迁移其中的容器;容器迁移步骤:对于目标服务器上没有虚拟机的情况,首先创建虚拟机,然后将待迁移容器列表中的容器迁移到新创建的虚拟机上;对于目标服务器上存在虚拟机的情况,直接将待迁移容器列表中的容器迁移到目标服务器的虚拟机上;虚拟机迁移步骤:将待迁移虚拟机列表中虚拟机采用混合拷贝的方法迁移到目标服务器上。所述选择待迁移服务器步骤具体包括:步骤1.1、在T时间段内,每隔时间t,收集每个物理机hi,在tμ时刻的CPU利用率步骤1.2、设置服务器负载阈值H*,如果一段时间内物理机平均负载大于H*,将其标记为过载服务器。所述选择待迁移虚拟机步骤,具体为:步骤2.1、在T时间段内,每隔时间t,收集tμ时刻过载服务器上虚拟机vj的CPU利用率步骤2.2、对于每台虚拟机vj每个时刻tμ的CPU利用率求均值,得到计算方法如下:步骤2.3、对于每台虚拟机的求所有虚拟机的CPU利用率均值计算方法如下:其中,为服务器i上的虚拟机数量;步骤2.4、将此服务器上CPU利用率大于的虚拟机,加入到待迁移列表mig_vmlist中,将mig_vmlist中的虚拟机按照CPU利用率从高到低排序,总是优先将CPU利用率最大的虚拟机作为待迁移对象。所述判断迁移容器还是虚拟机步骤,具体为:步骤3.1、在T时间段内,每隔时间t,收集待迁移虚拟机列表mig_vmlist中CPU利用率最大的虚拟机vj上每个容器的CPU利用率然后得到虚拟机vj上所有容器的总CPU利用率其计算方法如下:其中,为虚拟机vj上容器的数量;步骤3.2、对相同时刻tμ的虚拟机vj上所有容器的总CPU利用率与虚拟机vj的CPU利用率分别同服务器的CPU利用率进行余弦相似度计算,余弦相似度的计算公式如下:其中,γ(c,h)为虚拟机vj上所有容器CPU利用率之和与服务器CPU利用率的相似度计算结果,γ(v,h)为虚拟机vj的CPU利用率与服务器CPU利用率相似度计算结果;步骤3.3、比较γ(c,h)和γ(v,h)的大小,若γ(v,h)较大,选取待迁移虚拟机列表中第一个虚拟机进行迁移,执行虚拟机迁移步骤,若γ(c,h)较大,则执行选择待迁移容器步骤。所述选择待迁移容器步骤,具体为:步骤4.1、对待迁移虚拟机vj上收集到的所有容器在tμ时刻的CPU利用率求得均值其计算方法如下:其中,为虚拟机vj上容器的数量;步骤4.2、采用非线性回归预测方法,对T时间段内的容器CPU利用率和时间进行拟合,其中采用的回归预测模型如下:y=m0+m1x+m2x2其中,y为容器CPU利用率;x为时间;m0、m1和m2为模型系数;然后将非线性回归转换为线性回归,其转换规则如下:z1=xz2=x2y=m0+m1z1+m2z2然后根据其每个时刻tμ和所对应的容器CPU利用率的训练数据,计算损失函数,寻找的目标函数让损失函数尽可能小,损失函数模型如下:构造最小二乘法回归参数的估计值模型,来确定参数的值,其估计值模型如下:在求得参数之后,构造每一个容器CPU利用率的回归曲线模型;步骤4.3、利用容器ck的CPU利用率的回归曲线模型,预测下一个T时间段内,每个时刻tμ的CPU利用率,将其与进行比较,若收集到的CPU利用率大于的次数,超过则将此容器加入到待迁移容器列表mig_clist中;步骤4.4、对mig_clist中的容器进行迁移,执行容器迁移步骤。所述容器迁移步骤,具体为:首先判断目标服务器是否存在着虚拟机,若不存在,则在目标服务器上创建虚拟机,然后选取mig_clist中的容器进行基于预拷贝的迁移;若存在,则直接选取mig_clist中的容器,进行基于预拷贝的迁移。所述虚拟机迁移步骤,具体为:对于待迁移虚拟机列表mig_vmlist中的虚拟机,进行基于混合拷贝的虚拟机迁移。本文档来自技高网
...

【技术保护点】
1.一种容器和虚拟机混合云环境下的负载动态迁移方法,其特征在于,包含以下步骤:选择待迁移服务器步骤:运用静态阈值法,选择出过载的服务器;选择待迁移虚拟机步骤:选择过载服务器上负载较高的虚拟机,将其加入待迁移虚拟机列表mig_vmlist;判断迁移容器还是虚拟机步骤:判断过载服务器上,出现过载的原因是由于虚拟机负载影响较大还是容器负载影响较大:如果是虚拟机负载影响较大,下一步迁移虚拟机;如果是虚拟机上的容器负载影响较大,下一步选择容器进行迁移;选择待迁移容器步骤:通过最小二乘法的拟合方法,对容器的CPU利用率进行预测,选择容器负载处于上升态势的容器,加入到待迁移容器列表mig_clist中,迁移其中的容器;容器迁移步骤:对于目标服务器上没有虚拟机的情况,首先创建虚拟机,然后将待迁移容器列表中的容器迁移到新创建的虚拟机上;对于目标服务器上存在虚拟机的情况,直接将待迁移容器列表中的容器迁移到目标服务器的虚拟机上;虚拟机迁移步骤:将待迁移虚拟机列表中虚拟机采用混合拷贝的方法迁移到目标服务器上。

【技术特征摘要】
1.一种容器和虚拟机混合云环境下的负载动态迁移方法,其特征在于,包含以下步骤:选择待迁移服务器步骤:运用静态阈值法,选择出过载的服务器;选择待迁移虚拟机步骤:选择过载服务器上负载较高的虚拟机,将其加入待迁移虚拟机列表mig_vmlist;判断迁移容器还是虚拟机步骤:判断过载服务器上,出现过载的原因是由于虚拟机负载影响较大还是容器负载影响较大:如果是虚拟机负载影响较大,下一步迁移虚拟机;如果是虚拟机上的容器负载影响较大,下一步选择容器进行迁移;选择待迁移容器步骤:通过最小二乘法的拟合方法,对容器的CPU利用率进行预测,选择容器负载处于上升态势的容器,加入到待迁移容器列表mig_clist中,迁移其中的容器;容器迁移步骤:对于目标服务器上没有虚拟机的情况,首先创建虚拟机,然后将待迁移容器列表中的容器迁移到新创建的虚拟机上;对于目标服务器上存在虚拟机的情况,直接将待迁移容器列表中的容器迁移到目标服务器的虚拟机上;虚拟机迁移步骤:将待迁移虚拟机列表中虚拟机采用混合拷贝的方法迁移到目标服务器上。2.根据权利要求1所述容器和虚拟机混合云环境下的负载动态迁移方法,其特征在于,所述选择待迁移服务器步骤具体包括:步骤1.1、在T时间段内,每隔时间t,收集每个物理机hi,在tμ时刻的CPU利用率步骤1.2、设置服务器负载阈值H*,如果一段时间内物理机平均负载大于H*,将其标记为过载服务器。3.根据权利要求1所述容器和虚拟机混合云环境下的负载动态迁移方法,其特征在于,所述选择待迁移虚拟机步骤,具体为:步骤2.1、在T时间段内,每隔时间t,收集tμ时刻过载服务器上虚拟机vj的CPU利用率步骤2.2、对于每台虚拟机vj每个时刻tμ的CPU利用率求均值,得到计算方法如下:步骤2.3、对于每台虚拟机的求所有虚拟机的CPU利用率均值计算方法如下:其中,为服务器i上的虚拟机数量;步骤2.4、将此服务器上CPU利用率大于的虚拟机,加入到待迁移列表mig_vmlist中,将mig_vmlist中的虚拟机按照CPU利用率从高到低排序,总是优先将CPU利用率最大的虚拟机作为待迁移对象。4.根据权利要求1所述容器和虚拟机混合云环境下的负载动态迁移方法,其特征在于,所述判断迁移容器还是虚拟机步骤,具体为:步骤3.1、在T时间段内,每隔时间t,收集待迁移虚拟机列表mig_vmlist中CPU利用率最大的虚拟机vj上每个容器的CPU利用率然后得到虚拟机vj上所有容器的总CPU利用率其计算方法如下:其中,...

【专利技术属性】
技术研发人员:林伟伟刘阳
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1