サーバーが起動しないので調べてみた。

kernel updateの際に再起動をしますが、その時SSHが繋がらず

モニターを繋いで確認するとこんな内容が表示されていました。

You are in emergency mode. After logging in, type "journalctl -xb" to view
system logs, "systemctl reboot" to reboot, or "exit"
to continue bootup.
Give root password for maintenance
(or press Control-D to continue): _

意味はこんな感じ
You are in emergency mode. 現在、緊急モード(Emergency Mode)に入っています。

After logging in, type “journalctl -xb” to view system logs, “systemctl reboot” to reboot, or “exit” to continue bootup. ログイン後、システムログを見るには journalctl -xb、再起動するには systemctl reboot、ブート(起動)を続行するには exit と入力してください。

Give root password for maintenance メンテナンスを行うために root(管理者)のパスワードを入力してください。

(or press Control-D to continue): (または、[Ctrl] + [D] キーを押してそのまま続行します)

起動にコケたので緊急モードにはいったわ、確認するにはrootパスワードいれてね。って事でしょう。

と言うわけで、rootパスワードを入力して調査

# journalctl -b -1 -p err

で確認するとこんなログが

Timed out waiting for device dev-sdb2.device - /dev/sdb2.
Failed to mount mnt-ds\x2d01.mount - /mnt/ds-01.

起動時に /dev/sdb2 というディスク領域を探しましたが、待っても認識されずタイムアウトしました。

その結果、/mnt/ds-01 へのマウントに失敗し、システムが緊急モードで停止しました。

と言う事なので/mnt/ds-01 はネットワークドライブなのでfstabの記述を確認

このように書かれてました。

192.168.5.55:/volume1/ds218j-01 /mnt/ds-01 nfs defaults 0 0

これだと、ネットワークが起動していない場合やNASが落ちていた時にタイムアウトしてシステムが起動しません。

なのでこのように修正

192.168.5.55:/volume1/ds218j-01 /mnt/ds-01 nfs defaults,_netdev,nofail,x-systemd.device-timeout=10 0 0

内容はこんな感じ

_netdev: ネットワークが有効化されてからマウントを試みる指定です。

nofail: 万が一NASに繋がらなくても、エラーにせずそのままOSを正常起動させます。

x-systemd.device-timeout=10: タイムアウトを90秒から10秒に短縮し、起動を遅らせません。

これで、再起動しても無事に起動してくれると信じて様子見します。

タグ . ブックマークする パーマリンク.

コメントを残す

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