[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