Live criu migration between servers

I have two servers

  • main4
  • main5

I install lxd (ver 3.0.3), i use LVM for storage
I install CRIU on this servers

and i want to migrate from main4 to main5 one test container tmigrate and receive an error

I see network - this is docker network and this use on another container. My container tmigrate don’t use any docker network at all

Can anybode explain what’s happening?

second question)

On main4 server my container tmigrate have ip from dhcp
I know if i stop container i can copy it to another lxd server
lxc cp tmigrate main5:tmigrate
but on another server this container receive from dhcp server a new ip address

How to leave the same IP address container after copy on a new lxd server?

This don’t help

lxc config device override tmigrate eth0
lxc config device set tmigrate eth0 ipv4.address

After copy container with this setting, i receive a new IP every time

Problem with static IP address i resolve
When i copy stopped container to the target server, i find MAC address of this container, using command
lxc config show tmigrate
And on target server i set a MAC address to my fresh copy container
lxc config device set tmigrate eth0 hwaddr XX:XX:XX:XX:XX:XX

And then start container and i receive old IP address

CRIU support is very limited at the moment. I believe @brauner is working on some aspects to improve this.

I don’t think you can currently live migrate a container that has a NIC in it, so it needs to be removed, migrated and then re-added.

For your 2nd question, when you copy a container using the lxc copy or lxc cp the volatile config is removed and regenerated. In this case, most likely causing your instance’s MAC address to be altered.

This will then likely trigger a fresh DHCP allocation.

This is done on purpose to avoid getting into situations where you copy a container and it ends up having the same MAC address as the original container on a shared network.

If you do lxc move the volatile config keys are not modified.

Please can you show the output of lxc config show <instance> --expanded so I can see what type of network NIC you are using?


I do “lxc copy” instead “lxc move”

In my future migrations i try “lxc move”

Thank you for answer
I use type nic - bridged (with host nic)

lxc profile show default
config: {}
description: Default LXD profile
    name: eth0
    nictype: bridged
    parent: br0
    type: nic
    path: /
    pool: lvpool
    type: disk
name: default

I’l be waiting fully worked live criu migration:)