Re: [Qemu-devel] qemu drive-mirror to rbd storage : no sparse rbd image

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>>These don't tell me much. Maybe it's better to show the actual commands and how 
>>you tell sparse from no sparse? 


Well,

I create 2 empty source images files of 10G. (source.qcow2 and source.raw)

then:

du -sh source.qcow2  : 2M
du -sh source.raw  : 0M


then I convert them with qemu-img convert : (source.qcow2 -> target.qcow2 , source.raw -> target.raw)

du -sh target.qcow2  : 2M
du -sh target.raw  : 0M

(So it's ok here)

But If I convert them with drive-mirror:

du -sh target.qcow2  : 11G
du -sh target.raw  : 11G



I have also double check with #df, and I see space allocated on filesystem when using drive-mirror.

I have the same behavior if target is a rbd storage.

Also I have done test again ext3,ext4, and I see the same problem than with xfs. 


I'm pretty sure that drive-mirror copy zero block, qemu-img convert take around 2s to convert the empty file
(because it's skipping zero block), and drive mirror take around 5min.

----- Mail original ----- 

De: "Fam Zheng" <famz@xxxxxxxxxx> 
À: "Alexandre DERUMIER" <aderumier@xxxxxxxxx> 
Cc: "qemu-devel" <qemu-devel@xxxxxxxxxx>, "Ceph Devel" <ceph-devel@xxxxxxxxxxxxxxx> 
Envoyé: Samedi 11 Octobre 2014 10:25:35 
Objet: Re: [Qemu-devel] qemu drive-mirror to rbd storage : no sparse rbd image 

On Sat, 10/11 10:00, Alexandre DERUMIER wrote: 
> >>What is the source format? If the zero clusters are actually unallocated in the 
> >>source image, drive-mirror will not write those clusters either. I.e. with 
> >>"drive-mirror sync=top", both source and target should have the same "qemu-img 
> >>map" output. 
> 
> Thanks for your reply, 
> 
> I had tried drive mirror (sync=full) with 
> 
> raw file (sparse) -> rbd (no sparse) 
> rbd (sparse) -> rbd (no sparse) 
> raw file (sparse) -> qcow2 on ext4 (sparse) 
> rbd (sparse) -> raw on ext4 (sparse) 
> 
> Also I see that I have the same problem with target file format on xfs. 
> 
> raw file (sparse) -> qcow2 on xfs (no sparse) 
> rbd (sparse) -> raw on xfs (no sparse) 
> 

These don't tell me much. Maybe it's better to show the actual commands and how 
you tell sparse from no sparse? 

Does "qcow2 -> qcow2" work for you on xfs? 

> 
> I only have this problem with drive-mirror, qemu-img convert seem to simply skip zero blocks. 
> 
> 
> Or maybe this is because I'm using sync=full ? 
> 
> What is the difference between full and top ? 
> 
> ""sync": what parts of the disk image should be copied to the destination; 
> possibilities include "full" for all the disk, "top" for only the sectors 
> allocated in the topmost image". 
> 
> (what is topmost image ?) 

For "sync=top", only the clusters allocated in the image itself is copied; for 
"full", all those clusters allocated in the image itself, and its backing 
image, and it's backing's backing image, ..., are copied. 

The image itself, having a backing image or not, is called the topmost image. 

Fam 
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux