On 07/22/2015 11:31 AM, Gena Makhomed wrote:
Regarding OpenVZ checkpoint / restore and live migration... it has
worked well for me since it was originally released in 2007 (or was
it 2008?).  While I've had a few kernel panics in the almost 10 years
I've been using OpenVZ (starting with the EL4-based kernel)... I
can't remember what year I had my last one.

But live migration code from OpenVZ kernel is not included into
mainline kernel. And OpenVZ developers need instead create CRIU.

This means what something is wrong with current live migration code?
Or how you can explain, - why live migration not in mainline kernel?


Thanks for asking.

Have you tried merging some of your kernel patches upstream? If you did you probably know already that the difference of making it happen correlates very much with patches complexity, and in-kernel checkpointing is very complex code, making it very hard to merge.

Besides, it touches many kernel subsystems, excluding maybe drivers, and makes the code more complicated, sometimes in unexpected places, which is bad from the POV of subsystem
maintainers.

We are not alone here -- a few other guys tried to merge their checkpoint/restore code, one notable example is Oren Laadan who spent a few years trying to achieve it. But long story
short, it's impossible for the reasons speicifed earlier.

This led us to re-do the whole thing in userspace, with just a minimal intervention from the kernel. That "minimal" is currently defined as about 150 patches that we merged upstream for CRIU to work;
you can see the complete list at http://criu.org/Upstream_kernel_commits

So, the answer to "is your checkpointing code is in the kernel" is "yes, it is, it's just we minimized the kernel code impact by moving most of the stuff to userspace". Yes, we upstreamed our checkpoint/restore implementation (by rewriting it), and now thanks to CRIU/OpenVZ others (like Docker, CoreOS, LXC, LXD) can use checkpoint/restore, its availability is no longer limited to OpenVZ users.

Kir.
_______________________________________________
Users mailing list
Users@openvz.org
https://lists.openvz.org/mailman/listinfo/users

Reply via email to