[CRIU] [lxc-devel] LXC live migrate

Pavel Emelyanov xemul at parallels.com
Mon Jan 20 23:45:53 PST 2014


On 01/21/2014 03:00 AM, Eric W. Biederman wrote:
> Pavel Emelyanov <xemul at parallels.com> writes:
> 
>> On 11/27/2013 01:18 PM, Marian Marinov wrote:
>>>>>> I rebooted the container without getty on tty1 and then I got this:
>>>>>>
>>>>>> (00.260757) Error (mount.c:255): 86:/dev/tty4 doesn't have a proper root mount
>>>>
>>>> This is the reason. That's container's console which is a bind mounted tty from
>>>> the host. And since this is an external connection, CRIU doesn't dump one.
>>>>
>>>> There are two ways to resolve this. The first is disable container's console. It's
>>>> fast, but ugly. The second way is supporting one, but it would require criu hacking.
>>>> We should detect, that this is an external tty, decide, that we're OK to disconnect
>>>> it after dump and on restore -- connect it back.
>>>
>>> The ugly fix does not work either. Because even if you comment the lxc.tty option criu is complaining:
>>>
>>> (00.243390) Error (mount.c:255): 82:/dev/console doesn't have a proper root mount
>>
>> But this also means, that the /dev/console is bind mounted from the host,
>> so external console didn't disappear.
>>
>>> (00.243626) Error (namespaces.c:445): Namespaces dumping finished with error 65280
>>> (00.244029) Error (cr-dump.c:1811): Dumping FAILED.
> 
> Apologies for comming to this late but I have a question about this
> class of problem.
> 
> The way I had always envisioned checkpoint/restart handling physical
> devices is to generate hotplug events for the devices going away, and
> possibly for the new devices upon restore.
> 
> Is there a a problem with that approach or is this something you simply
> haven't or at least hadn't gotten to yet?

I fully agree with the approach you propose, but the issue with lxc's /dev/console
we're discussing here is not of that class. It's simply an external bind mount that
can be checkpointed and restored w/o hotplugs tricks.

> Eric
> .
> 


Thanks,
Pavel


More information about the CRIU mailing list