[PATCH RFC 0/3] Add checkpoint/restore support to LXC using CRIU

Michal Privoznik mprivozn at redhat.com
Thu Apr 1 10:33:40 UTC 2021


On 4/1/21 12:01 AM, Martin Kletzander wrote:
> On Sat, Feb 27, 2021 at 01:14:29AM -0300, Julio Faracco wrote:
>> Hi guys,
>>
> 
> Hi and sorry for not replying earlier.
> 

Yeah, sorry. I have this marked for review and yet still haven't done so.

>> I marked this series as RFC to discuss some points. I'm interested in
>> enhancing this specific part of LXC. So, some questions that I would
>> like to hear as a feedback from community:
>> 1. I decided to use a tar to compress all CRIU img files into a single
>> file. Any other suggestions?
>> 2. If no is the answer to question above, is there a consensus on
>> preferring to use command line calls or libraries? I would like to use
>> libtar for instance. I personally think that this approach is ugly.
>> Not sure if I'm able to do that. The same for CRIU.
> 
> I remember that for CRIU, back when we were trying to do that, the issue
> was that the commands were not atomic, did not properly report error
> messages and maybe something more along the lines.  Either there was no
> library interface or it was not MT-safe, basically there were couple of
> issues like that which we were not able to deal with.
> 
> I do not really remember all the details.  Maybe Michal does as I think
> he suggested the idea back then.  I Cc'd him.  In the worst scenario we
> will need to figure this all out again ;)

IIRC the main problem was that we wanted CRIU to be able to send its 
data over a TCP connection. Back then, when a GSoC student was looking 
at this, CRIU was only able to store data into a file (or even multiple 
files in a directory?) and wasn't able to create server/client 
connection. Maybe this has changed since then? If not, then we can use 
tar, sure. And to transfer data we can use so called tunnelled 
migration, where the migration stream is sent over libvirt connection 
rather than directly to the other side (because then we would have to 
have nc or similar involved).

https://libvirt.org/migration.html#transporttunnel

Another issue was that it couldn't handle all namespaces (but I'm not 
certain - it was 5 years ago).

But let me find some time and review patches.

Michal




More information about the libvir-list mailing list