Checkpoint/Restore in Userspace(CRIU)的安装与使用(CentOS 7.2)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Checkpoint/Restore in Userspace(CRIU)的安装与使用(CentOS 7.2)相关的知识,希望对你有一定的参考价值。
参考网址:Installation - CRIU
CRIU安装:
获取CRIU的源代码
git clone https://github.com/xemul/criu
或者
wget http://download.openvz.org/criu/criu-x.x.tar.bz2 tar -xvf criu-x.x.tar.bz2
安装编译依赖软件
yum install gcc make -y yum install glibc-devel.i686 protobuf protobuf-c protobuf-c-devel protobuf-compiler protobuf-devel protobuf-python libaio-devel libcap-devel libnl3-devel -y
在CRIU代码根目录下,执行编译命令 make
安装依赖软件
yum install asciidoc xmlto -y
在CRIU代码根目录下,运行安装命令 make install
CRIU使用:
命令格式:
criu dump -D chkpoint -t pid
CRIU环境检查
创建一个无限循环脚本文件
[[email protected] ~]# chmod 755 test.sh
[[email protected] ~]# ./test.sh
创建一个新的终端,获得test.sh的pid,“pgrep -f test.sh”
[[email protected] ~]# criu dump -t $PID --images-dir chkpoint --shell-job
[[email protected] ~]# criu restore -t 23267 --images-dir chkpoint/ --shell-job
运行命令之后test.sh恢复正常运行。
在使用CRIU对docker容器进行操作时出现以下提示错误
Error (criu/namespaces.c:403): Can‘t dump nested pid namespace for 23025
Error (criu/namespaces.c:607): Can‘t make pidns id
Error (criu/cr-dump.c:1625): Dumping FAILED.
pid=23025
[[email protected] ~]# criu dump -t 23025 --images-dir /tmp/doc01/
原因是当前CRIU并不完善(如不支持seccomp、不支持外部终端、挂载的文件系统可读等),Docker容器对宿主机的应用(例如“/bin/bash”等)有依赖,而CRIU不能对非Docker容器进程树中的进程设置检查点,从而导致Checkpoint/Restore失败。
以上是关于Checkpoint/Restore in Userspace(CRIU)的安装与使用(CentOS 7.2)的主要内容,如果未能解决你的问题,请参考以下文章
Address localhost:1099 is already in use(IDEA启动Tomcat报错1099 is already in use)
USE “schema_name” in PostgreSQL
OGG-01224 Address already in use