壓縮qcow2虛擬機鏡像文件

在虛擬機的使用過程中,虛擬機內的文件經過大量的增、刪、改等操作後,會使得虛擬機磁盤的體積變大。即使刪除了虛擬機內的文件,已經分配給虛擬磁盤的空間卻並不會被回收。不過我們可以進行手動回收這些虛擬機沒有使用的空間。

首先在虛擬機內部執行如下命令

dd if=/dev/zero of=/dev/ext_disk/junk
rm -rf /dev/ext_disk/junk

執行這個命令的目的,是把虛擬磁盤內部所有未被佔用的空間用 0 字節填充。

其中 /dev/ext_disk是我們的虛擬磁盤,在虛擬機內部掛載在了/dev/ext_disk上。

之後關閉虛擬機,在宿主機上執行如下命令。

qemu-img convert -c -O qcow2 vm-db.qcow2 vm-db-new.qcow2

在進行轉換的時候,qemu-img 命令不拷貝虛擬磁盤中的0數據塊。這樣就達到了壓縮磁盤的目的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章