อิมเมจ QEMU QCOW2 (.qcow2)

QEMU มาตรฐาน

QEMU Copy-On-Write v2 (QCOW2) เป็นรูปแบบอิมเมจดิสก์ของ QEMU ซึ่ง QEMU และแพลตฟอร์มเวอร์ชวลไลเซชันบางตัวรองรับ มีฟีเจอร์อย่าง snapshot ไฟล์ backing และการบีบอัดที่เลือกใช้ได้

แปลง QCOW2 เป็น RAW

ตัวแปลงจาก QCOW2 เป็น RAW ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ

ตรวจสอบไฟล์และข้อมูลเมตา

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ QCOW2 โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

เลือกหรือวางไฟล์ที่นี่

เป็นส่วนตัว - ไฟล์จะไม่ออกจากอุปกรณ์ของคุณ

หรือวาง Ctrl+V
รับประกันความเป็นส่วนตัวโดยไม่มีการส่งข้อมูลผ่านเครือข่าย: อัปโหลด 0 ไบต์ไปยังเซิร์ฟเวอร์ภายนอก การประมวลผลทั้งหมดเกิดขึ้นภายในแซนด์บ็อกซ์ของเบราว์เซอร์ของคุณ

ลายเซ็นส่วนหัวระดับไบต์

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ QCOW2 โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

ลายเซ็น HEX (OFFSET 0):

51 46 49 FB 00 00 00 02 / 03

การแสดงผลรูปแบบ ASCII: QFIû...

มาตรฐาน: QEMU QCOW2 Image Format Specification

ข้อมูลจำเพาะทางเทคนิค

สถาปัตยกรรมคอนเทนเนอร์ตารางจัดสรรคลัสเตอร์สองระดับ (ตาราง L1 และ L2) รองรับไฟล์ backing แบบ Copy-on-Write, สแนปช็อต และการเข้ารหัส
การบีบอัดการบีบอัดระดับคลัสเตอร์ด้วย Zlib Deflate หรือ Zstandard (Zstd)
การจัดลำดับไบต์ส่วนหัวและออฟเซ็ตคลัสเตอร์แบบ Big-Endian
พื้นที่สีไม่เกี่ยวข้อง (ดิสก์เครื่องเสมือน)
ช่องสัญญาณและโครงสร้างพาร์ทิชันฮาร์ดไดรฟ์ ระบบไฟล์ และสแนปช็อต ณ จุดเวลาใดเวลาหนึ่งของเครื่องเสมือน
ขนาดสูงสุดสูงสุด 2 Petabytes (รองรับแอดเดรสคลัสเตอร์ 64 บิต)
ความโปร่งใสไม่มี
การสตรีมและแบบโปรเกรสซีฟการแมปบล็อกแบบสุ่มที่รวดเร็วด้วย Copy-on-Write

ตารางเปรียบเทียบทางเทคนิค: QCOW2 กับคู่แข่ง

คุณลักษณะทางเทคนิคQCOW2 (ปัจจุบัน)RAWVHDVMDK
ระบบนิเวศการจำลองเสมือนKVM / QEMU / Proxmox / OpenStackทางกายภาพโดยตรง / KVMMicrosoft Hyper-V / AzureVMware ESXi / Workstation
การจัดสรรแบบบาง (Thin Provisioning)การจัดสรรตามความต้องการของคลัสเตอร์แบบเนทีฟไม่มี (จัดสรรเต็มจำนวน)การจัดสรร VHD แบบไดนามิกการจัดสรร VMDK แบบบาง
ไฟล์สำรอง (CoW)รองรับโดยตรงเป็นความสามารถหลักไม่มีดิสก์ที่เก็บเฉพาะส่วนต่างโคลนที่เชื่อมโยงกัน (Linked clones)
การบีบอัดภายในzlib และ Zstandard (Zstd) แบบเนทีฟไม่มีไม่มีสตรีมที่ปรับให้เหมาะสมกับการบีบอัด

รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex

ข้อผิดพลาดของ QEMU: 'qemu-system-x86_64: qcow2: Image is corrupt: cannot find refcount block' (อิมเมจเสียหาย: ไม่พบบล็อกตัวนับการอ้างอิง)

สาเหตุหลัก: การปิดโฮสต์ที่ไม่สะอาดทำให้การนับการอ้างอิงการจัดสรรคลัสเตอร์ถูกขัดจังหวะ

การกู้คืน: ซ่อมแซมการจัดสรรคลัสเตอร์โดยใช้คำสั่ง 'qemu-img check -r all broken.qcow2' หรือ File2File.app

การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์

ตัวแยกวิเคราะห์ QCOW2 ประเมินตารางออฟเซตคลัสเตอร์ซึ่งการอ้างอิงที่ผิดรูปแบบอาจทำให้หน่วยความจำโฮสต์ในไฮเปอร์ไวเซอร์เสียหายได้

