我想知道是否有人知道是否可以使用 CRIU 进行增量检查点,特别是当进程是 Docker 时。
此外,我对在不终止进程的情况下拍摄快照很感兴趣。
我的目标是实现从一个主机到另一个主机的快速(几乎)实时迁移过程。
似乎现在使用 CRIU 是不可能的,但是我看过人们这样做的视频,我认为在发布了将近一年的这些文章后,我可能会在这里遗漏一些东西。
最佳答案
是的,同样的担忧。
您需要的是 predumm 选项。
一项资源可能会有所帮助。 github.com/xemul/p.haul p.haul 使调整预转储请求成为可能
runC with predump 选项。这是您在 youtube.15dockerCon 上观看的内容。 github.com/marcosnils/runc
目前,我们有多种方式来制作docker checkpoint/restore。
一种。
原生方式:github.com/boucher/docker/releases
docker checkpoint
docker restore
b.runC方式:github.com/marcosnils/cmt github.com/marcosnils/runc
runc checkpoint
runc restore
c.外部方式:
criu dump -o dump.log -v4 -t 15215 \
-D /tmp/m1 \
--root /var/lib/docker/aufs/mnt/container id \
--manage-cgroups \
--evasive-devices \
--ext-mount-map /etc/resolv.conf:/etc/resolv.conf \
--ext-mount-map /etc/hosts:/etc/hosts \
--ext-mount-map /etc/hostname:/etc/hostname \
--ext-mount-map /etc/resolv.conf:/etc/resolv.conf
基本上,我们更喜欢 docker native 和 runc。 但是现在两者都不支持预转储。 黑客方式。 github.com/marcosnils/runc 但是我加倍runC版本是旧的。
关于docker - 可以创建增量检查点 CRIU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37648075/