一种面向云数据中心的Docker迁移方法及系统技术方案

技术编号:24251236 阅读:46 留言:0更新日期:2020-05-22 23:25
本发明专利技术公开一种面向云数据中心的Docker迁移方法及系统,收集集群中各个物理节点的负载信息值并量化,当监测到某个节点负载达到设定阈值或者由于损坏导致容器暂停运行的情况,产生反馈信息,在超载或空载节点上使用热点容器选择算法选择待迁移的容器,并根据待迁移容器的资源需求向量和其他节点的剩余资源量做亲和度匹配,选出目标节点集。然后在目标节点集中,根据概率选择算法选择最佳目标节点,将待迁移的容器迁移到目标节点恢复执行。本发明专利技术以最小迁移量、最短迁移时间和最低能耗为原则,进行容器迁移方法的设计,可以有效减少集群由于某个计算节点出现故障带来的损失,提高现有集群的可靠性和利用率,实现负载均衡,为集群提供了更高的可用性。

A docker migration method and system for Cloud Data Center

【技术实现步骤摘要】
一种面向云数据中心的Docker迁移方法及系统
本专利技术属于计算机应用领域,具体涉及一种面向云数据中心的Docker迁移方法及系统。
技术介绍
云计算作为一种新兴的计算模式,近几年受到越来越多的关注和应用,随着云服务规模的扩大,数据中心不断的扩张,为了可以在大规模的云服务平台下有效实现容灾和负载均衡,将计算资源进行有效分配,在线迁移技术就不得不引起人们的重视。同时,高性能计算的发展也面临着众多挑战,其中最突出的两个问题是系统的低可靠和高耗能。针对以上问题,如何通过迁移技术和迁移策略保证并行程序的可靠运行以及集群的负载均衡更是研究的重点。传统模式下,由于任务的计算量非常庞大并且依赖的环境非常复杂,单纯的做任务迁移很容易出现迁移代价过大和环境不兼容的情况,因此可以考虑通过虚拟机迁移来解决兼容性和迁移代价过高的问题,从而提高计算资源的利用率,但是在高性能计算中心,由于需要充分利用计算资源的硬件能力,使用虚拟机来运行任务会有大概30%的性能损失,所以并不是最佳的方案选择。而随着人们容器概念的理解不断深入,以及最近几年Docker容器的持续火热使人们对云服务的模式产生了新的思考,容器将给云带来更轻便,更灵活,更密集的服务能力。Docker容器是一种轻量级的虚拟化解决方案,通过引入分层文件系统构建和高效的镜像机制,提高了资源利用率,极大地提升了用户体验。但是相比于虚拟机,一方面Docker容器目前还没有一套成熟的迁移机制。另一方面,在操作系统的角度来看,容器就相当于一个个的进程组在其中运行,而正是容器与内核这种密切的关联对容器的迁移技术提出了挑战,迁移过程中的状态信息及资源都分散在操作系统甚至内核之中,容器的迁移也就变的更加复杂。通过研究发现,要实现云数据中心的灾备和集群的负载均衡,提高现有集群的可靠性和资源利用率,研究并实现一种Docker容器的迁移方法及系统具有十分重要的意义。
技术实现思路
为解决现有技术中存在的问题,本专利技术目的在于提供一种面向云数据中心的Docker迁移方法及系统,本专利技术能够有效减少集群由于某个计算节点出现故障带来的损失,提高现有集群的可靠性和利用率,同时实现集群各计算节点之间的负载均衡,为集群提供了更高的可用性。为实现上述目的,本专利技术采用的技术方案如下:一种面向云数据中心的Docker迁移方法,包括如下步骤:S1,设定集群节点的双阈值(即超载阈值和空载阈值),收集各个物理节点的负载信息并进行量化,当监测到某个节点负载达到设定阈值或者由于损坏导致容器暂停的情况,则触发迁移,并产生反馈信息;S2,根据反馈信息,在超载节点上根据热点容器选择算法选择待迁移的热点容器;然后再根据目标节点选择算法,将待迁移热点容器的资源需求向量和其他节点的剩余资源向量做余弦匹配,根据概率算法选择最佳目标节点,再将待迁移热点容器的ID和目标节点的IP地址信息传递出去;S3,获取待迁移容器的ID和目标节点的IP地址信息,检测该待迁移热点容器能否被迁移以及和目标节点是否匹配,然后选择迁移方法,将待迁移容器迁移到目标节点并恢复运行。S1中,收集各个物理节点的负载信息时,通过第三方库psutil间隔时间T获取整个集群中各物理节点和容器的各项性能监控数据,T值根据节点负载变化动态调整。S1中,设定超载阈值,当节点某项负载值达到超载阈值,触发迁移。具体的,为了防止触发迁移过程中出现峰值误触发现象,设置为未来监测的N个某一项负载值有K个超过设定的阈值,则再触发迁移。设定空载阈值,当某个节点的所有负载值都低于设定的空载阈值时,触发迁移。S2中,热点容器选择算法是根据被触发节点的触发类型和该节点上容器的负载特征选择迁移的容器;如果是触发类型是超载,对于某一超载负载(例如CPU负载),利用最佳适应算法按照该负载(CPU)与超载部分的使用率差值对容器进行一次排序;然后利用历史的负载使用率数据和回归算法拟合,预测该节点上每个容器的负载增长速度,根据增长速度再做一次排序,对两次排序进行加权,优先迁移占有量高且增长速度块的容器,直至阈值达到正常范围;如果触发类型是空载,将该节点的剩余容器都标注为热点容器,如果有合适的目标节点(即所有负载值始终低于超载阈值的节点),则将该节点迁移出去,然后将该节点休眠,以降低能耗;如果没有合适的目标节点,则不进行迁移。在进行目标节点选择算法时,进行资源属性向量化,以各种资源利用率为统一单位进行归一化处理,然后计算亲和度(即待迁移容器的属性向量和其他节点的属性向量的余弦值),对其他的物理节点进行资源类型的亲和度排序,从而选择最佳目标节点;同时要使目标节点的负载始终低于超载阈值,如果没有合适节点,开启额外的休眠节点或者产生超载告警信息。目标节点选择算法过程中,从排好的物理节点集合中按预设比例选出前K个满足资源需求的节点组成目标物理节点子集,采用概率算法从前K个节点中选出最终的目标节点,概率算法同时保证亲和度越高的节点被选中的概率越大。前k个节点中第i个节点被选中的概率Pi通过以下公式确定:其中,Ri为与节点i的亲和度,亲和度越高的节点被选中的概率越高。S3中,选择迁移方法时,对于容器中运行的不同应用程序的要求使用不同的迁移方法,迁移方法包括冷迁移和热迁移。对实时性要求不高的容器(即可以承受秒级暂停),则进行冷迁移,实时性要求高的容器(即不能承受暂停的容器)使用热迁移;冷迁移时,使用共享存储或者私有镜像仓库的方式,将容器镜像传输或者挂载到目标节点,使用镜像重新执行容器,进行恢复;热迁移基于CRIU工具来实现。一种实现所述面向云数据中心的Docker迁移方法的系统,包括监控模块、决策模块、迁移模块和评估模块,其中:监控模块:用于收集各个物理节点的负载信息并进行量化,当监测到某个节点负载达到设定阈值或者由于损坏导致容器暂停的情况,则触发迁移,并产生反馈信息给决策模块;决策模块:用于根据反馈信息,在超载节点上根据热点容器选择算法选择待迁移的热点容器;然后再根据目标节点选择算法,将待迁移热点容器的资源需求向量和其他节点的剩余资源向量做余弦匹配,使用概率算法选择最佳目标节点,再将待迁移热点容器的ID和目标节点的IP地址信息传递给迁移模块;迁移模块:用于获取待迁移容器的ID和目标节点的IP地址信息,检测该待迁移热点容器能否被迁移,以及和目标节点是否匹配,然后选择迁移方法,将待迁移容器迁移到目标节点并恢复运行。所述系统还包括评估模块,评估模块用于在迁移完成后,记录此次迁移的源节点和目标节点的IP地址,迁移容器的ID,迁移时间消耗和迁移次数,用于后续的动态阈值调整。本专利技术具有如下有益效果:本专利技术通过收集集群中各个物理节点的负载信息值并进行量化,当监测到某个节点负载达到设定阈值或者由于损坏导致容器暂停运行的情况,产生告警信息,根据告警信息,在超载或空载节点上使用热点容器选择算法选择待迁移的容器,并根据待迁移容器的资源需求向量和其他节点的剩余资源量本文档来自技高网
...

