-
Notifications
You must be signed in to change notification settings - Fork 609
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
Page Server dumping failed #1652
Comments
Hi @Avijit009, It looks like you are trying to checkpoint a container directly with CRIU. This is challenging as you need to figure out all the options you need to specify to make it work. You can use runc instead. This pull request describes the implementation opencontainers/runc#1541, and an example is available in this article https://www.redhat.com/en/blog/container-migration-around-world. I hope this helps. |
Yes I was trying to checkpoint a container directly with CRIU. Ok I will try using runC. Thank You. |
@rst0git HI. Is there any proper documentation for runC like CRIU and Podman? Actually, I am not getting the runc thing how it will work. one more thing
Sorry for this but I need to solve this issue that is why I am posting. |
Hi @Avijit009, You can find runc documentation for checkpoint/restore with
The following commands create, checkpoint and restore a runc container: mkdir -p tmp/rootfs && cd tmp
sudo docker export $(sudo docker create alpine:latest) --output="alpine.tar"
sudo tar xf alpine.tar -C rootfs
runc spec
sed -i '/terminal/c\ \"terminal": false,' config.json
sed -i '/"sh"/c\ \"sh", "-c", "i=0; while true; do echo $i; i=$(expr $i + 1); sleep 1; done"' config.json
# Run container
sudo runc run -d looper &> /dev/null < /dev/null
sudo runc ps looper
# Checkpoint container
mkdir c1
sudo runc checkpoint --image-path c1 --work-path c1 looper
# Restore container
sudo runc restore -d --image-path c1 --work-path c1 looper
sudo runc ps looper |
@rst0git Thank you. The runC version I am using.
It's the development version. I installed it using https://github.com/opencontainers/runc this repository. Is It the wrong version I am using? |
@Avijit009 you should be able to install the man pages with |
@rst0git Will you please let me know what did I do wrong here? Create a container by following this:
Then I run this command on the source where the image is created
I got stuck here. Please have a look at this one. |
The container ID is missing: |
@rst0git Hey. When I dumped a container I got one file named How to determine downtime and how to get the image size that I am migrating? Thank you for your help. |
(FYI: Adrian recently implemented the
First you need to define what is downtime, then you can try to measure it. Also, you need to define what is an image and what data it contains. This would vary across the different applications. I hope this helps. |
@rst0git Thank you. Anyway, thank you and Adrian very much. You both help me a lot. |
@Avijit009 No problem :) Do you think we can close this GitHub issue? |
@rst0git Yes you can close this. If I stuck anywhere then I will ask on Gitter. |
Dest:
**sudo mount -t tmpfs none test
sudo criu page-server -D test --port 8080**
Warn (criu/kerndat.c:1205): CRIU was built without libnftables support
Src:
sudo mount -t tmpfs none test
sudo criu dump --tree 4495 --shell-job -D test --leave-stopped --page-server --address 192.168.122.1 --port 8080
4495- is the container pid
how to solve this issue?
The text was updated successfully, but these errors were encountered: