Eric,

Following along with your direction I get stuck at virsh blockcopy. I receive an error "unsupported configuration: block copy is not supported with this QEMU binary."

As I originally explained this host is running Red Hat EL6.3.

Is live blockcopy supported in EL6.3?

Packages:
qemu-kvm-0.12.1.2-2.295.el6_3.2.x86_64
libvirt-client-0.9.10-21.el6_3.4.x86_64

Regards,
Jamie Ian Fargen


On Tue, Feb 12, 2013 at 10:12 AM, Eric Blake <eblake@redhat.com> wrote:
On 02/12/2013 06:22 AM, Jamie Fargen wrote:
> Eric-

[Please don't top-post on technical lists]

>
> Why wouldn't a 'virsh blockcopy --pivot domain src dest' be sufficient to
> migrate the volumes to a new storage pool?

It IS sufficient, as part of the sequence I documented here:

>>
>> # save off the persistent definition for later
>> virsh dumpxml --inactive $dom > $dom.xml
>> # make the guest transient
>> virsh undefine $dom
>> # remind myself which disks need migration
>> virsh domblklist $dom
>> # for each disk (such as "vda"), do a migration
>> virsh blockcopy $dom $disk /path/to/new --wait --verbose --pivot
>> # make the guest persistent again
>> virsh define $dom.xml

Or maybe I'm misunderstanding your question.  Are you asking why
blockcopy doesn't work with a persistent domain?  And the answer to that
is because as of at least qemu 1.4, there is no support for remembering
the progress of a block copy across a domain restart; there have been
patches proposed for qemu 1.5 that add a persistent bitmap, and there
are plans to teach libvirt to use this new feature to allow 'virsh
blockcopy' even for a persistent domain, so that you don't have to
juggle through the steps of going to a transient domain just to do the
blockcopy.

--
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org