[CRIU] Live Migration with LXD on Raspberry Pi2

Pavel Emelyanov xemul at virtuozzo.com
Tue Jun 28 06:50:43 PDT 2016


On 06/17/2016 01:26 AM, Andrew Vagin wrote:
> On Thu, Jun 16, 2016 at 03:56:39PM -0600, Tycho Andersen wrote:
>> On Thu, Jun 16, 2016 at 02:56:45PM +0200, alex vk wrote:
>>> Hi everyone,
>>>
>>> I'm also trying to use LXD to migrate containers between the two raspberry
>>> Pi 2
>>>
>>> Interestingly, the snapshot and restore of a container works well on the
>>> same Raspberry (contrarily to my previous mail where i'm using
>>> lxc-checkpoint which does not work)
>>>
>>> I'm using those commands :
>>> lxc snapshot migratest snap0 --stateful
>>> and
>>> lxc restore migratest snap0 --stateful
>>>
>>>
>>> In order to migrate a container from one Rpi to another, I've followed the
>>> tutorial you made Tycho (
>>> https://insights.ubuntu.com/2015/05/06/live-migration-in-lxd/) and
>>> apparently the checkpoint succeeds, but the restore fails with this error :
>>>
>>> root at pi-desktop:/home/pi# lxc move rpi1:migratest rpi2:migratest
>>> error: Error transferring container data: restore failed:
>>> pie: 645: Error (pie/restorer.c:1176): Can't restore 0x76f9b000 mappin>
>>> pie: 645: Error (pie/restorer.c:1506): Restorer fail 645
>>> pie: 644: Error (pie/restorer.c:1176): Can't restore 0x76f9b000 mappin>
>>> pie: 644: Error (pie/restorer.c:1506): Restorer fail 644
>>> (01.345631) Error (cr-restore.c:987): 2089 killed by signal 9: Killed
>>> (01.459880) Error (cr-restore.c:1866): Restoring FAILED.
>>>
>>> Maybe you got an idea about this error ?
>>
>> What kernel versions are you using? To be honest, I'm not too familiar
>> with the VMA code, but I wouldn't be surprised if there was an
>> arch-specific bug, as I'm not sure how well used that path is.
>>
>> Looking at the kernel code for sys_shmat, I don't understand how you'd
>> get a zero value return from it, as you do in your log:
> 
> Here is something strange. These two lines contain vma_entry->start, but
> in the first line it's equal to 0 and in the second value it's
> 0x76f9b000. How is it possible?
> 
>>
>>> pie: 644: Attach SYSV shmem 65538 at 0x0
> 
> pr_info("Attach SYSV shmem %d at %"PRIx64"\n", (int)vma_entry->fd, vma_entry->start);
> 
>>> pie: 644: Error (pie/restorer.c:1176): Can't restore 0x76f9b000 mappin>
>>> pie: 644: g with 0x0
> 
> pr_err("Can't restore %"PRIx64" mapping with %lx\n", vma_entry->start, va);

It looks like vma->start is 0 here.

Alex, can you do 'crit show $images/mm-644.img' and show the results?

>>> pie: 644: Error (pie/restorer.c:1506): Restorer fail 644
>>
>> Does this happen every time? Or just sometimes?



More information about the CRIU mailing list