当前位置: 首页 > 专利查询>暨南大学专利>正文

一种基于P.haul框架的云容器预拷贝在线迁移方法技术

技术编号:20221539 阅读:23 留言:0更新日期:2019-01-28 20:07
本发明专利技术公开了一种基于P.haul框架的云容器预拷贝在线迁移方法,针对容器在线迁移领域,在确保访问不中断的情况下,对不同的物理机或云平台之间的容器进行移动,以确保容器在迁移之后能够延续源主机的工作状态,同时采用预拷贝和基于历史的传输延迟机制减少了迁移过程中造成的容器停机时间。为容器提供更加灵活的应用,也为容器的负载均衡和资源调度做出了基础工作。

【技术实现步骤摘要】
一种基于P.haul框架的云容器预拷贝在线迁移方法
本专利技术涉及云计算容器的在线迁移
,特别涉及一种基于P.haul框架的Docker容器预拷贝在线迁移方法。
技术介绍
容器技术已为云计算提供了日益广阔的应用环境,为了能为容器生命周期提供更加灵活的应用,适应更丰富的使用场景,就需要使用到容器的在线迁移技术。容器的在线迁移也叫热迁移,是指在确保在访问不中断的情况下,对在不同的物理机或云平台之间的容器进行移动的过程。在迁移过程中,需要将源主机上容器运行时内存、文件系统以及网络连接等状态信息迁移至目标主机,同时确保容器在迁移之后能够延续源主机的工作状态。这种在线迁移技术可以将迁移过程中源主机正在进行的工作实时转移到目的主机上,使得使用者甚至感觉不到发生了迁移。如今有很多在线迁移的方案都在虚拟机上有很成熟的应用,而容器的在线迁移领域,尤其是基于Docker的在线迁移,目前还没有一套非常成熟的解决方案。近年来,学术界仿照虚拟机迁移的思路,提出了容器的“停止-拷贝”和“预拷贝”的迁移策略,实现了对Docker的容器在线迁移。也有研究尝试使用了logging-and-replay的迁移策略本文档来自技高网...

【技术保护点】
1.一种基于P.haul框架的云容器预拷贝在线迁移方法,其特征在于,包括:T1、容器配置获取和迁移网络建立步骤:获取待迁移容器的配置文件,建立起源主机端到目的主机端的网络连接,以便于容器迁移步骤中进行相关迁移工作;T2、容器迁移步骤,包括:容器组件迁移子步骤:用于向目标主机发送容器组件相关文件和工作状态文件;内存迁移子步骤:用于向目标主机迭代发送待迁移容器当前工作状态文件和内存原始数据;T3、容器重建和清理步骤:用于在目标主机中根据步骤T2传输得到的状态文件和内存数据重建新容器,并清理源主机中的容器及配置文件。

【技术特征摘要】
1.一种基于P.haul框架的云容器预拷贝在线迁移方法,其特征在于,包括:T1、容器配置获取和迁移网络建立步骤:获取待迁移容器的配置文件,建立起源主机端到目的主机端的网络连接,以便于容器迁移步骤中进行相关迁移工作;T2、容器迁移步骤,包括:容器组件迁移子步骤:用于向目标主机发送容器组件相关文件和工作状态文件;内存迁移子步骤:用于向目标主机迭代发送待迁移容器当前工作状态文件和内存原始数据;T3、容器重建和清理步骤:用于在目标主机中根据步骤T2传输得到的状态文件和内存数据重建新容器,并清理源主机中的容器及配置文件。2.根据权利要求1所述的基于P.haul框架的云容器预拷贝在线迁移方法,其特征在于,所述的步骤T1获取待迁移容器的配置信息,以及生成checkpoint目录,具体包括:步骤T1.1、根据待迁移容器的id,使用dockerinspect命令读取当前容器Tty情况,如果发现该容器开启了Tty,则该容器无法迁移,并返回错误信息;步骤T1.2、建立源主机和目标主机之间的网络链接;网络链接需要建立起两条网络链接:命令传输链接和数据传输链接;命令传输链接采用RPC远程调用模式,即在源主机中发送命令在目的主机中运行;数据链接采用Rsync数据同步命令,将相关数据从源主机传输至目的主机;步骤T1.3、使用dockercheckpointcreate--checkpoint-dir={checkpoint目的}{容器id}{checkpoint序号}命令,获取待迁移的容器的状态文件,并保存在checkpoint目录中,用于向目的主机迁移。3.根据权利要求2所述的基于P.haul框架的云容器预拷贝在线迁移方法,其特征在于,步骤T1.3中所述的需要获取的待迁移的容器的状态文件包括:容器描述信息文件、打开的文件描述符信息文件、CPU信息文件和内存映射表,这些信息均以JSON数据格式存储在对应文件中;同时还应获取容器运行时的内存页原始数据,以4KByte大小为单位保存在二进制文件中。4.根据权利要求2所述的基于P.haul框架的云容器预拷贝在线迁移方法,其特征在于,步骤T1.2中所述的两条网络链接,在P.haul框架中基于C/S结构构建,为保证源主机和目的主机之间可以进行数据的传输和控制操作,两者之间通过建立两条通信socket分别传输用于控制命令和数据;控制命令socket采用RPC远程过程控制方式,由源主机向目的主机发送相关的控制命令;数据socket则采用TCP协议,用于将从源主机上获取到的运行状态文件发送至目的主机中。5.根据权利要求1所述的基于P.haul框架的云容器预拷贝在线迁移方法,其特征在于,T2中所述的容器组件迁移子步骤,用于将源主机中容器的相关组件传输至目的主机,在Docker的迁移过程中需要迁移3个目录:根文件系统、容器配置目录和容器运行时元数据目录,具体包括:步骤1、使用Rsync命令分别将/var/lib/docker/image目录中的镜像文件、/var/lib/docker/containers目录中的容器配置文件和/var/run/docke-r/execdriver/native的容器运行时元数据传输到目...

【专利技术属性】
技术研发人员:邓玉辉周毅
申请(专利权)人:暨南大学
类型:发明
国别省市:广东,44

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

1