เวกเตอร์การโจมตีที่ทราบ

  • การเจาะทะลุไฮเปอร์ไวเซอร์ผ่านการเขียนคลัสเตอร์นอกขอบเขตในไดรฟ์บล็อก QEMU ที่มีความเสี่ยง
  • ช่องโหว่การเข้าถึงพาธ (Path traversal) ในการอ้างอิงพาธไฟล์สำรอง
  • การปฏิเสธการให้บริการผ่านห่วงโซ่อ้างอิงไฟล์สำรองที่เป็นวงกลม

แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: จำกัดเส้นทางไฟล์สำรองและรันเครื่องเสมือนด้วยเนมสเปซผู้ใช้ที่ไม่มีสิทธิ์

ประวัติความเป็นมาและเหตุการณ์สำคัญ

2019QEMU 4.0 เปิดตัวการรองรับการบีบอัด Zstandard (Zstd) แบบเนทีฟสำหรับคลัสเตอร์ QCOW2
2012QCOW2 เวอร์ชัน 3 ได้รับการกำหนด โดยเพิ่มแฟล็กศูนย์ย่อยคลัสเตอร์ (sub-cluster zero flags) และการแคชข้อมูลเมตาที่ดีขึ้น
2006Fabrice Bellard ออกแบบ QCOW2 เพื่อเอาชนะข้อจำกัดด้านประสิทธิภาพและสแนปชอตของ QCOW ดั้งเดิม

ข้อได้เปรียบและจุดเด่นสำคัญ

  • การจัดสรรพื้นที่ตามการใช้งานจริง: ใช้พื้นที่ดิสก์เฉพาะคลัสเตอร์ที่มีการเขียนข้อมูลแล้วเท่านั้น
  • ไฟล์ backing แบบ Copy-on-Write (CoW) ช่วยให้เครื่องเสมือนหลายเครื่องใช้ภาพฐานร่วมกันและจัดเก็บการเปลี่ยนแปลงแยกกัน การประหยัดพื้นที่ขึ้นอยู่กับเวิร์กโหลดและการตั้งค่า
  • สแนปชอตภายใน: บันทึกสถานะเครื่องเสมือน ณ จุดเวลาใดเวลาหนึ่งโดยไม่ต้องหยุดอินสแตนซ์เสมือนที่กำลังทำงานอยู่

ข้อจำกัดทางเทคนิคและข้อควรพิจารณา

  • มีภาระงาน I/O สูงกว่าอุปกรณ์บล็อกดิบเล็กน้อยเนื่องจากการค้นหาตารางคลัสเตอร์แบบสองระดับ
  • อาจเกิดการกระจายตัวของข้อมูลเมตา (fragmentation) หลังจากการเขียนแบบสุ่มหนักหน่วงเป็นเวลานาน
  • ต้องใช้ qemu-img หรือเครื่องมือจำลองเสมือนเพื่อตรวจสอบหรือจัดการนอกระบบ Linux

เกร็ดความรู้ทางเทคนิคที่น่าสนใจ

  • ลายเซ็นไฟล์ 4 ไบต์แรกคือ 0x51 0x46 0x49 0xFB ซึ่งแปลเป็น ASCII ว่า 'QFI' ตามด้วยไบต์ 0xFB (ย่อมาจาก 'QEMU File Image')
  • QCOW2 ถูกสร้างขึ้นโดย Fabrice Bellard โปรแกรมเมอร์ชาวฝรั่งเศสผู้เป็นตำนาน ซึ่งเป็นผู้สร้าง FFmpeg, QEMU และ QuickJS ด้วย
  • QCOW2 รองรับโดย QEMU และใช้กับแพลตฟอร์มอย่าง Proxmox VE และ OpenStack ได้ แต่รูปแบบจัดเก็บขึ้นอยู่กับการกำหนดค่า

คำถามทางเทคนิคที่พบบ่อย

ไฟล์ QCOW2 คืออะไร

ไฟล์ QCOW2 คืออิมเมจฮาร์ดไดรฟ์เสมือนที่ใช้โดยซอฟต์แวร์เสมือนจริงของ Linux เช่น QEMU และ KVM โดยมีความสามารถในการจัดสรรพื้นที่แบบ Thin Provisioning และสแนปชอตทันที

ฉันจะแปลง QCOW2 เป็น RAW หรือ VMDK ได้อย่างไร

คุณสามารถแปลงอิมเมจดิสก์ QCOW2 เป็นรูปแบบ RAW, VMDK หรือ VHD ได้โดยใช้ File2File.app หรือคำสั่ง 'qemu-img convert'

Copy-on-Write หมายถึงอะไร

Copy-on-Write หมายความว่าดิสก์จะบันทึกเฉพาะการเปลี่ยนแปลงที่เกิดขึ้นกับระบบเท่านั้น โดยอิมเมจฐานเดิมจะไม่ถูกแตะต้อง ช่วยให้ VM หลายร้อยรายการสามารถใช้เทมเพลตฐานเดียวกันร่วมกันได้