特定の変更のためにサーバー全体をコールド スタートする必要があるサーバーが多数あります。
当社には多数のサーバーがあるため、これらはすべて自動化されています。
現在、プロセスにコールド スタートが必要な場合、タスクはipmitool power cycle
ホスト上でローカルに実行され、完全なコールド リスタートが実行されます。
これは問題ではありませんでしたが、正常なシャットダウンが試行されないため、将来的に問題になると思われます。IPMI があることは知っているので、組み合わせて、ソフト パワー ダウンが完了するか、タイムアウトが経過した後でpower soft
実行する方法があれば便利です。power soft
power cycle
これは本当に可能なのでしょうか?power soft
を実行し、監視してから別の を実行することで、これを外部で実行できることはわかっていますpower cycle
が、そのためには ipmi にリモートで接続する必要があり、これは現在の自動化の範囲外です。
答え1
本当に1つのコマンドだけを使う必要があるのでしょうか?このようなシーケンス
CREDS="-H <host> -U <user> -P <passwd> -I lanplus"
ipmitool $CREDS power soft
while [ $(ipmitool $CREDS power status)="on" ]; do
sleep 1
done
ipmitool power on
個人的には、必要なことはすべて実行できると思います。もちろん、OS がハングした場合に再起動を確実に行うために、ある程度のタイムアウトを考慮する必要があります。