>> Just to make myself clear. I want to backup the qcow image
/with/ the
>> internal snapshot. Is that even possible with blockcopy?
>
> Let's try. I just did the below test (also I noted it in the URL below)
>
> # Take an (internal) snapshot when the guest was shutdown
Okay. So even a snapshot taken while the machine is off is not
preserved. That's a pity.
Some more details - blockcopy's usecase is different:
From my notes w/ previous interactions w/ Eric (Blocklayer primary
dev), blockcopy allows you
(1) to create a copy of a chain, and optionally "pivoting" live qemu to use that
copy
instead of the original.
Here, 'pivoting' means:
Going from
base<-snap1<-path1/to/snap2
to
base<-snap1<-path2/to/snap2,
where path{1,2}/to/snap2 are copies at the time of the pivot.
(2) It is also possible to take a copy but not pivot to it, for backup purpose, so
blockcopy has a choice of shallow or full: If you use --shallow, only the leaf image is
copied, the rest of the chain is untouched.
So if you have
base <- snap1 <- active;
copy --shallow creates
base <- snap1 <- copy (where copy matches active);
copy without shallow creates "copy", where copy matches the entire chain.
Thank you anyway .
best regards
t.
> $ virsh snapshot-list fed18
> Name Creation Time State
> ------------------------------------------------------------
> 1370847718 2013-06-10 12:31:58 +0530 shutoff
>
>
> # Start the guest
> $ virsh start fed18
>
>
> # Undefine the guest while it is running - this will
> # make the guest transient (libvirt expects it to be 'transient')
> $ virsh undefine fed18
> Domain fed18 has been undefined
>
>
> # List the guest
> root@~$ virsh list
> Id Name State
> ----------------------------------------------------
> 3 fed18 running
>
> $
>
>
> # Do blockcopy (it's only when the guest is "live")
> $ virsh blockcopy --domain fed18 vda \
> /export/backup/images/fed18.qcow2 --wait --finish --verbose
> Block Copy: [ 100 %]
>
>
> # Query the info of original image:
> ===========
> root@~$ qemu-img info --backing-chain /var/lib/libvirt/images/el6box1.qcow2
> image: /var/lib/libvirt/images/el6box1.qcow2
> file format: qcow2
> virtual size: 10G (10737418240 bytes)
> disk size: 1.2G
> cluster_size: 65536
> Snapshot list:
> ID TAG VM SIZE DATE VM CLOCK
> 1 1370853048 0 2013-06-10 14:00:48 00:00:00.000
> ===========
> $ qemu-img snapshot -l /var/lib/libvirt/images/el6box1.qcow2
> Snapshot list:
> ID TAG VM SIZE DATE VM CLOCK
> 1 1370853048 0 2013-06-10 14:00:48 00:00:00.000
> ===========
>
> # Query info of the backup:
> ===========
> $ qemu-img info --backing-chain /export/backup/images/el6box1-back.qcow2
> image: /export/backup/images/el6box1-back.qcow2
> file format: qcow2
> virtual size: 10G (10737418240 bytes)
> disk size: 10G
> cluster_size: 65536
> ===========
> $ qemu-img snapshot -l /export/backup/images/el6box1-back.qcow2
> ===========
>
> Hm, from what it looks, it doesn't appear to preserve the internal snapshot..
>
>>
>>>
http://kashyapc.fedorapeople.org/virt/lc-2012/live-backup-with-blockcopy.txt
>>>
>
--
/kashyap