symptom: After performing a migration live-migration operation, a successful migration is displayed, but the migration action is not actually performed
Resolution process:
Perform virtual machine hot migration operation in dashboard, prompt operation is successful, but actual virtual machine is not migrated;
The migration failed due to insufficient memory, but the source and destination node resources are found to be sufficient;
Then see the following on the Nova log: destinationdiskexists_remote:the supplied disk path (/var/lib/nova/instances/ e40708e3-7f19-4f9c-8d19-3e600037c067) already exists, it is expected exist., initially suspected that the terminal has already established the directory, but for unknown reasons not migrated successfully, re-migration triggered the error, but the actual discovery of the destination node does not have the directory, and then continue to search log.
Then find the log as follows: 2016-03-24 15:44:21.003 3164 ERROR nova.virt.libvirt.driver [-] [instance: e40708e3-7f19-4f9c-8d19-3e600037c067] Live Migration failure:internal error:attempt to migrate guest to the same host 00 020003-0004-0005-0006-000700080009, the initial suspicion that the virtual machine is not migrated because it thinks the destination host is itself, so I looked under the hosts, the host resolution is normal.
This reminds me of an early VMware migration problem, that is, many vendors are OEM servers, resulting in the same UUID.
Using Virsh SysInfo | grep uuid or dmidecode-s system-uuid can query the server UUID, the result query to compute node UUID is the same, so that the source host when the migration is considered to be the destination host itself.
KVM does not look for the UUID of this hardware directly but first finds the Host_uuid field in/etc/libvirt/libvirtd.conf, but this field is commented out by default, so find the UUID of the opponent's hardware.
Workaround:
First, randomly generate a UUID, as follows:
[Email protected] ~]# Cat/proc/sys/kernel/random/uuid
4165c128-e7ba-45cd-a26f-325d221c2ace
Then replace the Host_uuid field in/etc/libvirt/libvirtd.conf with the above UUID
#host_uuid = "00000000-0000-0000-0000-000000000000" instead
Host_uuid = "4165c128-e7ba-45cd-a26f-325d221c2ace"
After all the compute nodes have been modified, restart the Libvirt service and perform the migration successfully!
OpenStack VM Migration Live-migration failed (error:internal error attempt to migrate guest to the same host)