[libvirt-users] Using virsh blockcopy -- what's it supposed to accomplish?

Kashyap Chamarthy kchamart at redhat.com
Tue Dec 23 12:17:08 UTC 2014


On Mon, Dec 22, 2014 at 03:50:58PM -0700, Eric Blake wrote:
> On 12/22/2014 03:27 PM, Gary R Hook wrote:
> > I am experimenting with the blockcopy command, and after figuring out
> > how to integrate qemu-nbd, nbd-client and
> > dumpxml/undefine/blockcopy/define/et. al. I have one remaining question:
> > 
> > What's the point?
> 
> Among other uses, live storage migration.
> 
> Let's say you are running on a cluster, where your VM is running locally
> but was booted from network-accessed storage.  You don't want any guest
> downtime, but you want to have the faster performance made possible by
> accessing local storage instead of the network-accessed storage.  virsh
> blockcopy can be used to change qemu's notion of where the active layer
> of the disk lives without any guest time, by copying then pivoting to a
> local file.

To add to Eric's explanation, I recently wrote a small example about it
here (this was tested with libvirt 1.2.6 & QEMU 2.1):

    http://kashyapc.com/2014/07/06/live-disk-migration-with-libvirt-blockcopy/

> > The "replication" disk file is not, from what I can ascertain, bootable.
> 
> Correct in the current implementation, if you don't manually freeze
> guest I/O prior to the point where you abort the copy (whether you do a
> straight abort, leaving the copy as the point in time, or whether you do
> a pivot, leaving the original as the point in time).  But I would like
> to add a --quiesce option to blockcopy, similar to what is already
> available for snapshot-create --quiesce.

I remember a RHEL7 bug you filed for that, Eric,

    https://bugzilla.redhat.com/show_bug.cgi?id=1151629 -- blockcopy
    --keep-overlay ought to have --quiesce option 

Something similar needs to be cloned upstream?

-- 
/kashyap




More information about the libvirt-users mailing list