🌡️

LVM-thin論理ボリュームの振る舞い

2025/02/25に公開

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