qcow is a file format for disk image files used by QEMU, a hosted virtual machine monitor.[1] It stands for "QEMU Copy On Write" and uses a disk storage optimization strategy that delays allocation of storage until it is actually needed. Files in qcow format can contain a variety of disk images which are generally associated with specific guest operating systems. Three versions of the format exist: qcow, qcow2 and qcow3[2] which use the .qcow, .qcow2 and .qcow3 file extensions, respectively.

qemu-img command allows to inspect, check, create, convert, resize and take snapshot of qcow images.[3] The e2fsprogs command e2image also has support for generating qcow2 files to avoid the use of sparse file support.[4]

Features

edit

One of the main characteristics of qcow disk images is that files with this format can grow as data is added. This allows for smaller file sizes than raw disk images, which allocate the whole image space to a file, even if parts of it are empty. This is particularly useful for file systems that do not support sparse files, such as FAT32.[5]

The qcow format also allows storing changes made to a read-only base image on a separate qcow file by using copy on write. This new qcow file contains the path to the base image to be able to refer back to it when required. When a particular piece of data has to be read from this new image, the content is retrieved from it if it is new and was stored there; if it is not, the data is fetched from the base image.[5]

Optional features include zlib-based transparent decompression.[6]

qcow2

edit

qcow2 is an updated version of the qcow format. qcow2 supports AES encryption.[7] The difference from the original version is that qcow2 supports multiple snapshots using a newer, more flexible model for storing them. The official documentation for the format is part of the QEMU Git tree.[8]

References

edit
  1. ^ "QEMU Emulator User Documentation". Wiki.qemu.org. Retrieved 12 December 2011.
  2. ^ "Features/Qcow3 - QEMU".
  3. ^ "Qemu-img(1): QEMU disk image utility - Linux man page".
  4. ^ "e2image(8) - Linux man page".
  5. ^ a b "The QCOW Image Format". People.gnome.org. 21 June 2006. Archived from the original on 6 October 2020. Retrieved 23 April 2013.
  6. ^ "The QCOW2 Image Format (outdated)". People.gnome.org. 11 September 2008. Archived from the original on 4 October 2012. Retrieved 12 December 2011.
  7. ^ "Qcow2 Disk Images and Performance | JamesCoyle.net Limited". 2 March 2016.
  8. ^ "docs/interop/qcow2.txt (latest)". QEMU. Archived from the original on 10 April 2018 – via gitlab.com.