Linux is a registered trademark of Linus Torvalds.
An Updated Overview of the QEMU Storage Stack
Stefan Hajnoczi – stefanha@linux.vnet.ibm.com Open Virtualization IBM Linux Technology Center 2011
An Updated Overview of the QEMU Storage Stack Stefan Hajnoczi - - PowerPoint PPT Presentation
An Updated Overview of the QEMU Storage Stack Stefan Hajnoczi stefanha@linux.vnet.ibm.com Open Virtualization IBM Linux Technology Center 2011 Linux is a registered trademark of Linus Torvalds. The topic What is the QEMU storage
Linux is a registered trademark of Linus Torvalds.
Stefan Hajnoczi – stefanha@linux.vnet.ibm.com Open Virtualization IBM Linux Technology Center 2011
– “Cautionary statement regarding forward-
– http://www.qemu.org/
– For cross-compilation, development
– Android Emulator, shipping in an Android
– KVM and Xen use QEMU device emulation
– Floppy, CD-ROM, USB stick, SD card,
– Flat files (img, iso)
– CD-ROM host device (/dev/cdrom) – Block devices (/dev/sda3, LVM volumes,
– Distributed storage (Sheepdog, Ceph)
– One virtio-blk PCI adapter per block device
– Good guest compatibility but low
– Currently experimental – Promises better performance than IDE – Relatively wide compatibility
– Patches to make SCSI emulation robust
– Virtio-scsi is being prototyped – Industry standard, rich features
– Two copies of data in memory
– O_DIRECT I/O on the host – Bypasses host page cache when possible – Zero-copy when possible
– Data may not be on disk
– Correct applications fsync(2) to guarantee
– Writes complete when they are on disk – Write performance is reduced
– Improves write performance – Only ensures data integrity if applications
– Only use for temporary data – Useful for speeding up guest installs – Switch to another mode for production
– Real disks allow WCE toggling at runtime – Lets guest determine whether to enable
– Today QEMU requires restart to change host
– QCOW2, QED – QEMU – VMDK – VMware – VHD – Microsoft – VDI – VirtualBox
– Sparse images – Backing files (delta images) – Encryption – Compression – Snapshots
– Use qemu-nbd to access image files on host
– Or use the powerful libguestfs:
– Qemu-img is the Rosetta Stone of image
– Supports all image formats that QEMU does – Stand-alone program, can be used without
– Adding support for latest file format versions – Google Summer of Code 2011 project
– Convert formats without copying data – Google Summer of Code 2011 project
– Start new guest immediately, populate data
– Currently in design phase – Enhance format with new ideas and address
– Virtio for Linux and Windows guests – IDE when virtio is not possible
– cache=none for local storage
– LVM if flexibility of image files not needed – Raw image files if features not needed – QCOW2 or QED if more features are
– Vmdk and others convert to native format
– Some layers are optional – Choose what you need
– Conservative and compatible – Consider virtio-blk and none cache mode