🌡️
LVM-thin論理ボリュームの振る舞い
LVM-thin論理ボリュームは、必要な分だけLVM-thinプールからストレージを持ってきます。そして「いらなくなったら」返却することになっています。
ディスクのゼロフィルに関して「いらなくなった」時がいつなのかProxmox上のVMで簡単に実験してみました。
- Proxmox 8.3
- Debian 12
- KIOXIA-EXCERIA G2 SSD(NVMe)
ゼロフィル
32GBのLVM-thin論理ボリュームを作り、VMにアタッチしました。Proxmox VE上でこのDiskにはDiscard
がマークされています。これは、trimされた領域がLVM-thinプールに返却されるという意味です。
そしてddコマンドでこれをzero fillします。
sudo dd if=/dev/zero of=/dev/sdb bs=1M
下の図はLVM-thinプールの使用状況をモニターしたものです。この図の赤く囲った部分がzero fillを行った時間で、単調に利用ストレージが増えていることがわかります。
その後、パーティションを切ってしばらく間を置いたのが直後の平坦部です。そしてmkfs.ext4
でフォーマットしたときに一気にプールの利用量が減りました。これが青で囲った部分です。
まとめ
ゼロフィル書き込みをTrimと同じ扱いにしてくれるといいな、と思ったのですがそんな都合の良い話ではありませんでした。使用しているSSDがRead Zero After Trimであるか否かがわかればよいのですが、hdparmで全く情報をとれなかったのでこれに関しては何とも言えません。
ともあれ、Linuxはフォーマット時にtrimコマンドを発行するということを確認できました。なお、私のOSではfstrim.timerが有効になっているため、どこでtrim漏れがあっても毎週一度必ずtrimされる設定になっています。
Discussion