Hi,
It seems that live migration using storage copy is broken since libvirt
1.2.17.
Here is the command line used to do the migration using virsh:
virsh migrate --live --p2p --persistent --undefinesource --copy
-storage-all d2b545d3-db32-48d3-b7fa-f62ff3a7fa18
qemu+tcp://dest/system
XML dump of my storage:
<pool type='logical'>
<name>local</name>
<uuid>276bda97-d6c2-4681-bc3f-0c8c221bd1b1</uuid>
<capacity unit='bytes'>1024207093760</capacity>
<allocation unit='bytes'>4294967296</allocation>
<available unit='bytes'>1019912126464</available>
<source>
<name>hkvm</name>
<format type='lvm2'/>
</source>
<target>
<path>/dev/hkvm</path>
</target>
</pool>
When it fails, I get the following error:
error: Storage volume not found: no storage vol with matching name
'402aea08-26aa-45b6-a46e-a3b02137ff26'
Where 402aea08-26aa-45b6-a46e-a3b02137ff26 is the volume bound to my
VM:
<disk type='volume' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source pool='local' volume='402aea08-26aa-45b6-a46e
-a3b02137ff26'/>
<backingStore/>
<target dev='vda' bus='virtio'/>
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x00'
slot='0x04'
function='0x0'/>
</disk>
Here is the test result (version is for both source and destination):
- 1.2.15 -> ok
- 1.2.16 -> ok
- 1.2.17 -> fails
- 1.2.18 -> fails
Is it a bug? Do I miss something?
Thanks,
Antoine
Show replies by date
Hi,
I've done a git bisec between v1.2.16 and v1.2.17 to try to debug this
problem myself, and I found that the "problem" comes from the following
commit:
93a19e283e5a147d147d84383aaaa8be63b6a68d qemu: migration: selective
block device migration
So it seems that I miss something :-).
This commit implements a --migrate-disks option on virsh migrate
command which allow to select which disks are to be migrated. By
default, disks are not migrated, this is why I got this error.
Good news, this new feature also solves my problem to migrate VMs with
local + rbd disks.
Antoine