CN108182105A - 基于Docker容器技术的局部动态迁移方法及控制*** - Google Patents

基于Docker容器技术的局部动态迁移方法及控制*** Download PDF

Info

Publication number
CN108182105A
CN108182105A CN201711322296.9A CN201711322296A CN108182105A CN 108182105 A CN108182105 A CN 108182105A CN 201711322296 A CN201711322296 A CN 201711322296A CN 108182105 A CN108182105 A CN 108182105A
Authority
CN
China
Prior art keywords
container
utilization rate
migration
server
resource
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711322296.9A
Other languages
English (en)
Other versions
CN108182105B (zh
Inventor
樊卫北
王岩
樊建席
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou University
Original Assignee
Suzhou University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou University filed Critical Suzhou University
Priority to CN201711322296.9A priority Critical patent/CN108182105B/zh
Publication of CN108182105A publication Critical patent/CN108182105A/zh
Application granted granted Critical
Publication of CN108182105B publication Critical patent/CN108182105B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

基于Docker容器技术的局部动态迁移方法及控制***,属于云计算技术领域。解决了现有容器迁移技术中存在的资源浪费问题。所述的方法是根据最近n个采样周期中的节点资源使用率以及预测的资源使用率来判定过载服务器的出现并触发容器迁移,针对过载服务器中的待迁移容器的选择是首选合计使用率较大、但内存较小的容器,实现了在平衡负载的同时降低迁移开销的效果。对于目标服务器的选择则是首先保证该目标服务器中有足够可用的资源。对于在迁移过程生成新的容器、并行导致目标服务器过载的情况,则表示集群的所有服务器中没有能够容纳该容器的服务器,因此没有不必要迁移该容器,更换待迁移的容器。本发明提高了资源利用率、减少了任务执行时间。

Description

基于Docker容器技术的局部动态迁移方法及控制***
技术领域
本申请涉及Docker容器迁移技术,属于云计算技术领域。
背景技术
随着云计算技术的广泛应用,云服务的规模逐渐扩大,数据中心网络不断的扩张。为了实现云服务平台中的负载均衡,如何有效分配计算资源,资源迁移技术成为研究热点。所谓的负载均衡是指将请求/数据均匀分摊到多个操作单元上执行。
在传统模式中,云计算的核心是虚拟化,主要是通过虚拟机提高资源的利用率。容器(Docker)是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器,是近年来新兴的虚拟化工具,它可以和虚拟机一样实现资源和***环境的隔离,它的优势是轻量性,高性能和便捷性。与传统虚拟机不同,容器是通过共享主机内核的方式,弹性分配计算资源,进而提高资源利用率。相对于操作***层次,容器就相当于在其中运行的进程组。由于容器与内核的密切关联,在迁移过程中的计算资源及状态信息都分散在操作***与内核之中,这就为迁移过程保证负载均衡提出了挑战。
相对于传统虚拟机,容器提供了基于进程的隔离。容器的创建,启动,停止与销毁,可以以毫秒级的速度实现。由于容器的生命周期仅为虚拟机的四分之一,在全局实现负载均衡是NP-hard问题,所以本发明从局部均衡状态下考虑容器的动态迁移。容器的迁移分为静态迁移和动态迁移。静态迁移是将源服务器的容器立即关闭,然后在目标服务器中创建一个新容器,将源服务器的容器状态迁移到目标服务器新的容器中。在静态迁移中,将会暂停整个云服务,由此会造成大的经济损失。动态迁移也叫热迁移、实时迁移,是指在确保客户端访问不中断的情况下在不同的物理计算机或云平台之间移动应用程序的过程,并且该整个迁移过程是用户感觉不到。动态迁移是在确定了源服务器和目标服务器后,在这两个服务器之间进行信息协作,由此确定待迁移容器的状态信息。目前容器的动态迁移参照了虚拟机动态迁移的模式,主要分为两种类型,一个是复制前内存(pre-copy memory),另一个是复制后内存(post-copy memory)。
Virtuozzo团队对于容器热迁移技术的研究,目前已经可以提供用于生产环境并可以实现容器热迁移的容器引擎,不足之处是这种技术只能面向Virtuozzo定制的Linux内核。通过对内核的修改或者补丁才能完成容器热迁移功能,不能面向主流Linux内核来实现热迁移。
现有容器迁移技术存在的主要缺点有:
(1)容器内部状态信息获取问题:容器内存分布在进程之间,需要根据进程信息去依次获取相应内存信息,并且与容器相关需要在冻结步骤中保存的状态信息和资源对象十分复杂,大约有1000左右的对象信息需要保存,而且有的对象信息内核并没有提供相应的接口直接获取,虚拟机则只需要保存70个左右的对象信息且可以直接获取。
(2)数据量的不确定性:容器中包含的程序,由于计算任务不同,对资源的需求量会千差万别。在容器内部进行大量计算后,会快速的生成大量随机数据,由此对容器的存储空间影响很大。
(3)进程间的关系:由于容器之间的进程组之间会存在嵌套父子关系,热迁移过程需要维持进程之间的关系,所以进程子树的迁移问题需要得以解决,
(4)资源浪费:没有考虑到容器的生命周期管理,不仅造成计算资源的浪费,而且在容器消亡后,造成用户数据的丢失。
发明内容
本发明解决了现有容器迁移技术中存在的问题。
为了解决上述问题,本发明提供了一种基于Docker容器技术的局部动态迁移方法及控制***,其中:
所述的基于Docker容器技术的局部动态迁移方法包括如下步骤
步骤1,根据周期性采集集群节点中每个节点的资源使用率,监测集群节点中每个节点的资源使用情况,并确定是否存在热点,当发现存在热点时,触发启动下述步骤进行容器迁移;
步骤2,统计集群中每台服务器整合不同的资源的使用率参数volume,
公式中mem表示服务器或容器的内存使用率,cpu表示CPU的使用率,net表示带宽利用率;并将集群中的N台服务器按照volume值的大小降序排序;
步骤3,针对volume值最大的过载服务器,做如下处理:
将其内部的所有容器按照VSR值降序排序,所述VSR=volume/size,其中,size表示容器的内存大小;
按照VSR值从大到小的顺序,依次进行容器迁移,直到所述volume值最大的过载服务器中的所有资源的使用率都低于相应阈值,完成容器迁移;
返回执行步骤1。
上述步骤1所述确定是否存在热点的方法为,针对每个节点的资源使用率进行如下处理:
根据最近n个采集周期获得的使用率预测下一时刻的使用率,如果该使用率超过该节点的给定阈值,则进一步判断所述n个使用率中超过给定阈值的个数是否超过k,如果超过,则确定相应节点为热点,即:存在热点。
所述根据最近n个采集周期获得的使用率预测下一时刻的使用率vt的方法是采用自回归模型AR(n)实现,具体方法是通过公式:
vt=β01vt-12vt-2+...+βnvt-n+ω (1)
预测,公式中,vt-n,...,vt-2,vt-1分别是最近n个采集周期获得的使用率,β0、β1、β2…βn为自回归系数,ω为白噪声。
上述步骤3中所述的按照VSR值从大到小的顺序,依次进行容器迁移的过程为:
步骤31,选择VSR值最大的容器作为待迁移容器,选择volume最小的轻载服务器作为目标服务器,将待迁移容器迁移至目标服务器;
步骤32,判断所述volume值最大的过载服务器中的所有资源的使用率都低于相应阈值,如果低于,完成容器迁移,否则,选择VSR值次之的容器作为待迁移容器,返回执行步骤31。
上述步骤31中,如果在将待迁移容器迁移至目标服务器的过程中,生成了新的容器,从而导致目标服务器过载,则将volume值第二小的轻载服务器作为目标服务器继续进行迁移,如此反复,直到找到能够迁移的目标服务器完成本次迁移;如果最终没有找到能够迁移的目标服务器,则取消本次迁移,选择VSR值次之的容器作为待迁移容器,重复执行步骤31。
实现上述方法的一种基于Docker容器技术的局部动态迁移的控制***包括集群节点、迁移控制单元;每个服务器节点均包括容器监控单元和多个Docker容器;
所述容器监控单元用于监控所在服务器节点中所有Docker容器的资源使用状态;
所述迁移控制单元包括迁移管理器、热点探测器和资源采集器,其中:
所述资源采集器用于采集所有服务器节点中的容器监控单元获得的Docker容器的资源使用状态;还用于为每个容器生成资源使用配置文件;还用于为每个服务器生成整合的资源使用配置文件;
所述热点探测器用于访问资源采集器生成的资源使用配置文件获得所有服务器节点中所有Docker容器的资源使用情况,进而实现探测热点;
所述迁移管理器用于针对热点探测器确定的热点,控制实现该热点中的Docker容器迁移。
所述热点探测器实现探测热点的方法为:
根据最近n个采集周期获得的使用率预测下一时刻的使用率,如果该使用率超过给定阈值,则进一步判断所述n个使用率中超过给定阈值的个数是否超过k,如果超过,则确定相应节点为热点。
所述根据最近n个采集周期获得的使用率预测下一时刻的使用率的方法是采用自回归模型AR(n)实现,具体方法是通过公式:
vt=β01vt-1+β2vt-2+...+βnvt-n+ω (1)
实现预测,公式中vt表示下一时刻的使用率,vt-n,...,vt-2,vt-1分别是最近n个采集周期获得的使用率,β0、β1、β2…βn为自回归系数,ω为白噪声。
本发明所述的基于Docker容器技术的局部动态迁移方法,是从局部负载均衡出发考虑容器间的动态迁移,以保证局部负载均衡为原则,实现容器间的动态迁移,进而达到了提高资源的利用率、减少任务的执行时间的效果,具体优点有:
(1)时效性:实时监测集群的负载情况,相对于虚拟机,容器运行在进程中,各个容器的资源消耗处在线程级别。获取容器的资源状态信息,可以实现一种更细粒度的资源监控。
(2)局部优化:相对传统的虚拟机,容器具有生命周期短的特点,容器的运行和停止实现在毫秒级别,无法实现整个容器网络的负载均衡。通过监控集群的运行状态,进行容器动态迁移,从而实现局部负载优化。
(3)负载均衡:在局部动态迁移之后,把资源占用量大,增长趋势快的容器迁移到资源占有率低的服务器上。最后,服务器集群的负载均衡率小于阈值,可以实现最终的负载均衡。
本发明是针对云计算中的负载均衡问题,提出了基于容器技术的局部动态迁移方法,该方法采用了一种更轻量化的虚拟化方案-容器,实现了容器与容器之间的资源交互与协作,考虑到容器的生命周期特点,采用局部均衡的思想,实现单个节点内部的部分优化,最终实现容器之间动态迁移的方案。
附图说明
图1是集群中的容器资源监控原理框图,图2是本发明所述的Docker容器动态迁移***的架构。
实施方式
实施方式一、本实施方式所述的一种基于Docker容器技术的局部动态迁移方法包括如下步骤:
步骤1,根据周期性采集集群节点中每个节点的资源使用率,监测集群节点中每个节点的资源使用情况,并确定是否存在热点,当发现存在热点时,触发启动下述步骤进行容器迁移;
步骤2,统计集群中每台服务器整合不同的资源的使用率参数volume,
公式中mem表示服务器或容器的内存使用率,cpu表示CPU的使用率,net表示带宽利用率;并将集群中的N台服务器按照volume值的大小降序排序;
根据参数volume的公式能够确定,资源的使用率越高则volume值就越大。假如多种资源的使用率都很大,也就是说当多种资源同时过载,volume值就会很大。
步骤3,针对volume值最大的过载服务器标记为热点服务器,做如下处理:
将其内部的所有容器按照VSR值降序排序,所述VSR=volume/size,其中,size表示容器的内存大小;
按照VSR值从大到小的顺序,依次进行容器迁移,直到所述volume值最大的过载服务器中的所有资源的使用率都低于相应阈值,完成容器迁移;
返回执行步骤1。
上述方法的步骤3中,选择哪个容器进行迁移和选择合适的迁移目标服务器。对容器的再次放置属于NP-hard问题,因此本实施方式采用启发式算法,将从负载最重的服务器到负载最轻的服务器进行任务迁移,在迁移的过程要保证数据量不能过大,以此来减小迁移消耗。通常情况下,一种或多种资源的不足会引起服务器过载。
在实际情况中,当探测到过载节点(热点)后,首先对消除该热点容器所需的额外资源进行评估,如果可以通过节点内部资源分配来消除热点的话,则可以调用热点缓解算法来缓解热点,就不必进行容器迁移操作,从而节省迁移开销。但是假如探测到的热点服务器的使用率超过了给定阈值,则就只能通过容器迁移来解决,本实施方式所述的就是这种情况。
本实施方式中,步骤1所述确定是否存在热点的方法可以采用下属方法实现:针对每个节点的资源使用率进行如下处理:
根据最近n个采集周期获得的使用率预测下一时刻的使用率,如果该使用率超过给定阈值,则进一步判断所述n个使用率中超过给定阈值的个数是否超过k,如果超过,则确定相应节点为热点,即:存在热点。
上述根据最近n个采集周期获得的使用率预测下一时刻的使用率vt的方法是采用自回归模型AR(n)实现,具体方法是通过公式:
vt=β01vt-12vt-2+...+βnvt-n+ω (1)
预测,公式中,vt-n,...,vt-2,vt-1分别是最近n个采集周期获得的使用率,β0、β1、β2…βn为自回归系数,ω为白噪声。
上述步骤1的方法,在能够保证及时发现过载情况,并避免瞬时资源请求导致的不必要迁移,在容器资源的预测中采用了回归模型AR(n),利用过去的n个值来预测下一时刻的状态值,并同时结合最近n个采样周期中的使用率来触发启动发容器迁移。
当集群中某一个服务器节点发生过载时,就要从过载节点上选择合适的容器迁出,上述步骤3就是一种选择合适的容器迁出的过程。
上述步骤3中,所述的按照VSR值从大到小的顺序,依次进行容器迁移的过程为:
步骤31,选择VSR值最大的容器作为待迁移容器,选择volume最小的轻载服务器作为目标服务器,将待迁移容器迁移至目标服务器;
步骤32,判断所述volume值最大的过载服务器中的所有资源的使用率都低于相应阈值,如果低于,完成容器迁移,否则,选择VSR值次之的容器作为待迁移容器,返回执行步骤31。
上述步骤31中,如果在将待迁移容器迁移至目标服务器的过程中,生成了新的容器,从而导致目标服务器过载,则将volume值第二小的轻载服务器作为目标服务器继续进行迁移,如此反复,直到找到能够迁移的目标服务器完成本次迁移;如果最终没有找到能够迁移的目标服务器,则取消本次迁移,选择VSR值次之的容器作为待迁移容器,重复执行步骤31。
上述生成了新的容器,从而导致目标服务器过载的情况下,该容器的迁移就是无效的,必须重新尝试将该容器迁移至volume次之的轻载服务器上。
如果上述过程中,最终没有找到能够迁移的目标服务器,则表示集群的所有服务器中没有能够容纳该容器的服务器,因此没有不必要迁移该容器,而是选择去迁移VSR值次之的容器。
上述的步骤3是首选将合计使用率较大、但内存较小的容器首先迁出,即在平衡负载的同时降低迁移开销。
上述的步骤3中在选择目标服务器的时候,要首先保证该目标服务器中有足够可用的可用资源,因此,首选volume值最小的轻载服务器作为目标服务器,当该目标服务器无法实现迁移时,则选择volume值此致的轻载服务器。
本实施方式所述的局部动态迁移方法是将集群中的过载节点都恢复轻载状态,即维持一种局部负载平衡状态。
本实施方式是针对云计算中的负载均衡问题,提出了基于容器技术的局部动态迁移方法,该方法采用了一种更轻量化的虚拟化方案-容器,实现了容器与容器之间的资源交互与协作,考虑到容器的生命周期特点,采用局部均衡的思想,实现单个节点内部的部分优化,最终实现容器之间动态迁移的方案。
实施方式二、参见图1和2说明本实施方式。本实施方式所述的是一种基于Docker容器技术的局部动态迁移控制***,该控制***包括集群节点,所述控制***还包括迁移控制单元;每个服务器节点均包括容器监控单元和多个Docker容器;
所述容器监控单元用于监控所在服务器节点中所有Docker容器的资源使用状态;
所述迁移控制单元包括迁移管理器、热点探测器和资源采集器,其中:
所述资源采集器用于采集所有服务器节点中的容器监控单元获得的Docker容器的资源使用状态;还用于为每个容器生成资源使用配置文件;还用于为每个服务器生成整合的资源使用配置文件;
所述热点探测器用于访问资源采集器生成的资源使用配置文件获得所有服务器节点中所有Docker容器的资源使用情况,并以最新的资源使用情况实现探测热点;
所述迁移管理器用于针对热点探测器确定的热点,控制实现该热点中的Docker容器迁移。该迁移管理器实际就是以容器迁移的方式来缓解热点。
所述热点,是指资源使用率超过额定阈值的服务器节点。
本实施方式所述的控制***用于实现过载服务器的容器迁移。
上述热点探测器实现探测热点的方法为:
根据最近n个采集周期获得的使用率预测下一时刻的使用率,如果该使用率超过给定阈值,则进一步判断所述n个使用率中超过给定阈值的个数是否超过k,如果超过,则确定相应节点为热点。
所述根据最近n个采集周期获得的使用率预测下一时刻的使用率的方法是采用自回归模型AR(n)实现,具体方法是通过公式:
vt=β01vt-12vt-2+...+βnvt-n+ω (1)
实现预测,公式中vt表示下一时刻的使用率,vt-n,...,vt-2,vt-1分别是最近n个采集周期获得的使用率,β0、β1、β2…βn为自回归系数,ω为白噪声。
图1是本实施方式所述的一种n个节点的集群的示意图,S1,S2...Sn表示分别表示该集群中的第1、2、…n个服务器节点,然后将每个服务器节点内虚拟化生成m个Docker容器,并且在每个服务器节点内部配置了资源监控单元。

Claims (9)

1.一种基于Docker容器技术的局部动态迁移方法,其特征在于,所述方法包括如下步骤:
步骤1,根据周期性采集集群节点中每个节点的资源使用率,监测集群节点中每个节点的资源使用情况,并确定是否存在热点,当发现存在热点时,触发启动下述步骤进行容器迁移;
步骤2,统计集群中每台服务器整合不同的资源的使用率参数volume,
公式中mem表示服务器或容器的内存使用率,cpu表示CPU的使用率,net表示带宽利用率;并将集群中的N台服务器按照volume值的大小降序排序;
步骤3,针对volume值最大的过载服务器,做如下处理:
将其内部的所有容器按照VSR值降序排序,所述VSR=volume/size,其中,size表示容器的内存大小;
按照VSR值从大到小的顺序,依次进行容器迁移,直到所述volume值最大的过载服务器中的所有资源的使用率都低于相应阈值,完成容器迁移;
返回执行步骤1。
2.根据权利要求1所述的一种基于Docker容器技术的局部动态迁移方法,其特征在于,步骤1所述确定是否存在热点的方法为,针对每个节点的资源使用率进行如下处理:
根据最近n个采集周期获得的使用率预测下一时刻的使用率,如果该使用率超过该节点的给定阈值,则进一步判断所述n个使用率中超过给定阈值的个数是否超过k,如果超过,则确定相应节点为热点,即:存在热点。
3.根据权利要求2所述的一种基于Docker容器技术的局部动态迁移方法,其特征在于,所述根据最近n个采集周期获得的使用率预测下一时刻的使用率vt的方法是采用自回归模型AR(n)实现,具体方法是通过公式:
vt=β01vt-12vt-2+...+βnvt-n+ω (1)
预测,公式中,vt-n,...,vt-2,vt-1分别是最近n个采集周期获得的使用率,β0、β1、β2…βn为自回归系数,ω为白噪声。
4.根据权利要求1所述的一种基于Docker容器技术的局部动态迁移方法,其特征在于,步骤3中所述的按照VSR值从大到小的顺序,依次进行容器迁移的过程为:
步骤31,选择VSR值最大的容器作为待迁移容器,选择volume最小的轻载服务器作为目标服务器,将待迁移容器迁移至目标服务器;
步骤32,判断所述volume值最大的过载服务器中的所有资源的使用率都低于相应阈值,如果低于,完成容器迁移,否则,选择VSR值次之的容器作为待迁移容器,返回执行步骤31。
5.根据权利要求4所述的一种基于Docker容器技术的局部动态迁移方法,其特征在于,步骤31中,如果在将待迁移容器迁移至目标服务器的过程中,生成了新的容器,从而导致目标服务器过载,则将volume值第二小的轻载服务器作为目标服务器继续进行迁移,如此反复,直到找到能够迁移的目标服务器完成本次迁移;如果最终没有找到能够迁移的目标服务器,则取消本次迁移,选择VSR值次之的容器作为待迁移容器,重复执行步骤31。
6.一种基于Docker容器技术的局部动态迁移控制***,该控制***包括集群节点,其特征在于,所述控制***还包括迁移控制单元;每个服务器节点均包括容器监控单元和多个Docker容器;
所述容器监控单元用于监控所在服务器节点中所有Docker容器的资源使用状态;
所述迁移控制单元包括迁移管理器、热点探测器和资源采集器,其中:
所述资源采集器用于采集所有服务器节点中的容器监控单元获得的Docker容器的资源使用状态;还用于为每个容器生成资源使用配置文件;还用于为每个服务器生成整合的资源使用配置文件;
所述热点探测器用于访问资源采集器生成的资源使用配置文件获得所有服务器节点中所有Docker容器的资源使用情况,进而实现探测热点;
所述迁移管理器用于针对热点探测器确定的热点,控制实现该热点中的Docker容器迁移。
7.根据权利要求6所述的一种基于Docker容器技术的局部动态迁移控制***,其特征在于,所述热点,是指资源使用率超过额定阈值的服务器节点。
8.根据权利要求6所述的一种基于Docker容器技术的局部动态迁移控制***,其特征在于,所述热点探测器实现探测热点的方法为:
根据最近n个采集周期获得的使用率预测下一时刻的使用率,如果该使用率超过给定阈值,则进一步判断所述n个使用率中超过给定阈值的个数是否超过k,如果超过,则确定相应节点为热点。
9.根据权利要求8所述的一种基于Docker容器技术的局部动态迁移控制***,其特征在于,所述根据最近n个采集周期获得的使用率预测下一时刻的使用率的方法是采用自回归模型AR(n)实现,具体方法是通过公式:
vt=β01vt-12vt-2+...+βnvt-n+ω (1)
实现预测,公式中vt表示下一时刻的使用率,vt-n,...,vt-2,vt-1分别是最近n个采集周期获得的使用率,β0、β1、β2…βn为自回归系数,ω为白噪声。
CN201711322296.9A 2017-12-12 2017-12-12 基于Docker容器技术的局部动态迁移方法及控制*** Active CN108182105B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711322296.9A CN108182105B (zh) 2017-12-12 2017-12-12 基于Docker容器技术的局部动态迁移方法及控制***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711322296.9A CN108182105B (zh) 2017-12-12 2017-12-12 基于Docker容器技术的局部动态迁移方法及控制***

Publications (2)

Publication Number Publication Date
CN108182105A true CN108182105A (zh) 2018-06-19
CN108182105B CN108182105B (zh) 2023-08-15

Family

ID=62546178

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711322296.9A Active CN108182105B (zh) 2017-12-12 2017-12-12 基于Docker容器技术的局部动态迁移方法及控制***

Country Status (1)

Country Link
CN (1) CN108182105B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108762912A (zh) * 2018-07-04 2018-11-06 郑州云海信息技术有限公司 一种容器集群弹性伸缩的方法和装置
CN109271249A (zh) * 2018-07-27 2019-01-25 暨南大学 一种基于P.haul框架的云容器预拷贝在线迁移方法
CN109710376A (zh) * 2018-12-12 2019-05-03 中国联合网络通信集团有限公司 容器集群管理***的动态调度方法和装置
CN110119377A (zh) * 2019-04-24 2019-08-13 华中科技大学 面向Docker容器的在线迁移***实现和优化方法
CN110134495A (zh) * 2019-05-21 2019-08-16 山东大学 一种容器跨主机在线迁移方法、存储介质及终端设备
CN110347498A (zh) * 2019-06-10 2019-10-18 华南理工大学 一种容器和虚拟机混合云环境下的负载动态迁移方法
CN110413436A (zh) * 2019-07-18 2019-11-05 腾讯科技(深圳)有限公司 一种故障处理方法及装置
CN110990160A (zh) * 2019-12-27 2020-04-10 广西电网有限责任公司 一种基于负荷预测的静态安全分析容器云弹性伸缩方法
CN111190688A (zh) * 2019-12-19 2020-05-22 西安交通大学 一种面向云数据中心的Docker迁移方法及***
CN111367632A (zh) * 2020-02-14 2020-07-03 重庆邮电大学 一种基于周期特征的容器云调度方法
CN113821340A (zh) * 2021-08-27 2021-12-21 济南浪潮数据技术有限公司 分布式***的动态均衡方法、***、终端及存储介质
CN118055023A (zh) * 2024-02-20 2024-05-17 中国科学院计算机网络信息中心 一种跨节点并行计算任务局部进程迁移的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244685A (zh) * 2011-08-11 2011-11-16 中国科学院软件研究所 一种支持负载均衡的分布式缓存动态伸缩方法及***
CN105338118A (zh) * 2015-11-30 2016-02-17 上海斐讯数据通信技术有限公司 分布式存储***
WO2016134542A1 (zh) * 2015-02-28 2016-09-01 华为技术有限公司 虚拟机的迁移方法、装置及设备
CN106528270A (zh) * 2016-11-16 2017-03-22 航天信息股份有限公司 一种基于OpenStack云平台的虚拟机自动迁移方法及***
CN106790726A (zh) * 2017-03-30 2017-05-31 电子科技大学 一种基于Docker云平台的优先级队列动态反馈负载均衡资源调度方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244685A (zh) * 2011-08-11 2011-11-16 中国科学院软件研究所 一种支持负载均衡的分布式缓存动态伸缩方法及***
WO2016134542A1 (zh) * 2015-02-28 2016-09-01 华为技术有限公司 虚拟机的迁移方法、装置及设备
CN105338118A (zh) * 2015-11-30 2016-02-17 上海斐讯数据通信技术有限公司 分布式存储***
CN106528270A (zh) * 2016-11-16 2017-03-22 航天信息股份有限公司 一种基于OpenStack云平台的虚拟机自动迁移方法及***
CN106790726A (zh) * 2017-03-30 2017-05-31 电子科技大学 一种基于Docker云平台的优先级队列动态反馈负载均衡资源调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
毛祺,卢胜林: "基于Docker Swarm集群的容器迁移策略的实现", 《信息技术》, no. 09, pages 156 - 160 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108762912A (zh) * 2018-07-04 2018-11-06 郑州云海信息技术有限公司 一种容器集群弹性伸缩的方法和装置
CN109271249B (zh) * 2018-07-27 2022-02-08 暨南大学 一种基于P.haul框架的云容器预拷贝在线迁移方法
CN109271249A (zh) * 2018-07-27 2019-01-25 暨南大学 一种基于P.haul框架的云容器预拷贝在线迁移方法
CN109710376A (zh) * 2018-12-12 2019-05-03 中国联合网络通信集团有限公司 容器集群管理***的动态调度方法和装置
CN110119377A (zh) * 2019-04-24 2019-08-13 华中科技大学 面向Docker容器的在线迁移***实现和优化方法
CN110134495A (zh) * 2019-05-21 2019-08-16 山东大学 一种容器跨主机在线迁移方法、存储介质及终端设备
CN110347498A (zh) * 2019-06-10 2019-10-18 华南理工大学 一种容器和虚拟机混合云环境下的负载动态迁移方法
CN110347498B (zh) * 2019-06-10 2022-12-16 华南理工大学 一种容器和虚拟机混合云环境下的负载动态迁移方法
CN110413436A (zh) * 2019-07-18 2019-11-05 腾讯科技(深圳)有限公司 一种故障处理方法及装置
CN111190688A (zh) * 2019-12-19 2020-05-22 西安交通大学 一种面向云数据中心的Docker迁移方法及***
CN111190688B (zh) * 2019-12-19 2022-12-09 西安交通大学 一种面向云数据中心的Docker迁移方法及***
CN110990160A (zh) * 2019-12-27 2020-04-10 广西电网有限责任公司 一种基于负荷预测的静态安全分析容器云弹性伸缩方法
CN111367632A (zh) * 2020-02-14 2020-07-03 重庆邮电大学 一种基于周期特征的容器云调度方法
CN111367632B (zh) * 2020-02-14 2023-04-18 重庆邮电大学 一种基于周期特征的容器云调度方法
CN113821340A (zh) * 2021-08-27 2021-12-21 济南浪潮数据技术有限公司 分布式***的动态均衡方法、***、终端及存储介质
CN118055023A (zh) * 2024-02-20 2024-05-17 中国科学院计算机网络信息中心 一种跨节点并行计算任务局部进程迁移的方法

Also Published As

Publication number Publication date
CN108182105B (zh) 2023-08-15

Similar Documents

Publication Publication Date Title
CN108182105A (zh) 基于Docker容器技术的局部动态迁移方法及控制***
CN106502792B (zh) 一种面向不同类型负载的多租户资源优化调度方法
CN111190688B (zh) 一种面向云数据中心的Docker迁移方法及***
CN107273185B (zh) 一种基于虚拟机的负载均衡控制方法
CN110231976B (zh) 一种基于负载预测的边缘计算平台容器部署方法及***
CN110134495B (zh) 一种容器跨主机在线迁移方法、存储介质及终端设备
CN108829494A (zh) 基于负载预测的容器云平台智能资源优化方法
Fu et al. Layered virtual machine migration algorithm for network resource balancing in cloud computing
US20120204176A1 (en) Method and device for implementing load balance of data center resources
CN104679594B (zh) 一种中间件分布式计算方法
CN102281329A (zh) 一种PaaS云平台的资源调度方法和***
CN108920153A (zh) 一种基于负载预测的Docker容器动态调度方法
CN107220108B (zh) 一种实现云数据中心负载均衡的方法和***
WO2023109068A1 (zh) 一种多云环境下基于用户体验的虚拟机自动迁移决策方法
US20220329651A1 (en) Apparatus for container orchestration in geographically distributed multi-cloud environment and method using the same
Shahapure et al. Virtual machine migration based load balancing for resource management and scalability in cloud environment
CN105975345A (zh) 一种基于分布式内存的视频帧数据动态均衡存储管理方法
CN112463395A (zh) 一种资源分配方法、装置、设备及可读存储介质
CN110597598B (zh) 一种云环境中的虚拟机迁移的控制方法
CN109976879B (zh) 一种基于资源使用曲线互补的云计算虚拟机放置方法
Jaiswal et al. An approach towards the dynamic load management techniques in cloud computing environment
Guo Ant colony optimization computing resource allocation algorithm based on cloud computing environment
CN104683480A (zh) 一种基于应用的分布式计算方法
CN108234617A (zh) 一种面向电力***混合云模式下的资源动态调度方法
Garg et al. Optimal virtual machine scheduling in virtualized cloud environment using VIKOR method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant