journald ログ ファイルの圧縮が機能しない

journald ログ ファイルの圧縮が機能しない

つまり、基本的に BTRFS 透過圧縮 (zstd:0) は、 の下にあるログ ファイルでは機能しません/var/log/journal。手動でファイルを圧縮すると (zstd ファイル) サイズに大きな違いが生じますが、compsize では 100% 圧縮されていないと報告されるため、この問題は理解できません。他のパーティションでは圧縮は正常に機能します。

スタバ

/dev/mapper/vg_1-lv_varlog /var/log        btrfs   compress-force=zstd,relatime,nodev,nosuid,noexec 0       0

圧縮する

Processed 21 files, 28 regular extents (28 refs), 0 inline.
Type       Perc     Disk Usage   Uncompressed Referenced
TOTAL      100%      1.0G         1.0G         1.0G
none       100%      1.0G         1.0G         1.0G

サンプルファイル

-rw-r-----+ 1 root systemd-journal  72M Apr  3 07:32 system@0a8678d3dc704a8c898bb86a8a8bc4bd-00000000000c94d0-0005a2528ac7d3c7.journal
-rw-r-----+ 1 root systemd-journal  72M Apr  3 19:09 system@0a8678d3dc704a8c898bb86a8a8bc4bd-00000000000de606-0005a25c3fec3527.journal
-rw-r-----+ 1 root systemd-journal  72M Apr  4 06:45 system@0a8678d3dc704a8c898bb86a8a8bc4bd-00000000000f3745-0005a265fa4a95e6.journal
-rw-r-----+ 1 root systemd-journal  72M Apr  4 18:20 system@0a8678d3dc704a8c898bb86a8a8bc4bd-000000000010887c-0005a26fb371f920.journal

圧縮比の例

-rw-r-----+ 1 root systemd-journal  72M Apr  8 06:55 system@0a8678d3dc704a8c898bb86a8a8bc4bd-00000000001c6a81-0005a2b9d9cd6e8f.journal
-rw-r-----+ 1 root systemd-journal 9.2M Apr  8 06:55 system@0a8678d3dc704a8c898bb86a8a8bc4bd-00000000001c6a81-0005a2b9d9cd6e8f.journal.zst

journald は圧縮すら実行していないようですが、何か見落としているのでしょうか?

これについて何かアドバイスはありますか?

答え1

/var/log/journalフォルダが NOCOW ( ) に設定されており、BTRFS の圧縮機能も無効になっているようです+C。 コマンドで確認できますlsattr /var/log

開発者はおそらく正当な理由でこれを有効にしているので、そのままにしておくのが最善です。特に、SUSE ではそのフラグがそのフォルダー (および /var フォルダー全体) にも適用されるためです。

旗の具体的な詳細については、以下のコメントを参照してください+C

関連情報