During the 16.04 development cycle, the nova-lxd developers were focused on getting
nova-lxd ready for production. This involved shaking out the bugs that were found during the cycle, focusing on quality, and being sure that features that were introduced worked well. However in the Ubuntu 16.10 development cycle, we decided to switch it up a bit and add features that were available in LXD that were still considered “experimental”. We decided to start with live migration.
There are several use cases for live migration in a cloud. An operator before starting their maintenance window can live migrate the instances over to a new host with little instance down time for their users. An operator also can use live migration to evenly balance the load of instances across multiple hosts.
Also it makes a cool demo:
What the above video demonstrates is a single running instance migrating from host A to host B. This is done by nova-lxd by taking advantage of LXD 2.0.3 running with CRIU, and the latest version of Ubuntu 16.04.
For an operator to take advantage of this feature in nova-lxd, an operator has to set up their compute hosts as described in the LXD documentation:
lxc config set core.https_address "[::]"
lxc config set core.trust_password some-password
lxc remote add host-a
Live migration will be included in the final release of nova-lxd when Ubuntu 16.10 is released. Users who are still using the LTS release will still be able to take full advantage of nova-lxd via the Ubuntu Cloud Archive when Ubuntu 16.10 is released as well.