[CentOS-virt] compress raw image

Mon Aug 8 16:06:59 UTC 2011
Marco Colombo <linux at esiway.net>

On 08/04/2011 10:59 PM, Izaac wrote:
> On Thu, Aug 04, 2011 at 04:35:20PM +0200, Rainer Traut wrote:
>> I need to transfer a local raw image to another datacenter.
>> Is there a way to achieve good compression of this image, I heard of
>> tools overwriting unused space with zeros. Is this a good idea?
>
> You're talking about sparse files?  You probably want to use rsync with
> --sparse to keep the file from inflating on the far side.  Something
> like:
>
>     rsync -ctrvlzSP source.raw user at destination:source.raw
>

No, he's talking filling with zeros unused blocks. That's a prerequisite 
to optimize for a sparse image _on the other side_ and/or compression 
during the transfer.

I know of an ext2/3/4 utility that does precisely that. I have no idea 
if such an utility exists for NTFS. Poor man's solution is to create a 
file filled with zero as big as the free space in the filesystem (or a 
set of files). It should not be sparse (assuming NTFS supports sparse 
files). Then you remove it, stop the virtual machine and now you can 
compress the image at best (you can use -z option to rsync, or use a 
compression utility and then transfer the image, but using both doesn't 
make sense).

.TM.