reboot
REISUBを実行するのがリセットボタンを押すよりも優れていることはわかっていますが、端末を介して実行することとGUIを介して再起動することの違いは何ですか?
答え1
GUIまたはコマンドによる段階的な再始動は、依存関係reboot
によって決定された順序で実行されているすべてのサービスを停止します。データベースエンジンなどのサービスでは、正しい順序でタスクを実行し、別のタスクを終了する前に個々のサービス終了プロセスが完了するのを待つことが重要です。
Magic SysRQ REISUBこのステップはE依存関係を無視し、すべてのサービスに即時シャットダウン信号を送信します。したがって、通常のシャットダウン中にサービスXがサービスYを必要とする場合、Yが停止してもはや利用できなくなることがわかり、サービスXが正常な方法で終了できず、衝突が発生する可能性が非常に高い。
また、REISUBフェーズでは、プロセス#1を除くすべてのプロセスIにそのエントリを送信します。このステップ以降に制御されたシャットダウンに時間がかかるサービスkill -9
を十分に長く待たないと、シャットダウンEプロセスが進行中にそのサービスが強制的に停止(つまり競合)します。一部のサービスではこれは問題ではないかもしれませんが、データベースなどの場合は非常に悪いかもしれません。
Syncおよびnmountステップの後に十分な時間を待たないと、キャッシュされたすべての書き込みがディスクに正常にフラッシュされる前にシステムがUシャットダウンBする可能性があります。ジャーナルファイルシステムはファイルシステムの破損を防ぎますが、キャッシュされたデータはまだ失われます。
SysRq REISUBを使用すると、通常のシャットダウンはこれらすべてを自動的に処理するため、システムが何をしているのかを知る必要があります。正当な理由なく大規模なデータベースサーバーをREISUBする場合、データベース管理者は非常に怒ります。妥当な理由があっても、この状況でデータベースができるだけきれいにシャットダウンできるようにE数分待つことをお勧めします。I
しかし、REISUBbing以前にはデフォルトでWebブラウザだけを実行していたデスクトップはありますか?これはまったく問題にならないかもしれません。キー入力の間に一時停止する必要さえない場合があります。
また、通常のシャットダウン手順に必要な場合スタート何か(たとえば、ホストが意図的にオフラインであることを示すクラスタまたは監視システムと通信するツール)、REISUBはこれらの手順を見逃す可能性があります。