systemd-journald の容量制限・自動削除の設定

低価格のクラウドサーバーでディスク容量が逼迫する状況になっていました、容量が多い場所を調査するとsystemd-journaldのログが1.5Gほど使用していました。もともとディスク全体で15Gしかないので、結構の割合になります

ディスクの空き容量がすくないので、直近2週間ほど残して自動削除するように設定します

現在の設定とログ使用量の確認

先ずは、journaldのログ容量を確認します。ジャーナルログは1.4Gほど利用しており、ディスクの空きも4G程となっています

# ジャーナルログの実際の消費量を確認
$ sudo journalctl --disk-usage
Archived and active journals take up 1.4G in the file system.

# ディスクの空き容量も確認
$  df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
devtmpfs         4.0M     0  4.0M    0% /dev
tmpfs            870M  256K  870M    1% /dev/shm
tmpfs            348M  792K  348M    1% /run
/dev/sda1         15G   11G  4.0G   74% /
tmpfs            174M  4.0K  174M    1% /run/user/0

ジャーナルログを削除して容量を空ける(即時対応)

恒久的な対策ではなく、手動でログを 300MB まで縮小させます。以下のコマンドを実行します。

コマンドを実行すると、古いログが削除され Deleted ... of archived journals と解放された容量が表示されます。
これでジャーナルログが削除されディスクの容量が確保できます

$ sudo journalctl --vacuum-size=300M
Deleted archived journal /var/log/journal/ab0e4613f8ab4e3192616e828823676f/system@2d2fba5cf3dc44fb8a11d549acb04be2-0000000000ba5e64-00065cb4d22be498.journal (41.4M).
Deleted archived journal /var/log/journal/ab0e4613f8ab4e3192616e828823676f/system@2d2fba5cf3dc44fb8a11d549acb04be2-0000000000bb3450-00065cb9af5d92d7.journal (41.8M).
Deleted archived journal /var/log/journal/ab0e4613f8ab4e3192616e828823676f/system@2d2fba5cf3dc44fb8a11d549acb04be2-0000000000bc171e-00065cbafb05c34b.journal (41.7M).
Deleted archived journal /var/log/journal/ab0e4613f8ab4e3192616e828823676f/system@2d2fba5cf3dc44fb8a11d549acb04be2-0000000000bcf834-00065cbc48d600ac.journal (41.6M).
Deleted archived journal /var/log/journal/ab0e4613f8ab4e3192616e828823676f/system@2d2fba5cf3dc44fb8a11d549acb04be2-0000000000bdd7d3-00065cbda5b48dc4.journal (41.6M).
Vacuuming done, freed 208.3M of archived journals from /var/log/journal/ab0e4613f8ab4e3192616e828823676f.
Vacuuming done, freed 0B of archived journals from /var/log/journal.
Vacuuming done, freed 0B of archived journals from /run/log/journal.

設定ファイルを編集してログの肥大化を避ける(恒久対策)

「journald.conf」を編集して、保存期間・保存容量を設定して、ログが肥大化することを防ぐようにします
設定ファイル内の[Journal] セクションの以下の2行のコメントアウト(#)を外し、任意の値を設定して保存します

$ sudo vi /etc/systemd/journald.conf
[Journal]
SystemMaxUse=500M        # ログ全体の最大容量を 500MB に制限
MaxRetentionSec=2weeks   # 2週間(14日)より古いログは自動消去

設定を保存したら、ャーナルデーモンを再起動します。再起動をおこなうと、設定した上限(500MB / 2週間)を超えた古いログが自動的に一斉削除されます

# ジャーナルデーモンの再起動
$ sudo systemctl restart systemd-journald

\ 最新情報をチェック /

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です