18.5. コンピュートノードの再起動

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

注記

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

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

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

前提条件

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

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

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

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

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

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

    手順

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

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

      リブートするコンピュートノードの UUID を特定します。

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

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

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

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

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

          (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. コンピュートノードのインスタンスがなくなるまで、移行を続けます。
    6. コンピュートノードにログインして、ノードをリブートします。

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

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

      (overcloud) $ openstack compute service list