Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
checkpoint: support lazy migration #1541
With the help of userfaultfd CRIU supports lazy migration. Lazy
This enables to reduce the downtime during process or container
Lazy migration currently depends on userfaultfd being available on the
To use lazy migration the CRIU process during dump needs to dump
In this example CRIU will hang/wait once it has opened the network port
The parameter '--status-fd' is directly from CRIU and this way the
On the destination side it is necessary to start CRIU in 'lazy-pages'
and tell runC to do a lazy restore:
If both processes on the restore side have the same working directory
This can also be combined with CRIU's pre-copy support. The combination
Some additional background about post-copy migration can be found in
Signed-off-by: Adrian Reber firstname.lastname@example.org
@avagin, I was also thinking about the test case but as the container is not totally destroyed before complete memory migration my first attempts failed as it was not possible to restore the same container with the same name. I will try to change the name, that might work. Let me try to add a working test-case for lazy migration into runC. I will update this PR.
About p.haul: Not that it really belongs here, but p.haul feels kind of abandoned, especially with the difficulties of integrating p.haul and all the container engines in a useful way. So I am also leaning more towards replacing the pre-copy code in runC with CRIU's go migration library. So the main question is p.haul in its current form still alive or not? For me it seems not very alive in its current form.
@adrianreber , the py version of the p.haul (that sits in a separate repo) is indeed abandoned. Mostly for the reasons you've mentioned -- too hard to integrate python code with anything else. At the same time the go p.haul, that sits in the criu repo is the place where support for criu live migration features will (well, should) go.