それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

qcow2 の容量が減らない。Sparseにしてるのに減らない。

qcow2 の容量が減らない。 使ってないのに減らない。

使用してないディスク容量は開放されるはず・・・だけど変わらない。

qemu-img convert -c -O qcow2 image.qcow2 shrinked_image.qcow2

何度も qemu-img を試してもファイルサイズが同じになる。。。

$ ls ubuntu-* -alht
-rw-r--r-- 1 libvirt-qemu kvm  140G Sep  6 03:31 ubuntu-root.qcow2
-rw-r--r-- 1 root         root 140G Sep  6 03:03 ubuntu-root.06.qcow2
-rw-r--r-- 1 root         root 101G Sep  4 14:51 ubuntu-root.04.qcow2

なんで、こんな事が起きるのかが分からずにパニックになる。

冷静になったたら、このディスクはbtrfs であると気づく

きっとbtrfs が古いファイルへの参照を持っている。

btrfs で古いファイルへの参照を消して、開放する。

デフラグして、参照を整理

sudo btrfs filesystem defragment -r /

古い参照をスクラブ

btrfs scrub start /
btrfs scrub status /

スクラブが終わるまでじっと待つ。

UUID:             xxxxxx-x-x-xx-x-x-x
Scrub started:    Tue Sep  6 04:10:03 2022
Status:           running
Duration:         0:01:05
Time left:        0:00:05
ETA:              Tue Sep  6 04:11:13 2022
Total to scrub:   75.48GiB
Bytes scrubbed:   69.80GiB
Rate:             1.07GiB/s
Error summary:    no errors found

デフラグして、参照を整理

sudo swapoff /swap.img
sudo btrfs filesystem defragment -r /

スクラブしたら、sparse へ変換をもう一度試す。

 sudo virt-sparsify out.qcow2 out.sparse.qcow2

関連資料。

https://takuya-1st.hatenablog.jp/entry/2022/04/18/135921