18.5. Compute ノードの再起動

Red Hat Open Stack Platform 環境でのインスタンスのダウンタイムを最小限に抑えるために、インスタンスの移行ワークフローでは、再起動する Compute ノードからインスタンスを移行する時に必要な手順を概説します。

注記

インスタンスをソース Compute ノードから別の Compute ノードに移行しない場合、インスタンスがソース Compute ノードで再起動され、アップグレードが失敗する可能性があります。これは、Podman と libvirt サービスの変更に関する既知の問題に関連しています。

インスタンスの移行ワークフロー

  1. Compute ノードを再起動する前に、インスタンスを別のノードに移行するか決定します。
  2. 再起動する Compute ノードを選択して無効にし、新規インスタンスをプロビジョニングしないようにします。
  3. インスタンスを別の Compute ノードに移行します。
  4. 空の Compute ノードを再起動します。
  5. 空の Compute ノードを有効にします。

前提条件

  • Compute ノードを再起動する前に、ノードの再起動中にインスタンスを別の Compute ノードに移行するか決定する。

    Compute ノード間で仮想マシンインスタンスを移行する際に発生する可能性のある移行の制約リストを確認する。詳細は、インスタンス作成のための Compute サービスの設定移行の制約 を参照してください。

  • インスタンスを移行できない場合は、以下のコアテンプレートパラメーターを設定して、Compute ノード再起動後のインスタンスの状態を制御する。

    NovaResumeGuestsStateOnHostBoot
    リブート後の Compute ノードで、インスタンスを同じ状態に戻すか定義します。False に設定すると、インスタンスは停止した状態を維持し、手動で起動する必要があります。デフォルト値は False です。
    NovaResumeGuestsShutdownTimeout

    再起動する前に、インスタンスのシャットダウンを待つ秒数。この値を 0 に設定することは推奨されません。デフォルト値は 300 です。

    オーバークラウドパラメーターおよびその使用方法についての詳細は、Overcloud Parameters を参照してください。

    手順

    1. アンダークラウドに stack ユーザーとしてログインします。
    2. 全 Compute ノードとその UUID をリスト表示します。

      $ source ~/stackrc
      (undercloud) $ openstack server list --name compute

      リブートする Compute ノードの UUID を特定します。

    3. アンダークラウドから、Compute ノードを選択し、そのノードを無効にします。

      $ source ~/overcloudrc
      (overcloud) $ openstack compute service list
      (overcloud) $ openstack compute service set <hostname> nova-compute --disable
    4. Compute ノード上の全インスタンスをリスト表示します。

      (overcloud) $ openstack server list --host <hostname> --all-projects
    5. オプション: インスタンスを別の Compute ノードに移行する場合には、以下の手順を実行します。

      1. インスタンスを別の Compute ノードに移行する場合は、以下のコマンドのいずれかを使用します。

        • インスタンスを別のホストに移行するには、次のコマンドを実行します。

          (overcloud) $ openstack server migrate <instance_id> --live <target_host> --wait
        • nova-scheduler がターゲットホストを自動的に選択できるようにします。

          (overcloud) $ nova live-migration <instance_id>
        • すべてのインスタンスを一度にライブマイグレーションします。

          $ nova host-evacuate-live <hostname>
          注記

          nova コマンドで非推奨の警告が表示される可能性がありますが、無視しても問題ありません。

      2. 移行が完了するまで待ちます。
      3. 移行が正常に完了したことを確認します。

        (overcloud) $ openstack server list --host <hostname> --all-projects
      4. Compute ノードのインスタンスがなくなるまで、移行を続けます。
    6. Compute ノードにログインして、ノードをリブートします。

      [heat-admin@overcloud-compute-0 ~]$ sudo reboot
    7. ノードがブートするまで待ちます。
    8. Compute ノードを再度有効にします。

      $ source ~/overcloudrc
      (overcloud) $ openstack compute service set <hostname>  nova-compute --enable
    9. Compute ノードが有効であることを確認します。

      (overcloud) $ openstack compute service list