【技术保护点】
1.一种面向云数据中心的Docker迁移方法,其特征在于,包括如下步骤:/nS1,设定集群节点的超载阈值和空载阈值,收集各个物理节点的负载信息并进行量化,当监测到某个节点负载达到设定阈值或者由于损坏导致容器暂停的情况,则触发迁移,并产生反馈信息;/nS2,根据反馈信息,在超载节点上根据热点容器选择算法选择待迁移的热点容器;然后再根据目标节点选择算法,将待迁移热点容器的资源需求向量和其他节点的剩余资源向量做余弦匹配,根据概率算法选择最佳目标节点,再将待迁移热点容器的ID和目标节点的IP地址信息传递出去;/nS3,获取待迁移容器的ID和目标节点的IP地址信息,检测该待迁移热点容器能否被迁移以及和目标节点是否匹配,然后选择迁移方法,将待迁移容器迁移到目标节点并恢复运行。/n

【技术特征摘要】
1.一种面向云数据中心的Docker迁移方法,其特征在于,包括如下步骤:
S1,设定集群节点的超载阈值和空载阈值,收集各个物理节点的负载信息并进行量化,当监测到某个节点负载达到设定阈值或者由于损坏导致容器暂停的情况,则触发迁移,并产生反馈信息;
S2,根据反馈信息,在超载节点上根据热点容器选择算法选择待迁移的热点容器;然后再根据目标节点选择算法,将待迁移热点容器的资源需求向量和其他节点的剩余资源向量做余弦匹配,根据概率算法选择最佳目标节点,再将待迁移热点容器的ID和目标节点的IP地址信息传递出去;
S3,获取待迁移容器的ID和目标节点的IP地址信息,检测该待迁移热点容器能否被迁移以及和目标节点是否匹配,然后选择迁移方法,将待迁移容器迁移到目标节点并恢复运行。


2.根据权利要求1所述一种面向云数据中心的Docker迁移方法,其特征在于,S1中,收集各个物理节点的负载信息时,通过第三方库psutil间隔时间T获取整个集群中各物理节点和容器的各项性能监控数据,T值根据节点负载变化动态调整。


3.根据权利要求1所述一种面向云数据中心的Docker迁移方法,其特征在于,S1中:
设定超载阈值,当节点某项负载值达到超载阈值,触发迁移,具体的:当设置为未来监测的N个某一项负载值有K个超过设定的阈值时,则再触发迁移,以防止触发迁移过程中出现峰值误触发现象;
设定空载阈值,当某个节点的所有负载值都低于设定的空载阈值时,触发迁移。


4.根据权利要求1所述一种面向云数据中心的Docker迁移方法,其特征在于,S2中,热点容器选择算法是根据被触发节点的触发类型和该节点上容器的负载特征选择迁移的容器;
如果是触发类型是超载,对于某一超载负载,利用最佳适应算法按照该负载与超载部分的使用率差值对容器进行一次排序;然后利用历史的负载使用率数据和回归算法拟合,预测该节点上每个容器的负载增长速度,根据增长速度再做一次排序,对两次排序进行加权,优先迁移占有量高且增长速度块的容器,直至阈值达到正常范围;
如果触发类型是空载,将该节点的剩余容器都标注为热点容器,如果有合适的目标节点,则将该节点迁移出去,然后将该节点休眠;如果没有合适的目标节点,则不进行迁移;所述合适的目标节点为所有负载值始终低于超载阈值的节点;
在进行目标节点选择算法时,进行资源属性向量化,以各种资源利用率为统一单位进行归一化处理,然后计算亲和度,对其他的物理节点进行资源类型的亲和度排序,从而选择最佳目标节点;同时要使目标节点的负载始终低于超载阈值,如果没有合适节点,开启额外的休眠节点或者...

【专利技术属性】
技术研发人员:朱正东郭辉韩靖雯王鹏博李小轩李珍
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西;61

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

1