私は次の/etc/systemd/journald.conf
構成を持っています:
[Journal]
Storage=persistent
#Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
#RateLimitIntervalSec=30s
#RateLimitBurst=1000
SystemMaxUse=5G
SystemKeepFree=10G
SystemMaxFileSize=1G
#SystemMaxFiles=100
#RuntimeMaxUse=
#RuntimeKeepFree=
#RuntimeMaxFileSize=
#RuntimeMaxFiles=100
#MaxRetentionSec=
#MaxFileSec=1month
#ForwardToSyslog=yes
#ForwardToKMsg=no
#ForwardToConsole=no
#ForwardToWall=yes
#TTYPath=/dev/console
#MaxLevelStore=debug
#MaxLevelSyslog=debug
#MaxLevelKMsg=notice
#MaxLevelConsole=info
#MaxLevelWall=emerg
確認する/var/log/journal
と、何百ものジャーナルアーカイブが空であることがわかりましたjournalctl --file ...
。
-rw-r-----+ 1 root systemd-journal 8388608 May 8 10:56 [email protected]~
-rw-r-----+ 1 root systemd-journal 8388608 May 8 10:56 [email protected]~
-rw-r-----+ 1 root systemd-journal 8388608 May 8 10:56 [email protected]~
-rw-r-----+ 1 root systemd-journal 8388608 May 8 10:57 [email protected]~
-rw-r-----+ 1 root systemd-journal 8388608 May 8 10:57 [email protected]~
-rw-r-----+ 1 root systemd-journal 8388608 May 8 10:57 [email protected]~
実行すると、journalctl --vacuum-size=500M
すべてのファイルが消えますが、数分後にハードドライブがいっぱいになるまですぐに再表示されます。
これはdockerデーモンが実行されているときにのみ発生し、"log-driver": "journald"
なぜこれが起こるのかについての情報を見つけることができません。この問題をどのようにデバッグできますが、この動作の原因は何ですか?
/Edit: docker デーモンログドライバが に設定されている場合にもjson-file
発生しますが、dockerd が実行されている場合にのみ発生します。
/編集2:まったくドッカーではないかもしれません。 dockerが実行されていない場合でも同じ動作が表示されますが、遅くなります。しかし、すべての行をコメントアウトした後、journal.conf
問題は消えました。SystemKeepFree=10G
最初にハードドライブの空き容量が10G未満の場合、Journaldはログファイルを非常に高速に回転し始め、ディスクを埋めると疑われます。
答え1
journald.conf
デフォルト(空のファイル)にリセットした後、問題は消えました。設定により、SystemKeepFree=10G
最初から10GBの空き容量がないため、ジャーナリングがディスクを空のログファイルで埋める一種のループに閉じ込められているようです。