[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