17.5. コンピュートノードのリブート
コンピュートノードをリブートするには、以下の手順を実施します。Red Hat OpenStack Platform 環境内のインスタンスのダウンタイムを最小限に抑えるために、この手順には、リブートするコンピュートノードからインスタンスを移行するステップも含まれています。これは、以下のワークフローを伴います。
- コンピュートノードをリブートする前に、インスタンスを別のノードに移行するかどうかを決定する。
- リブートするコンピュートノードを選択して無効にし、新規インスタンスをプロビジョニングしないようにする。
- インスタンスを別のコンピュートノードに移行する。
- 空のコンピュートノードをリブートする。
- 空のコンピュートノードを有効にする。
前提条件
コンピュートノードをリブートする前に、ノードをリブートする間インスタンスを別のコンピュートノードに移行するかどうかを決定する必要があります。
何らかの理由でインスタンスを移行することができない、または移行を希望しない場合には、以下のコアテンプレートパラメーターを設定して、コンピュートノードリブート後のインスタンスの状態を制御することができます。
NovaResumeGuestsStateOnHostBoot
-
リブート後のコンピュートノードで、インスタンスを同じ状態に戻すかどうかを定義します。
False
に設定すると、インスタンスは停止した状態を維持し、手動で起動する必要があります。デフォルト値はFalse
です。 NovaResumeGuestsShutdownTimeout
-
リブートする前に、インスタンスのシャットダウンを待つ秒数。この値を
0
に設定することは推奨されません。デフォルト値は 300 です。 NovaResumeGuestsShutdownTimeout
-
リブートする前に、インスタンスのシャットダウンを待つ秒数。この値を
0
に設定することは推奨されません。デフォルト値は 300 です。
オーバークラウドパラメーターおよびその使用方法についての詳細は、『オーバークラウドのパラメーター 』を参照して ください。
手順
-
アンダークラウドに
stack
ユーザーとしてログインします。 全コンピュートノードとその UUID を一覧表示します。
$ source ~/stackrc (undercloud) $ openstack server list --name compute
リブートするコンピュートノードの UUID を特定します。
アンダークラウドから、コンピュートノードを選択します。そのノードを無効にします。
$ source ~/overcloudrc (overcloud) $ openstack compute service list (overcloud) $ openstack compute service set [hostname] nova-compute --disable
コンピュートノード上の全インスタンスを一覧表示します。
(overcloud) $ openstack server list --host [hostname] --all-projects
- インスタンスを移行しない場合は、このステップ に進みます。
インスタンスを別のコンピュートノードに移行する場合には、以下のコマンドのいずれかを使用します。
インスタンスを別のホストに移行する。
(overcloud) $ openstack server migrate [instance-id] --live [target-host]--wait
nova-scheduler
により対象のホストが自動的に選択されるようにする。(overcloud) $ nova live-migration [instance-id]
一度にすべてのインスタンスのライブマイグレーションを行う。
$ nova host-evacuate-live [hostname]
注記nova
コマンドで非推奨の警告が表示される可能性がありますが、無視して問題ありません。
- 移行が完了するまで待ちます。
移行が正常に完了したことを確認します。
(overcloud) $ openstack server list --host [hostname] --all-projects
- 選択したコンピュートノードのインスタンスがなくなるまで、移行を続けます。
コンピュートノードにログインして、ノードをリブートします。
[heat-admin@overcloud-compute-0 ~]$ sudo reboot
- ノードがブートするまで待ちます。
コンピュートノードを再度有効にします。
$ source ~/overcloudrc (overcloud) $ openstack compute service set [hostname] nova-compute --enable
コンピュートノードが有効であることを確認します。
(overcloud) $ openstack compute service list