通常在使用KVM虛擬機的時候不外乎就那幾種檔案格式 (.img .raw .qcow2)
不過qcow2比較特別的是 他只支援容量擴充 一旦擴充後 想要再縮小就比較麻煩
沒辦法用qem-img resize的方式縮小
如果想要縮小qcow2檔案的大小 來節省空間的話
首先在客戶端(linux)執行
dd if=/dev/zero of=/mytempfile
這裡會將硬碟剩餘的空間 用一個全部為0的mytempfile塞滿
rm -f /mytempfile
接著再把mytempfile刪除,來製造空間已使用完的假象,但其實都是沒必要的零
接著將VM 客戶端關機,回到HOST端執行以下指令
mv original_image.qcow2 original_image.qcow2_backup
qemu-img convert -O qcow2 original_image.qcow2_backup original_image.qcow2
上面的指令會透過qemu-img convert 轉檔,轉檔的同時會壓縮空間,
由於我們剛剛填入的都是0 所以可以把剩下的空間省下來
最後再檢查輸出的.qcow2檔案能不能正確的運行VM 可以的話就可以把backup刪除了