QEMU QCOW2 (.qcow2)
QEMU Standartinis„QEMU Copy-On-Write v2" (QCOW2) yra pagrindinis virtualiojo disko formatas, skirtas šiuolaikinei „Linux" virtualizacijai (KVM, „Proxmox", „OpenStack", „QEMU"), pasižymintis dinamišku išteklių paskirstymu (angl. thin provisioning), vidinėmis momentinėmis kopijomis (angl. snapshots), baziniais failais ir skaidriu glaudinimu.
Konvertuoti QCOW2 į RAW
Nemokamas QCOW2 į RAW konverteris naršyklėje. Konvertuokite failus akimirksniu savo įrenginyje.
Tikrinti ir metaduomenys
Operacinės sistemos ir failų analizatoriai atpažįsta QCOW2 failus tikrindami pradinę dvejetainę baitų seką:
Baitų lygio antraštės parašas (magiškieji baitai)
Operacinės sistemos ir failų analizatoriai atpažįsta QCOW2 failus tikrindami pradinę dvejetainę baitų seką:
ŠEŠIOLIKTAINIS PARAŠAS (POSLINKIS 0):
51 46 49 FB 00 00 00 02 / 03ASCII ATVAIZDAVIMAS: QFIû...
Standartizacija: QEMU QCOW2 Image Format Specification
Techninės specifikacijos
| Konteinerio architektūra | Two-level cluster allocation table (L1 and L2 tables) supporting Copy-on-Write backing files, snapshots, and encryption |
| Glaudinimas | Zlib Deflate or Zstandard (Zstd) cluster-level compression |
| Baitų seka (Endianness) | Big-Endian header and cluster offsets |
| Spalvų erdvės | N/A (Virtual Machine Disk) |
| Kanalai ir struktūra | Virtual machine hard drive partitions, filesystems, and point-in-time snapshots |
| Maksimalūs matmenys | Up to 2 Petabytes (supports 64-bit cluster addresses) |
| Skaidrumas | None |
| Srautas ir progresyvusis įkėlimas | High-speed Copy-on-Write random-access block mapping |
Techninė palyginimo matrica: QCOW2 vs konkurentai
| Techninis atributas | QCOW2 (Dabartinis) | RAW | VHD | VMDK |
|---|---|---|---|---|
| Virtualizacijos ekosistema | KVM / QEMU / „Proxmox" / „OpenStack" | Tiesioginis fizinis / KVM | „Microsoft Hyper-V" / „Azure" | „VMware ESXi" / „Workstation" |
| Dinaminis išteklių paskirstymas | Vietinis klasterių paskirstymas pagal poreikį | Nėra (pilnai paskirstyta) | Dinaminis VHD paskirstymas | „Thin" VMDK paskirstymas |
| Baziniai failai (CoW) | Aukščiausio lygio vietinė galimybė | Nėra | Skirtingi diskai (angl. differencing disks) | Susieti klonai (angl. linked clones) |
| Vidinė kompresija | Vietinis „zlib" ir „Zstandard" (Zstd) | Nėra | Nėra | Glaudintas srautui optimizuotas |
Dažni sugadinimo režimai ir šešioliktainio atkūrimo vadovas
QEMU klaida: „qemu-system-x86_64: qcow2: Image is corrupt: cannot find refcount block".
Pirminė priežastis: Netaisyklingas pagrindinio kompiuterio išjungimas, sutrikdęs klasterio paskirstymo nuorodų skaitliukus.
Atkūrimas: Pataisykite klasterių paskirstymą naudodami komandą „qemu-img check -r all broken.qcow2" arba „File2File".
Saugumo analizė ir analizatoriaus atakos vektoriai
QCOW2 analizatoriai vertina klasterio poslinkio lenteles, kuriose klaidingos nuorodos hipervizoriuose gali sukelti pagrindinio kompiuterio atminties sugadinimą.
Žinomi atakos vektoriai
- Patekimas už hipervizoriaus ribų (angl. breakout) per užribinio klasterio rašymą pažeidžiamose QEMU bloko tvarkyklėse.
- Kelio naršymo (angl. path traversal) pažeidžiamumai bazinio failo kelio nuorodose.
- Paslaugos trikdžiai (DoS) per ciklines bazinio failo nuorodų grandines.
Geriausia apsaugos praktika:
Istorinė kilmė ir svarbiausi etapai
Pagrindiniai privalumai
- Dinaminis išteklių paskirstymas (angl. thin provisioning): fizinė disko vieta užimama tik tiems klasteriams, į kuriuos iš tikrųjų buvo rašyta.
- „Copy-on-Write" (CoW) baziniai failai: paleiskite šimtus virtualių mašinų iš vieno bazinio šablono nedubliuodami saugyklos.
- Vidinės momentinės kopijos: užfiksuokite virtualios mašinos būseną tam tikru laiko momentu nestabdydami veikiančių virtualių egzempliorių.
Techniniai apribojimai ir trūkumai
- Šiek tiek didesnės I/O sąnaudos nei neapdorotų blokų įrenginių (angl. raw block devices) dėl dviejų lygių klasterių lentelės paieškos.
- Galimas metaduomenų fragmentavimas po ilgo intensyvaus atsitiktinio rašymo ciklų.
- Reikalauja „qemu-img" arba virtualizacijos įrankių patikrinimui ar manipuliavimui už „Linux" ribų.
Įdomūs techniniai faktai
- Pirmieji 4 magiški baitai yra 0x51 0x46 0x49 0xFB, kurie ASCII koduotėje atitinka „QFI", o po jų sekantis baitas 0xFB (sutrumpinimas nuo „QEMU File Image").
- QCOW2 sukūrė legendinis prancūzų programuotojas Fabrice Bellard, kuris taip pat sukūrė „FFmpeg", „QEMU" ir „QuickJS".
- „Proxmox VE" ir „OpenStack" naudoja QCOW2 kaip pagrindinį virtualios saugyklos formatą įmonių debesų kompiuterijos diegimuose.
Dažniausiai užduodami techniniai klausimai
Kas yra QCOW2 failas?
QCOW2 failas yra virtualiojo standžiojo disko atvaizdas, kurį naudoja „Linux“ virtualizacijos programinė įranga, pavyzdžiui, QEMU ir KVM, pasižymintis dinamišku resursų paskirstymu (thin provisioning) ir momentinėmis kopijomis (snapshots).
Kaip konvertuoti QCOW2 į RAW arba VMDK?
QCOW2 disko atvaizdus į RAW, VMDK arba VHD formatą galite konvertuoti naudodami File2File.app arba komandą „qemu-img convert“.
Ką reiškia Copy-on-Write?
Copy-on-Write reiškia, kad diske išsaugomi tik pakeitimai, atlikti sistemoje. Originalus bazinis atvaizdas lieka nepaliestas, todėl šimtai virtualių mašinų (VM) gali naudotis tuo pačiu bazuotės šablonu.
Susijusios QCOW2 konvertavimo poros
QEMU QCOW2 virtualių diskų bylų konvertavimas į neapdorotą disko atvaizdą (RAW) pašalina kopijavimo rašant apvalkalą, kad būtų užtikrintas nesuglaudintas bloko lygio disko pasiekiamumas.
Vieno sluoksnio Raw disko atvaizdo konvertavimas į QEMU QCOW2 formatą smarkiai sumažina atsarginių kopijų dydį, įgalindamas dinaminį augimą ir išmanų glaudinimą.