一种容器热迁移的方法及系统与流程

文档序号:11216037阅读:947来源:国知局
一种容器热迁移的方法及系统与流程

本发明涉及计算机技术领域,尤其涉及一种容器热迁移的方法及系统。



背景技术:

虚拟化是云计算的重要基础,docker(一个开源的应用容器引擎)定义了一套容器从构建到执行的标准化体系,改变了传统的虚拟化技术,深度影响了云计算领域。

在云计算的容器技术领域中,由于容器只是进行了轻量级的虚拟化,只是进行进程的隔离和限制。基于这样的现状,如果对容器进行热迁移就会面对进程在不同的宿主机上进行迁移的难题,由于不同宿主机上基础环境不一致,尤其是内存的使用情况,因此,在不同宿主机上热迁移进程几乎是无法做到真正的热迁移的。



技术实现要素:

针对上述技术的不足,本发明实施例提供了一种容器热迁移的方法及系统,其不仅能够对容器进行热迁移,而且能够对容器进行快速而可靠的热迁移。

本发明实施例解决其技术问题采取的技术方案是:

一方面,提供了一种容器热迁移的方法,它包括以下步骤:

发起容器迁移请求;

记录所要迁移容器的特征信息;

将源宿主机上的虚拟机迁移到目的宿主机上。

可选地,所述发起容器迁移请求的具体过程为:容器管理模块向源宿主机上的容器代理发送容器迁移命令。

可选地,所述记录所要迁移容器的特征信息的具体过程为:源宿主机上的容器代理把所要迁移容器的特征信息写入到容器特征文件中,并向容器管理模块发送热迁移准备完毕的响应。

可选地,所述将源宿主机上的虚拟机迁移到目的宿主机上的具体过程为:

容器管理模块向虚拟层管理模块发送虚拟机热迁移请求;

虚拟层管理模块分别向源宿主机和目的宿主机上的虚拟层代理发送虚拟机热迁移命令;

源宿主机和目的宿主机上的虚拟层代理协调完成虚拟机的热迁移工作。

可选地,本发明实施例的热迁移方法还包括以下步骤:

对目的宿主机上的无关容器进行停机清理。

可选地,所述的对目的宿主机上的无关容器进行停机清理的具体过程为:

容器管理模块向目的宿主机上的已经热迁移完的虚拟机上的容器代理发送清理非热迁移容器的命令

目的宿主机上的容器代理读取热迁移容器的容器特征记录文件,并根据监控的当前容器的统计信息,计算出待清除容器列表;

对待清除容器列表,把处于运行状态的容器进行停止运行操作,当所有的待清理容器都停止运行时,再对待清理的容器进行彻底的数据清理。

可选地,所述待清除容器列表的计算过程为:容器代理通过读取容器特征记录文件中所迁移容器的特征信息获取所迁移的容器,并与当前管理的容器进行取差集得到所要清除的容器集合,将所要清除的容器集合整理到待清除容器列表中。

另一方面,还提供了一种容器热迁移的系统,它包括源宿主机、目标宿主机、虚拟层管理模块、容器管理模块、虚拟机代理和容器代理,所述虚拟层管理模块分别与源宿主机和目标宿主机相连,所述容器管理模块分别与源宿主机和目标宿主机相连,所述的源宿主机和目标宿主机均包括虚拟机层和容器层,所述的源宿主机和目标宿主机的虚拟机层中均设置有虚拟机代理,所述的源宿主机和目标宿主机的容器层中均设置有容器代理,所述的虚拟层管理模块和容器管理模块用以发送对容器的管理调度命令,所述的虚拟机代理和容器代理用以执行相应的管理调度命令。

可选地,所述的源宿主机和目标宿主机的容器层中均设置有容器特征记录文件和多个容器,所述容器特征记录文件用以记录所述多个容器特征信息。

本发明实施例提供的技术方案具有以下有益效果:

本发明实施例方案首先记录源宿主机上需热迁移的容器及其相关进程,将源宿主机上的虚拟化层热迁移到目的宿主机上,此时热迁移后的容器已经可以在目的宿主机上工作,此时目的宿主机通过计算总进程除去虚拟化层基础的进程和之前记录的热迁移的容器及其相关进程的差集进程,通过清理这些差集进程,实现了基于虚拟化层热迁移和进程二次清理的容器热迁移。

本发明实施例方案首先设计了记录待迁移容器的特征文件,然后使用虚拟化层完全的热迁移容器所在的虚拟机,最后基于待迁移容器的特征文件对该虚拟机中的其他非迁移容器进行清理,解决了基于虚拟化层的容器场景难以完成容器热迁移的难题,使得容器热迁移的快速而可靠,并且为其他场景容器的热迁移提供了有益的启发和依据。

附图说明

下面结合说明书附图对本发明进行说明。

图1为本发明实施例提供的一种容器热迁移的系统的结构示意图;

图2为本发明实施例提供的第一种容器热迁移的方法的流程示意图;

图3为本发明实施例提供的第二种容器热迁移的方法的流程示意图。

具体实施方式

为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。

图1为本发明实施例提供的一种容器热迁移的系统的结构示意图。参见图1,本发明实施例的一种容器热迁移的系统,它包括源宿主机、目标宿主机、虚拟层管理模块、容器管理模块、虚拟机代理和容器代理,所述虚拟层管理模块分别与源宿主机和目标宿主机相连,所述容器管理模块分别与源宿主机和目标宿主机相连,所述的源宿主机和目标宿主机均包括虚拟机层和容器层,所述的源宿主机和目标宿主机的虚拟机层中均设置有虚拟机代理,所述的源宿主机和目标宿主机的容器层中均设置有容器代理,所述的虚拟层管理模块和容器管理模块用以发送对容器的管理调度命令,所述的虚拟机代理和容器代理用以执行相应的管理调度命令。

所述的源宿主机和目标宿主机的容器层中均设置有容器特征记录文件和多个容器,所述容器特征记录文件用以记录所述多个容器特征信息。

本发明实施例提供的一种容器热迁移的系统分为三个层次,最外层是物理宿主机(源宿主机和目的宿主机),中间一层为虚拟化层(源宿主机和目的宿主机均有虚拟化层),虚拟化层内还存在一层为容器层。该系统还有虚拟层管理模块和容器管理模块两个管理模块,依据虚拟机代理和容器代理两个代理模块,两个管理模块负责发送管理调度命令,对应代理模块在所处的层次中执行相应命令。进行容器的热迁移时通过容器管理模块发送请求到容器所在源宿主机中的虚拟机,源宿主机中容器代理进行记录待迁移容器的记录待迁移容器特征到文件中,通过请求虚拟化层来完成整个虚拟机的热迁移,通过容器管理模块调用目的宿主机上的容器代理,使其进行容器的清理工作,该容器代理根据待迁移容器的特征文件对虚拟机中的其他非迁移容器进行清理。

图2为本发明实施例提供的第一种容器热迁移的方法的流程示意图。参见图2,第一种容器热迁移的方法包括以下步骤:

发起容器迁移请求;

记录所要迁移容器的特征信息;

将源宿主机上的虚拟机迁移到目的宿主机上。

所述发起容器迁移请求的具体过程为:容器管理模块向源宿主机上的容器代理发送容器迁移命令。

所述记录所要迁移容器的特征信息的具体过程为:源宿主机上的容器代理把所要迁移容器的特征信息写入到容器特征文件中,并向容器管理模块发送热迁移准备完毕的响应。

所述将源宿主机上的虚拟机迁移到目的宿主机上的具体过程为:

容器管理模块向虚拟层管理模块发送虚拟机热迁移请求;

虚拟层管理模块分别向源宿主机和目的宿主机上的虚拟层代理发送虚拟机热迁移命令;

源宿主机和目的宿主机上的虚拟层代理协调完成虚拟机的热迁移工作。

本发明实施例方案的第一种容器热迁移的方法,通过首先记录源宿主机上需热迁移的容器及其相关进程,将源宿主机上的虚拟化层热迁移到目的宿主机上,此时热迁移后的容器已经可以在目的宿主机上工作。

图3为本发明实施例提供的第二种容器热迁移的方法的流程示意图,第二种容器热迁移的方法与第一种容器热迁移的方法相比,增加了对目的宿主机上的无关容器进行停机清理的步骤。参见图3,第二种容器热迁移的方法具体包括以下步骤:

发起容器迁移请求;

记录所要迁移容器的特征信息;

将源宿主机上的虚拟机迁移到目的宿主机上;

对目的宿主机上的无关容器进行停机清理。

第二种容器热迁移的方法增加的对目的宿主机上的无关容器进行停机清理步骤的具体过程为:

容器管理模块向目的宿主机上的已经热迁移完的虚拟机上的容器代理发送清理非热迁移容器的命令

目的宿主机上的容器代理读取热迁移容器的容器特征记录文件,并根据监控的当前容器的统计信息,计算出待清除容器列表;

对待清除容器列表,把处于运行状态的容器进行停止运行操作,当所有的待清理容器都停止运行时,再对待清理的容器进行彻底的数据清理。

所述待清除容器列表的计算过程为:计算总进程除去虚拟化层基础的进程和之前记录的热迁移容器及其相关进程的差集进程。更具体地计算过程就是容器代理通过读取容器特征记录文件中所迁移容器的特征信息获取所迁移的容器,并与当前管理的容器进行取差集得到所要清除的容器集合,将所要清除的容器集合整理到待清除容器列表中。

本发明实施例方案的第二种容器热迁移的方法,首先记录源宿主机上需热迁移的容器及其相关进程,将源宿主机上的虚拟化层热迁移到目的宿主机上,此时热迁移后的容器已经可以在目的宿主机上工作,此时目的宿主机通过计算总进程除去虚拟化层基础的进程和之前记录的热迁移的容器及其相关进程的差集进程,通过清理这些差集进程,实现了基于虚拟化层热迁移和进程二次清理的容器热迁移方法。

以上所述只是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本发明的保护范围。

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