それマグで!

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

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

lxd のストレージ・プールbtrfsに透過圧縮(zstd)を有効にする。

btrfs で透過圧縮ができる。

btrfs はCowで透過圧縮をサポートしている。書き込み量が少なければSSDの寿命にも優しいだろう。

lxd のストレージにbtrfs を採用したのだが、透過圧縮はオフになっている。どうせなら圧縮しておこう。

現在の設定の確認

現在の設定を確認する。ストレージ一覧をだして、設定を確認

lxc storage list
lxc storage show default
lxc exec my-host --  mount  | grep btrfs

設定を確認したところ、圧縮はされてなかったのでデフォルトでは圧縮されないようです。

透過圧縮を有効にする

lxc storage set default btrfs.mount_options compress=zstd

圧縮するにはアルゴリズムを選べる。zlib, lzo, zstd から選べる。zstdでは互換性を失うが処理時間が速いので使い勝手が損なわれないようだ。圧縮率を優先するならlzo がいいのかな

lzo を使う場合

lxc storage set default btrfs.mount_options compress=lzo

設定が保存されたか確認する。

lxc storage get default btrfs.mount_options

lxd を再起動する。再起動したら反映された。

snap restart lxd

マウントオプションが変わったか確認する。

lxc exec docker --  mount  | grep btrfs

変わっていた。

/dev/vg/lxd on / type btrfs (rw,relatime,compress=zstd:3,ssd,space_cache,subvolid=259,subvol=/containers/my-host)

これでしばらく使ってみよう。