-
Notifications
You must be signed in to change notification settings - Fork 560
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Checkpointing containers is failing with docker and podman #1374
Comments
It sounds like you are using a self compiled kernel and it seems to be missing for CRIU necessary DIAG options:
Looking at one of my test systems I see following modules loaded:
You probably need to turn on a couple of these options:
Not all of them are necessary for CRIU but some are. |
Thanks Adrian! I had most of them built-in my kernel but not as a module. Remaining ones from this list I added to my config. Now on checkpointing with docker, I see this error which I am trying to debug. (00.160697) Error (criu/libnetlink.c:55): -22 reported by netlink: Invalid argument PS: I am using libnftnl 1.1.9. |
I would still blame your custom kernel. Your are probably missing some NETLINK related kernel configuration options. |
@rajbhar you can find on this page the kernel features required by CRIU: https://criu.org/Linux_kernel |
Thanks Radostin and Adrian. Though criu check was telling me "Looks good" but I was still missing some of these. After I build kernel, I am able to checkpoint with docker but still seeing some issues which I believe are not related to criu. If you are aware, could you please confirm whether CR with docker / podman works stable on Ubuntu 18.04 LTS ? |
As long as you do not use the Ubuntu Kernel you should be on the save side. I am the author of the Podman CRIU integration so I am biased, but to easily migrate containers, Podman provides a much friendlier interface if you are using the If your problems are solved please close this ticket. |
was reported some time ago in moby/moby#37344
CRIU - the latest version I agree with Adrian about Podman. If there are any issues it would be much easier/faster to fix them because it has working continuous integration tests and less abstraction layers. |
Thank you for the feedback and help! |
I am trying to checkpoint a simple looper but not able to checkpoint successfully. I tried both docker checkpoint create and podman checkpoint container commands. Earlier i was getting errors related to iptables-restore -w which I could fix by building latest iptables on my test machine.
podman run -d --name looper busybox /bin/sh -c \
podman container checkpoint looper
sudo podman container checkpoint looper
2021-02-24T04:02:24.000360396Z: CRIU checkpointing failed -52
Please check CRIU logfile /var/lib/containers/storage/overlay-containers/610fbdcba9e3c5f501d31ca3805d88898797026899c81808a493bd0d1266885b/userdata/dump.log
Error:
/usr/bin/crun checkpoint --image-path /var/lib/containers/storage/overlay-containers/610fbdcba9e3c5f501d31ca3805d88898797026899c81808a493bd0d1266885b/userdata/checkpoint --work-path /var/lib/containers/storage/overlay-containers/610fbdcba9e3c5f501d31ca3805d88898797026899c81808a493bd0d1266885b/userdata 610fbdcba9e3c5f501d31ca3805d88898797026899c81808a493bd0d1266885b
failed: exit status 1when using docker, i see similar behavior
sudo docker checkpoint create looper checkpoint1 Error response from daemon: Cannot checkpoint container looper: runc did not terminate successfully: criu failed: type NOTIFY errno 0 path= /run/containerd/io.containerd.runtime.v2.task/moby/ba594c352758682f7717891ef40945c6b8636dd73732485c788e452a515aa90c/criu-dump.log: unknown
I dont see any obvious error / failed message in the log files and observe the same behavior when I use docker instead of podman. I am otherwise able to CR on my test machine but seeing issues with containers even for simple use cases. Any pointers are appreciated!
OS: Ubuntu 18.04
Kernel: 5.9-rc5
iptables v1.8.7 (legacy)
CRIU: 3.15, compiled from sources.
criu_error.log.log
The text was updated successfully, but these errors were encountered: