[Users] SIMFS users

Kir Kolyshkin kir at openvz.org
Wed Jul 22 19:12:20 PDT 2015


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.


More information about the Users mailing list