web-dev-qa-db-ja.com

systemctl rebootが失敗した場合、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

OK、強制します。

# 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
Ned64

奇妙に思えるかもしれませんが、実行してみます

Sudo systemctl --force reboot

それは私が行ったいくつかの検索でポップアップしました。 DBusサービスの再起動に関する問題に関連している可能性があります。

再起動できません。遅くてタイムアウトします。reboot.startに失敗しました。ターゲット:接続がタイムアウトしました

2
Zach Sanchez

ザック・サンチェスの答えがうまくいかない場合(Failed to start reboot.target: Connection timed out私のsystemctl --force reboot CentOS 7での奇妙な状況では、カーネルを基本的にクラッシュさせて再起動するには、次のようにSSHを介してrootとして実行できます。

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

最後のコマンドの後、カーネルは直ちにマシンを再起動するため、応答は例外ではありません。詳細 こちら

1
Paul