[Thincrust-devel] issues with zip packaging for appliances

David Lutterkort lutter at redhat.com
Thu Nov 6 23:42:19 UTC 2008


On Thu, 2008-11-06 at 01:08 -0500, Perry Myers wrote:
> Other random interesting datapoints...
> 
> for the oVirt Appliance, if we have the output format as raw the image 
> size is 1.5GB since it is sparse
> 
> with the output format as qcow2 the image only drops to 1.2GB

Is that compressed qcow2 or uncompressed ? I was playing with this a
long time ago, and did some experiments on an appliance[1] that had two
disks - unfortunately, I didn't write down how big the disk files were.
The table below shows how long it takes to take the appliance with raw
disk files and package it in a variety of ways - I either put raw disk
files (with sparse option in tar) into the package, or first converted
the the disk files to compressed qcow2. The raw -> qcow2 conversion took
85s on my laptop, which needs to be added to the qcow times below:

Package       Size            Time
zip/raw       - miserable, truncates files at 4GB
zip/qcow      156MB              15s
tar.gz/raw    140MB              99s
tar.bz2/raw   123MB             203s
tar.bz2/qcow  156MB              54s
tar.gz/qcow   156MB              14s
7za/raw        78MB           17m 3s

I couldn't get Windows 7zip to extract a tarball made on Linux, even
though it claims it can do that. 

Because zip sucks so hard for files with > 4GB, and because OVF mandates
tarballs, I settled on tarballs, even though that means Windows users
have to install Cygwin or similar.

Oh, and tarballs are also extremely slow when you try to get files out
of them; IIRC even getting the first file (image.xml) out of a big
compressed tarball was very slow.

> So the fundamental question here is... what packaging format can we use 
> that will have good compression, is natively supported on a wide variety 
> of platforms (Unix, Windows, Linux) and will hold raw images that are 
> fairly large.

My conclusion was there are no good options; since it seems we'll have
to require that Windows users install _something_ to make this work, we
might want to use uncompressed tarballs with compressed qcow2 images
inside - it would require that we do something for Windows users to use
those for, e.g VMWare. Maybe some tool that we stick into a
self-extracting zip together with the tarball ? (/me pukes)

David

[1] The Mantis appliance from JumpBox




More information about the Thincrust-devel mailing list