[libvirt-users] Semantics of "virsh migrate --copy-storage-all" vs. --copy-storage-inc

Eric Blake eblake at redhat.com
Wed Apr 29 16:37:58 UTC 2015


On 04/29/2015 10:09 AM, Andreas Buschmann wrote:
> Hello,
> 
> what is really the difference between 
>   virsh migrate --copy-storage-all
> and 
>   virsh migrate --copy-storage-inc
> ?

If you use qcow2 backing chains for thin provisioning, as in:

base.qcow2 <- active.qcow2

then --copy-storage-all copies the entire disk over to the destination
(both base.qcow2 and active.qcow2 contents), while --copy-storage-inc
copies only active.qcow2 (and assumes you have manually copied
base.qcow2 in some other means - since it is read-only, it won't change
from the last migration, and there are some storage arrays where you can
very efficiently copy files around).  Thus, --copy-storage-inc can be
MUCH faster if active.qcow2 represents a small delta in relation to
base.qcow2.

> 
> There are some documents talking about NBD snapshots, but the user
> visible semantics are incomplete.

The above conversation is independent of NBD snapshots, which are
something else altogether.

> 
> Where does the incremental stuff happen?
> Does it require qcow2 files?

The active layer has to be able to have backing images (qcow2 is the
most common format that has this property, but other formats like qed
also work).  The backing file can be any format.

> Does it work with raw files?

Raw files can't have backing images, so there is nothing incremental to
be copied.

> Does "--copy-storage-inc" require existing snapshots?

No. It requires existing backing files.  'virsh snapshot-create' for
creating external snapshots is one way to create backing file chains,
but you can have backing chains without using libvirt snapshot chains to
create them.

> Does "--copy-storage-inc" require existing snapshots which are in an
> external file so that there is a visible chain [base] <- [sn1] <- [sn2]

Yes.

> 
> 
> Background:
> I am trying to understand what really happens, so I can use the tools
> for a reasonable fast failover between two servers with local storage.
> 
> more Background:
> I have VMs and bare metal servers which do use expensive shared storages
> like NetApp, EMC² VNX, HP and others, but the shared storage boxes all
> require customer visible maintenance downtimes every 12 to 20 month.
> And these downtimes take a long lead time and are between 01:00 and 05:00.
> 
> 					Mit freundlichen Gruessen
> 						Andreas Buschmann
> 

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 604 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20150429/1a37eb81/attachment.sig>


More information about the libvirt-users mailing list