systemctlの再起動が失敗した場合にsystemctlを使用してサーバーを再起動するにはどうすればよいですか?

systemctlの再起動が失敗した場合にsystemctlを使用してサーバーを再起動するにはどうすればよいですか?

CentOS 7サーバーを再起動しようとしましたが、とんでもないエラーメッセージが表示されました。

ルートとして(もちろん):

# systemctl reboot
Authorization not available. Check if polkit service is running or see debug message for more information.
Failed to start reboot.target: Connection timed out
See system logs and 'systemctl status reboot.target' for details.
Exit 1

コンピュータを再起動する権限があることをpolkit確認する必要がありますか?root? ?では、なぜそうなのでしょうか?

# systemctl status reboot.target
● reboot.target - Reboot
   Loaded: loaded (/usr/lib/systemd/system/reboot.target; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:systemd.special(7)
Exit 3

ターゲティングを有効にする必要がありますかreboot?この機能がデフォルトで無効になっているのはなぜですか?

たぶんこれがうまくいくでしょうか?

# systemctl start reboot.target
Authorization not available. Check if polkit service is running or see debug message for more information.
Failed to start reboot.target: Connection timed out
See system logs and 'systemctl status reboot.target' for details.
Exit 1

わかりました。実施したら、次の操作を行います。

# systemctl --force reboot
Authorization not available. Check if polkit service is running or see debug message for more information.
Failed to execute operation: Connection timed out
Exit 1

そしてサーバーはまだ開いています。

答え1

Zach Sanchezの答えがうまくいかない場合(CentOS 7でFailed to start reboot.target: Connection timed out奇妙な状況が発生しましたsystemctl --force reboot)、次のようにSSHを介してカーネルクラッシュの再起動を実行できます。

# echo s > /proc/sysrq-trigger
# echo u > /proc/sysrq-trigger
# echo b > /proc/sysrq-trigger

これら3つのコマンドは、マウントされたすべてのファイルシステムを同期し、マウントされたすべてのファイルシステムを読み取り専用モードで再マウントした後、すぐにマシンを再起動します。

最後のコマンド以降、カーネルはすぐにコンピュータを再起動するため、応答がないと予想されます。詳しくはここなど。ウィキペディア

@LunarShaddowと他の人が指摘したように、s1秒も前に進む必要はありません。b

答え2

変に見えるかもしれませんが、走ってみてください。

systemctl --force --force reboot

私が何回検索した結果が出ましたね。これはDBusサービスの再起動の問題に関連している可能性があります。

再起動できません。遅くてタイムアウトしました。 再起動を開始できません。宛先:接続がタイムアウトしました。

答え3

Paulの回答についてはコメントできないので、ここに私のコメントを書きます。

~からカーネルファイル:

再起動(b)は終了できない場合に便利です。ただし、まず同期して削除する必要があります。再起動(b)は終了できない場合に便利です。ただし、まず同期して削除する必要があります。

sync(s) は、システムがロックされているときに非常に便利です。これにより、ディスクを同期でき、データの損失とfsckingの可能性を確実に減らすことができます。画面に「OK」と「完了」が表示されるまで同期は発生しません。 (カーネルが実際にクラッシュしている場合は、「確認」または「完了」メッセージを受信できない可能性があります...)

umount(u) の目的は基本的に sync(s) と同じです。システムが停止したら、通常は同期して削除(u)してから再起動(b)します。 fsck時間が大幅に節約されます。同様に、アンインストール(読み取り専用の再インストール)は、画面に「確認」メッセージと「完了」メッセージが表示されるまで発生しません。

したがって、FMHO、Paulの回答は 's' 'u' 'b'に単純化することができ、各入力の後しばらく待つ必要があるかもしれません。

関連情報