[Libguestfs] Appliance image. Why raw?

Richard W.M. Jones rjones at redhat.com
Tue Jun 20 14:47:09 UTC 2017


On Tue, Jun 20, 2017 at 05:04:53PM +0300, Pavel Butsykin wrote:
> I noticed that raw is intentionally used as image format for appliance
> image. So I would like to ask, is there any reason to use raw as image
> format for appliance?

The simple answer is because we create the appliance image (it's an
ext2/3/4 filesystem) using e2fsprogs, and that library wouldn't know
how to create anything else since it always assumes it's writing
directly to a device.

https://github.com/libguestfs/supermin/blob/master/src/format_ext2.mli#L22-L29

HTH,

Rich.

> I would suggest that choice is related with the performance, so I did
> several test runs (./run utils/boot-benchmark/boot-benchmark)
> 
> /appliance/root.raw:
> Result: 1342.9ms ±2.9ms
> Result: 1370.1ms ±17.3ms
> Result: 1365.1ms ±11.0ms
> 
> appliance/root.qcow2:
> Result: 1353.1ms ±2.4ms
> Result: 1350.2ms ±5.3ms
> Result: 1374.7ms ±5.4ms
> 
> But even theoretically there should not be much difference, because
> qcow2 uses a cache to internal tables. Also -drive configured to use the
> host cache:
>   if (has_appliance_drive) {
>     ADD_CMDLINE ("-drive");
>     ADD_CMDLINE_PRINTF ("file=%s,snapshot=on,id=appliance,"
>                         "cache=unsafe,if=none,format=raw",
> 

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-top is 'top' for virtual machines.  Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top




More information about the Libguestfs mailing list