QCOW je format datoteke koji se koristi za datoteke diskovnih slika koje koristi QEMU emulator za virtualizaciju. To konkretno znači da se tvrdi disk virtualnog računala zapravo pohranjuje unutar qcow datoteke.
QCOW je skraćenica za "QEMU Copy On Write" , a ovaj format koristi strategiju optimizacije pohrane na disku koja odgađa dodjelu pohrane dok stvarno ne bude potrebna. Unutar formata qcow mogu se nalaziti razne diskovne slike koje su općenito povezane s određenim operativnim sustavima za virtualna računala.
Postoje tri inačice formata: qcow, qcow2 i qcow3[1] koje koriste ekstenzije datoteka: .qcow, .qcow2 i .qcow3.
Ipak, druga inačica (QCOW2) češća je u primjeni (pr. OpenStack, Proxmox VE) [2022.g.].[2][3]
Pod Linuxom postoji naredba qemu-img
koja omogućuje pregled, provjeru, stvaranje, pretvaranje, promjenu veličine i snimanje qcow slika diskova. Naredbe e2fsprogs
i e2image
također imaju podršku za generiranje qcow2 datoteka kako bi se izbjegla upotreba podrške za prorijeđene datoteke (sparse files).
Jedna od glavnih karakteristika qcow diskovnih slika je da datoteke u ovom formatu mogu rasti dinamički, kako se dodaju podaci (tzv. Thin provisioning). To omogućuje manje veličine datoteka od neobrađenih diskovnih slika, koje datoteci dodjeljuju cijeli prostor slike, čak i ako su njezini dijelovi prazni. Ovo je posebno korisno za datotečne sustave koji ne podržavaju prorijeđene datoteke (sparse files), kao što je primjerice FAT32[4].
Format qcow također omogućuje pohranu promjena napravljenih na osnovnoj diskovnoj slici samo za čitanje, u zasebnoj qcow datoteci korištenjem kopiranja pri zapisivanju (Copy On Write sposobnost). Ovakva nova datoteka qcow sadrži stazu do osnovne diskovne slike kako bi se mogli vratiti na nju kada je potrebno. Kada se određeni podatak mora pročitati s ove nove slike, sadržaj se iz nje dohvaća ako je nov i tamo je pohranjen; ako nije, podaci se dohvaćaju iz osnovne slike.[5][6]
Qcow2 je ažurirana inačica formata qcow. Qcow2 je donio sljedeće novosti:
U praksi, QCOW2 format je jedan od zastupljenijih u virtualizaciji, a podržavaju ga i/ili koriste sljedeće platforme za virtualizaciju: