[openstack-dev] Any experience with qed image format

Kashyap Chamarthy kchamart at redhat.com
Sun Aug 4 23:43:23 UTC 2013


On 08/05/2013 12:49 AM, Joshua Harlow wrote:
> Hi all, 
> 
> I was looking into newer formats for images for qemu/KVM and noticed a new one called qed,

> 
> http://wiki.qemu.org/Features/QED

I don't see any active development of QED format.

> 
> Has anyone in the openstack qemu/KVM users had any experience trying this format out? Was it better or worse than qcow2??

Short: I haven't tried it. However, from upstream QEMU's git master
branch, last commit to QED was about an year ago.

Long:
====

I strongly recommend qcow2 - it is actively being developed upstream,
and is also relatively widely used.

Also, QCOW2 can give you near raw performance.

 - You can use the preallocation=metadata flag to extract better
   I/O performance

    $ DISKIMAGE=/export/foobar.qcow2
    $ qemu-img create -f qcow2 -o preallocation=metadata $DISKIMAGE 10G

 - Further, you can even 'fallocate' the qcow2 image(which allocates
   all the blocks to the file ahead of time)

    $ fallocate -l `ls -al $diskimage | awk '{print $5}'` $DISKIMAGE

Related feature in OpenStack

    - https://blueprints.launchpad.net/nova/+spec/preallocated-images


> 
> Be neat to know if it really is better from real usage/experience :)

FWIW, I extensively use qcow2 in my test lab, and with preallocation and
'fallocate', I get pretty much near raw performance and additionally all
the qcow2 features like overlay images/backing files, snapshots,
sparse-files etc.

Versio3 of qcow2 is has two additional new features/performance
optimizations for some usecases:


  - lazy_refcounts -- it's essentially a performance optimization
    interesting only when using 'cache=writethrough' . Useful when guest
    crashes or powers off.

     - NOTE: The above feature is not much helpful when using
       'cache=none/writeback' (which is usually preferred).

    It can be invoked as below:

     $ qemu-img create -f qcow2 -o compat=1.1,lazy_refcounts=on a.qcow2 10G
     $ qemu-system-x86_64 -drive if=virtio,file=a.qcow2,cache=writethrough


  - Zero clusters -- Useful for image streaming over slow network
    connections.


-- 
/kashyap



More information about the OpenStack-dev mailing list