ฉันมีเครื่องเสมือนที่เริ่มต้นด้วย 5 สแน็ปช็อต 1,2,3,4,5
ฉันใช้ qemu-img เพื่อลบภาพรวม 1,2,3 สแนปชอต 4 และ 5 ยังจำเป็นและไม่ถูกลบ
ฉันจะปล่อยพื้นที่ที่ใช้โดยสแน็ปช็อต 1,2,3 และเก็บสแน็ปช็อต 4 และ 5 ได้อย่างไร
ฉันใช้เวลามากมายในการค้นหาวิธีแก้ไข และวิธีแก้ไขที่ฉันได้ลองได้รับผลลัพธ์ดังต่อไปนี้:
การใช้ qemu-img converter (ลบสแน็ปช็อตที่จำเป็น)
qemu-img แปลง -O qcow2 Linux.qcow2 Linux_s.qcow2
ลดพื้นที่ที่ใช้โดย Linux.qcow2 แต่ลบสแน็ปช็อต 4 และ 5
ใช้ virt-sparsify (ไม่กู้คืนพื้นที่ใด ๆ )
cp Linux.qcow2 TEST.qcow2
sudo virt-sparsify --in-place TEST.qcow2
คงไว้ซึ่งสแนปชอตที่ยังไม่ได้ลบทั้งสองรายการ แต่จะไม่กู้คืนพื้นที่เดิม
เดิมถูกครอบครองโดยภาพรวม 1,2,3
ฉันจะกู้คืนพื้นที่ว่างในไฟล์ qcow2 ได้อย่างไรหลังจากลบสแน็ปช็อต ในขณะที่ยังคงรักษาสแน็ปช็อตที่เหลืออยู่
ฉันพบว่ามันยากที่จะเข้าใจว่าเหตุใดจึงไม่มีวิธีที่ง่ายในการบรรลุสิ่งนี้ซึ่งมีเอกสารชัดเจน
แก้ไข: มีวิธีใดที่จะคัดลอก Snapshot 4 ไปยังไฟล์ใหม่เป็น snapshot แล้วเพิ่ม delta สำหรับ snapshot 5 จากนั้นฉันก็สามารถละทิ้งไฟล์พิเศษที่มีพื้นที่ว่าง