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