いくつかのことが思い浮かびます:
-
カーネル パニックからの回復
カーネル パニックは、定義上、カーネルを再起動しないと回復できません。
-
端末にアクセスできないハングから回復する
システムが応答せず、回復するためのコマンドを発行する方法がなく立ち往生している場合、できることは再起動することだけです。通常、手動での電源の入れ直しは避けたいでしょう。このような状況のために、Linux カーネルには、緊急時にマシンを再起動するために使用できる Magic SysRq サポートがあります。
CONFIG_MAGIC_SYSRQ
である限り オプションがカーネル構成で有効になっており、kernel.sysrq
sysctl
オプションが有効になっている場合、魔法の SysRq キーの組み合わせでコマンドをカーネルに直接発行できます:Alt に注意してください +SysRq 以下は 長押し を意味します Alt 、長押し SysRq (通常、PrintScrn キー)
<オール> - Alt +SysRq +r :キーボードの制御を取り戻します
- Alt +SysRq +え :
SIGTERM
を送信init
を除くすべてのプロセス 、正常に終了する機会を与えます - Alt +SysRq +私 :
SIGKILL
を送信init
を除くすべてのプロセス 、強制終了 - Alt +SysRq +秒 :マウントされたすべてのファイルシステムの同期を試みます
- Alt +SysRq +う :すべてのファイルシステムを読み取り専用で再マウント
-
Alt +SysRq +b :再起動、または
Alt +SysRq +o :シャットダウン
-
起動できない状態から回復
システムがすでに通常の起動が不可能な状態になっている場合 (たとえば、システム アップグレードの失敗、ファイル システムの破損などの結果として)、システムの回復コンソールにアクセスする唯一の方法は、再起動することである可能性があります。適切な起動時のオプションを使用してください。
-
起動時のカーネル パラメータを変更する
一部のカーネル パラメータ (例:
audit
カーネル監査を有効/無効にする) は、ブート時にカーネルがロードされている場合にのみ設定できます。
正常な再起動を試みる魔法の SysRq キーの組み合わせのニーモニックは次のとおりです。
「R eboot え ven 私 f S システム う よく B ローク "
ヘッドレス サーバーの場合、ネットワーク経由でリモート SysRq シーケンスを有効にする iptables ターゲットさえあります。
再起動したい場所を 2 回思いつきます:
<オール>システムが適切な状態で起動できることを確認する必要がある場合。
私はかつて、実行中にいくつかのデーモンが構成されたシステムで作業しました。数年間実行した後、停電により再起動しましたが、デーモンは起動プロセスの一部ではなく、何年も前にどのように構成されていたのか誰も知りませんでした.システムを再構成する方法を考え出す間、システムは何日もダウンしていました。
実際に再起動することが、停電後にシステムが適切に再起動することを確認する唯一の方法です。
システム ライブラリが更新されたとき。
システム上の多くのアプリ/サーバーと共有されているライブラリで重大なセキュリティ上の欠陥が発見されたとしましょう。再起動せずにライブラリを更新できますが、安全でないライブラリがロードされた状態でまだ実行されているプロセスはいくつありますか?古いライブラリを使用して、苦労して再起動することはできますが (それがわかれば)、エラーが発生しやすく、再起動よりも時間がかかる可能性があります。
再起動は、実行中のすべてのプロセスが古いバグのあるライブラリをまだ使用していないことを確認する最善の方法です。