[lxc-users] LXD move, how to reduce downtime without live migration

Tamas Papp tamas.papp at rtfm.co.hu
Thu Apr 27 05:59:34 UTC 2017



On 04/27/2017 03:43 AM, Benoit GEORGELIN - Association Web4all wrote:
> Good evening
> I'm running into a problem with LXD live migration, so I can't use live migration
> I have this kind of error:
> error: Error transferring container data: migration restore failed
> (00.018254) Warn  (criu/apparmor.c:421): apparmor namespace /sys/kernel/security/apparmor/policy/namespaces/lxd-router-gw_<var-lib-lxd> already exists, restoring into it
> (00.025064) Warn  (criu/cr-restore.c:853): Set CLONE_PARENT | CLONE_NEWPID but it might cause restore problem,because not all kernels support such clone flags combinations!
> (00.246825)      1: Warn  (criu/autofs.c:77): Failed to find pipe_ino option (old kernel?)
> (00.249058) Error (criu/cr-restore.c:1024): 15755 killed by signal 11: Segmentation fault
> (00.268144) Error (criu/cr-restore.c:1024): 15755 killed by signal 9: Killed
> (00.288290) Error (criu/mount.c:3275): mnt: Can't remount root with MS_PRIVATE: No such file or directory
> (00.288297) Error (criu/mount.c:3285): mnt: Can't unmount .criu.mntns.K2nNqG: No such file or directory
> (00.288301) Error (criu/mount.c:3290): mnt: Can't remove the directory .criu.mntns.K2nNqG: No such file or directory
> (00.288627) Error (criu/cr-restore.c:1890): Restoring FAILED.
>
>
> I thought it was because of the kernel, but it looks supported : 4.4.0-47-generic
>
> So, I would like to move my containers. Moving without live migration have a big impact as the container have to be stopped. And the bigger, the longer ^^
>
> I'm using ZFS as backend storage.
> LXD/LXC version 2.8 on source
> LXD/LXC version 2.12 on destination
>
> Do you have any idea how i can move it and reduce the downtime ?
> Like doing an rsync while the container is running, stop the container, rsync while it is stopped so I save time.
>
> My idea was eventually to create the container on destination node. Same name , same configuration
> rsync the content of the storage from source to destination twice (one while running, one while stopped)
> then start the container on the destination node

If you use zfs backend, why don't you use 'zfs send/recv'?

tamas


More information about the lxc-users mailing list