[发明专利]一种基于CRIU的Docker容器热迁移方法及系统有效

专利信息
申请号: 201710737534.6 申请日: 2017-08-24
公开(公告)号: CN107526626B 公开(公告)日: 2020-12-01
发明(设计)人: 王丽娜;徐来;余荣威;鞠瑞;谈诚 申请(专利权)人: 武汉大学
主分类号: G06F9/455 分类号: G06F9/455;G06F9/48;H04L29/06;H04L29/08
代理公司: 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 代理人: 鲁力
地址: 430072 湖*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 criu docker 容器 迁移 方法 系统
【权利要求书】:

1.一种基于CRIU的Docker容器热迁移方法,其特征在于,包括:

迁移组件步骤:用于完成迁移过程中针对容器所需的所有迁移操作,供迁移模块调用以迁移容器

迁移步骤:用于在迁出端和迁入端建立网络连接,并通过调用迁移组件模块中的组件完成Docker容器的热迁移;

清理步骤,包括:

迁出子步骤:在迁移完成后,对源主机和共享存储中生成的中间文件进行删除;无论容器迁移成功与否,迁移模块均会执行;

迁出子步骤:在迁移完成后,对在目的主机使用过的中间文件进行删除;无论容器迁移成功与否,迁移模块均会执行;

所述迁移组件步骤具体包括:

步骤1、配置迁移子步骤

配置迁移子模块主要负责从容器的配置文件中读取配置,并根据这些配置信息重构出容器创建命令,用于在新创建的容器中重现原容器的配置;

步骤1.根据传入的容器id读取相应配置文件hostconfig.json和config.v2.json,并从config.v2.json配置文件中获取Config.Tty的值,如果为true,则返回错误信息,该容器无法迁移,并结束本模块运行,否则,继续执行第2步;

步骤2.获取容器配置,并将依据docker create命令选项的数据格式对获取到的数据进行格式转换,并将之保存到集合OPTIONS中;

步骤3.判断工作模式是否是共享存储环境下,如果是,将新镜像的名称设置为“容器id_migrate”,如果不是,设置为“私有仓库ip:port/容器id_migrate”;

步骤4.利用OPTIONS和新镜像的名称合成docker create容器创建命令;

步骤2、运行状态迁移子步骤,具体包括:

步骤2.1.在源节点基于“docker checkpoint create”命令对正在运行中的容器进行checkpoint操作并将生成的容器状态信息发送到目的地址;

步骤2.2.在目的主机B上基于待迁移容器C的checkpoint文件,使用“dockercheckpoint create C cp_C--checkpoint-dir/目的地址“命令创建一个新容器C*中,并启动容器C*以继续运行;

当共享存储时,目的地址为/mnt/checkpoints,当非共享存储模式,目的地址为目的主机上的/migrate/checkpoints;

步骤3、Volume数据迁移子步骤,具体包括:

步骤3.1.遍历Volume配置项,将其源路径修改为目的地址/Volume目的路径,将源路径:新的源路径作为键值对添加到待迁移Volume集合中;

步骤3.2.使用Rsync将待迁移Volume集合中的Volume源路径中数据复制到新的数据源路径;

步骤3.3.如果容器处于运行状态,使用inotify监控原容器的Volume源路径,当其发生变化时,使用Rsync同步到新的数据源路径中;

步骤3.4.一旦容器停止运行,将剩余未同步的数据同步到新的数据源路径中;

步骤4、文件系统迁移子步骤:

如果被迁移的是只读容器,镜像迁移只需要在进行checkpoint停机操作前,在目的主机上预先从Docker仓库拉取(pull)指定的镜像即可;

如果被迁移的容器不是只读容器,则分为共享存储和非共享存储,具体步骤如下:

共享存储模式:

步骤1.使用export命令将容器文件系统保存到共享存储中的images文件夹;

步骤2.利用import命令从目的主机将共享存储中的tar文件导入目的主机的Dockerdaemon中,生成新的镜像img*;

步骤3.使用docker create命令基于镜像img*创建用于恢复的容器;

非共享存储模式:

预存储:私有仓库PrR(private Registry)预先存储有整个集群中所有容器的初始创建镜像;

步骤1.目的主机从PrR拉取(pull)待迁移容器C的初始创建镜像img;与此同时,在源主机对待迁移容器C进行commit操作,将容器对文件系统的最新修改保存到更新后的镜像img*中;

步骤2.commit操作完成后,源主机将镜像img*推送到私有仓库PrR中;

步骤3.在目的主机拉取镜像img*,并根据该镜像重新创建容器C*。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710737534.6/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top