4.3. Compute ノードの再起動
Red Hat OpenStack Platform (RHOSP) 環境でのインスタンスのダウンタイムを最小限に抑えるために、インスタンスの移行ワークフローでは、再起動するコンピュートノードからインスタンスを移行する時に必要な手順を概説します。
インスタンスの移行ワークフロー
- Compute ノードを再起動する前に、インスタンスを別のノードに移行するか決定します。
- 再起動する Compute ノードを選択して無効にし、新規インスタンスをプロビジョニングしないようにします。
- インスタンスを別の Compute ノードに移行します。
- 空の Compute ノードを再起動します。
- 空の Compute ノードを有効にします。
前提条件
Compute ノードを再起動する前に、ノードの再起動中にインスタンスを別の Compute ノードに移行するか決定する。
Compute ノード間で仮想マシンインスタンスを移行する際に発生する可能性のある移行の制約リストを確認する。詳細は、インスタンス作成のための Compute サービスの設定 の 移行の制約 を参照してください。
注記Multi-RHEL 環境があり、RHEL 9.2 を実行しているコンピュートノードから RHEL 8.4 を実行しているコンピュートノードに仮想マシンを移行する場合は、コールドマイグレーションのみがサポートされます。コールドマイグレーションの詳細は、インスタンス作成のための Compute サービスの設定 の インスタンスのコールドマイグレーション を参照してください。
インスタンスを移行できない場合は、以下のコアテンプレートパラメーターを設定して、Compute ノード再起動後のインスタンスの状態を制御する。
NovaResumeGuestsStateOnHostBoot
-
リブート後の Compute ノードで、インスタンスを同じ状態に戻すか定義します。
False
に設定すると、インスタンスは停止した状態を維持し、手動で起動する必要があります。デフォルト値はFalse
です。 NovaResumeGuestsShutdownTimeout
再起動する前に、インスタンスのシャットダウンを待つ秒数。この値を
0
に設定することは推奨されません。デフォルト値は300
です。オーバークラウドパラメーターおよびその使用方法の詳細は、オーバークラウドのパラメーター を参照してください。
手順
-
アンダークラウドに
stack
ユーザーとしてログインします。 コンピュートノードのリストを取得して、再起動するノードのホスト名を特定します。
(undercloud)$ source ~/overcloudrc (overcloud)$ openstack compute service list
再起動するコンピュートノードのホスト名を特定します。
再起動するコンピュートノード上のコンピュートサービスを無効にします。
(overcloud)$ openstack compute service list (overcloud)$ openstack compute service set <hostname> nova-compute --disable
-
<hostname>
は、コンピュートノードのホスト名に置き換えます。
-
Compute ノード上の全インスタンスをリスト表示します。
(overcloud)$ openstack server list --host <hostname> --all-projects
オプション: インスタンスを別のコンピュートノードに移行するには、次の手順を実行します。
インスタンスを別の Compute ノードに移行する場合は、以下のコマンドのいずれかを使用します。
インスタンスを別のホストに移行するには、次のコマンドを実行します。
(overcloud) $ openstack server migrate <instance_id> --live <target_host> --wait
-
<instance_id>
は、インスタンス ID に置き換えます。 -
<target_host>
は、インスタンスの移行先のホストに置き換えます。
-
nova-scheduler
がターゲットホストを自動的に選択できるようにします。(overcloud) $ nova live-migration <instance_id>
すべてのインスタンスを一度にライブマイグレーションします。
$ nova host-evacuate-live <hostname>
注記nova
コマンドで非推奨の警告が表示される可能性がありますが、無視しても問題ありません。
- 移行が完了するまで待ちます。
移行が正常に完了したことを確認します。
(overcloud) $ openstack server list --host <hostname> --all-projects
- Compute ノードのインスタンスがなくなるまで、移行を続けます。
コンピュートノードにログインして、ノードをリブートします。
[tripleo-admin@overcloud-compute-0 ~]$ sudo reboot
- ノードがブートするまで待ちます。
Compute ノードを再度有効にします。
$ source ~/overcloudrc (overcloud) $ openstack compute service set <hostname> nova-compute --enable
Compute ノードが有効であることを確認します。
(overcloud) $ openstack compute service list