After the upgrade from 7.0 to 7.1 I started playing with virtual kvm hosts again. The good news is that migration seems now not to have the bug where sometimes the domain would not freeze just after transfer.
The bad news is that in virt-manager on 7.1 the default mode of migration appears to be ‘transient’ rather than ‘persistent’. This means it doesn’t write out the xml definition into /etc/libvirt when the transfer completes.
One consequence of this is that if you poweroff that domain, you cannot restart it on that server unless it was created there. For the test systems I migrated from Centos 6, this meant restarting it on a centos 6 server!
virsh seems to be an alternative since you can specify –persistent on a migration commandline. This may become the preferred migration tool, leaving virt-manager only as a simple way to connect to the virtual consoles or get an overview or to create new domians.
The virsh magic to migrate a host is relatively straightforward. For instance with testcentos-vm running on damocles, I can run virsh interactively and issue the commands:
[root@damocles qemu]# virsh Welcome to virsh, the virtualization interactive terminal. Type: 'help' for help with commands 'quit' to quit virsh # migrate --live --persistent testcentos-vm qemu+ssh://mournblade/system
If you have virt-manager running connected to both systems you can see this progress much as if you had migrated from within it, but it causes it to write out the xml definition on the target server so that the host can be restarted there.
I guess a patch has changed behaviour, but it now seems to be required to specify
as well to get migration to work, otherwise you get the flatly unhelpful:
unable to connect to server at ‘damocles.eng.cam.ac.uk:49152’: No route to host
You get the same message from the virt-manager migration tool unless you pick advanced options and select to tunnel through libvirt