質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

systemd

systemdは、Linuxの起動処理及びシステム管理を行う技術です。他にも多くのサービス管理機能を備えており、ユーザープロセスを並列に起動しシステムの起動処理に要する時間を短縮できるなどの特徴があります。

Q&A

解決済

1回答

21467閲覧

[CentOS7] サーバー再起動後、journaldによるログ出力が止まる

Reiku

総合スコア40

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

systemd

systemdは、Linuxの起動処理及びシステム管理を行う技術です。他にも多くのサービス管理機能を備えており、ユーザープロセスを並列に起動しシステムの起動処理に要する時間を短縮できるなどの特徴があります。

0グッド

0クリップ

投稿2017/02/07 08:01

発生している現象

CentOS7のサーバーにて、
/etc/systemd/journald.confを下記のように設定しました。

[Journal] #Storage=auto Storage=persistent #Compress=yes #Seal=yes #SplitMode=uid #SyncIntervalSec=5m #RateLimitInterval=30s #RateLimitBurst=1000 #SystemMaxUse= SystemMaxUse=500M #SystemKeepFree= #SystemMaxFileSize= #RuntimeMaxUse= #RuntimeKeepFree= #RuntimeMaxFileSize= #MaxRetentionSec= #MaxFileSec=1month #ForwardToSyslog=yes #ForwardToKMsg=no #ForwardToConsole=no #ForwardToWall=yes #TTYPath=/dev/console #MaxLevelStore=debug #MaxLevelSyslog=debug #MaxLevelKMsg=notice #MaxLevelConsole=info #MaxLevelWall=emerg

journaldによるログを永続的に保持させるための設定をしたつもりです。

journalctlコマンドでログを確認したところ、
問題なさそうに見えます。

# journalctl -e systemd-journal[1299]: Permanent journal is using 24.0M (max allowed 500.0M, trying to leave 305.7M free of 1.9G available → current limit 500.0M systemd-journald[453]: Received SIGTERM from PID 1 (systemd). systemd-journal[1299]: Journal started polkitd[611]: Unregistered Authentication Agent for unix-process:1292:19655 (system bus name :1.44, object path /org/freedesktop/PolicyKit1/Authe systemd[1]: Starting Flush Journal to Persistent Storage... systemd[1]: Started Flush Journal to Persistent Storage.

/var/log配下にもjournalディレクトリも存在します。

# pwd /var/log/journal # ls e3aa42f22d8e4e659e31e036ef32013c

この状態でサーバーを再起動します。

# reboot

サーバー再起動後、再度journalctlコマンドでログの状態を確認します。
すると下記のような結果が得られました。

systemd[1]: Stopping Remount Root and Kernel File Systems... systemd[1]: Reached target Shutdown. systemd[1]: Starting Shutdown. systemd[1]: Reached target Final Step. systemd[1]: Starting Final Step. systemd[1]: Starting Reboot... systemd[1]: Shutting down. systemd-shutdown[1]: Sending SIGTERM to remaining processes... systemd-journal[1299]: Journal stopped

まず、ここで気になったのは、
systemd-journaldが停止した以降のログが記載されていないことです。
サーバー起動時に出力されるログなどが記載されなければならないと思っています。

念のため、journaldの状態を確認したところ、起動はしているようでした。

# systemctl status systemd-journald ● systemd-journald.service - Journal Service Loaded: loaded (/usr/lib/systemd/system/systemd-journald.service; static; vendor preset: disabled) Active: active (running) since 火 2017-02-07 16:43:53 JST; 3min 20s ago Docs: man:systemd-journald.service(8) man:journald.conf(5) Main PID: 450 (systemd-journal) Status: "Processing requests..." CGroup: /system.slice/systemd-journald.service # ps auxf | grep "systemd-journald" root 450 0.0 0.5 51256 11108 ? Ss 16:43 0:00 /usr/lib/systemd/systemd-journald root 1298 0.0 0.0 112664 972 pts/0 S+ 16:47 0:00 \_ grep --color=auto systemd-journald

ここで、試しにsshdを再起動してみます。通常であれば、
sshdを再起動すれば、再起動に関するログが出力されるはずですが、
出力されていませんでした。

# systemctl restart sshd # journalctl -l systemd[1]: Stopping Remount Root and Kernel File Systems... systemd[1]: Reached target Shutdown. systemd[1]: Starting Shutdown. systemd[1]: Reached target Final Step. systemd[1]: Starting Final Step. systemd[1]: Starting Reboot... systemd[1]: Shutting down. systemd-shutdown[1]: Sending SIGTERM to remaining processes... systemd-journal[1299]: Journal stopped

一度、systemd-journaldを再起動したところ、
再び、ログ出力が再開されました。
sshdを再起動したところ、問題なくログが出力されます。

# journalcrl -e systemd-shutdown[1]: Sending SIGTERM to remaining processes... systemd-journal[1299]: Journal stopped -- Reboot -- systemd-journal[1358]: Permanent journal is using 24.0M (max allowed 500.0M, trying to leave 305.7M free of 1.9G available → current limit 500.0M systemd-journald[450]: Received SIGTERM from PID 1 (systemd). systemd-journal[1358]: Journal started polkitd[605]: Unregistered Authentication Agent for unix-process:1351:52796 (system bus name :1.47, object path /org/freedesktop/PolicyKit1/Authe systemd[1]: Starting Flush Journal to Persistent Storage... systemd[1]: Started Flush Journal to Persistent Storage. # systemctl restart sshd # journalctl -e systemd[1]: Starting Flush Journal to Persistent Storage... systemd[1]: Started Flush Journal to Persistent Storage. sshd[1324]: Received signal 15; terminating. systemd[1]: Stopping OpenSSH server daemon... systemd[1]: Starting OpenSSH server daemon... systemd[1]: PID file /var/run/sshd.pid not readable (yet?) after start. Server listening on 0.0.0.0 port 22. Server listening on :: port 22. polkitd[605]: Unregistered Authentication Agent for unix-process:1366:58660 (system bus name :1.48, object path /org/freedesktop/PolicyKit1/Authe systemd[1]: Started OpenSSH server daemon.

質問したいこと

なぜ、サーバーを再起動すると、journaldの出力が止まってしまうのか?原因と解決作が知りたい

おそらく、サーバーの設定かなにかがおかしくて、
このような状況に陥っていると考えていますが、原因がわからない状態です。
なにか、原因として考えうる事柄があればアドバイスをいただけますと、大変助かります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

/varとかって、/とは別のパーティションになっていたりしませんか?
多分↓の事象と同じなのかなーと思いますが。

0011014: No logs in journal after a reboot

上記の事象だと「/var/log」が別パーティションで、そこがマウントされる前にjournaldが起動してまうことでおかしくなっています。
そこで、「local-fs.targetの後に起動する」という依存関係を定義してやっています。

/etc/systemd/system/systemd-journald.service.d/journal_after_varlog.conf

[Unit] Wants=local-fs.target After=local-fs.target

もし/varとか/var/logとかが別パーティションになっているようであれば、同じように依存関係を設定してみて下さい。

投稿2017/02/07 17:59

kanbeworks

総合スコア829

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Reiku

2017/02/09 07:02

回答ありがとうございます。 ご指摘のとおり、/と/var/logはパーティションを分けておりました。 提示して頂いたように、local-fsよりも後にjournaldが起動するように、依存関係を定義することで、正しくログが出力されることを確認できました。 たしかに、journaldが起動した歳に、/var/logがマウントされていなければ、ログを書き込む場所が存在しないので、うまくロギングできないのも納得できます。 大変助かりました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問