[libvirt] issues with migrating using copy-storage-all

Reinier Schoof reinier at transip.nl
Fri Dec 9 13:04:48 UTC 2011


today I was trying to use the --copy-storage-all feature of virsh 
migrate, in an attempt to migrate KVM-instances to another storage 
backend. Doing so, I ran into some trouble:

First of all, it turned out the disk image-file has to be present on the 
receiving end of the migration. When, just to check, this disk image is 
smaller than the original image, migration suddenly stops (after filling 
the maximum size of the too small disk image). This is expected 
behaviour ofcourse.
But when I fix the disk image to the right size and start the migration 
again, the migration fails immediately, the domain is -undefined- and 
crashes. Qemu log showed:

kvm: block.c:2889: bdrv_set_in_use: Assertion `bs->in_use != in_use' failed.
2011-12-09 10:58:16.211: shutting down

Is this behaviour known to you guys?

Also, when I migrate a domain (10G qcow2 disk image, which is only used 
for 1GB), the qcow2 image on the receiving end shows 10G for both 
'virtual disk' and 'disk size', while this was 10G and 1G respectively 
on the sending end. Why is the image expanded? Or is this a limitation 
of the copy-storage-all?

How does the copy-storage-all function works for raw disk images? Does 
it send incremental copies of blocks which are written too since the 
migration is started?

Thanks in advance for your help!

Reinier Schoof


TransIP BV | https://www.transip.nl/

More information about the libvir-list mailing list