5.3. コンピュートノードのリブート

コンピュートノードをリブートするには、以下の手順を実施します。Red Hat OpenStack Platform 環境内のインスタンスのダウンタイムを最小限に抑えるために、この手順には、リブートするコンピュートノードからインスタンスを移行するステップも含まれています。これは、以下のワークフローを伴います。

  • コンピュートノードをリブートする前に、インスタンスを別のノードに移行するかどうかを決定する。
  • リブートするコンピュートノードを選択して無効にし、新規インスタンスをプロビジョニングしないようにする。
  • インスタンスを別のコンピュートノードに移行する。
  • 空のコンピュートノードをリブートする。
  • 空のコンピュートノードを有効にする。

前提条件

コンピュートノードをリブートする前に、ノードをリブートする間インスタンスを別のコンピュートノードに移行するかどうかを決定する必要があります。

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

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

NovaResumeGuestsStateOnHostBoot
リブート後のコンピュートノードで、インスタンスを同じ状態に戻すかどうかを定義します。False に設定すると、インスタンスは停止した状態を維持し、手動で起動する必要があります。デフォルト値は False です。
NovaResumeGuestsShutdownTimeout
リブートする前に、インスタンスのシャットダウンを待つ秒数。この値を 0 に設定することは推奨されません。デフォルト値は 300 です。

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

手順

  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. インスタンスを移行しない場合は、このステップ に進みます。
  6. インスタンスを別のコンピュートノードに移行する場合には、以下のコマンドのいずれかを使用します。

    • インスタンスを別のホストに移行する。

      (overcloud) $ openstack server migrate <instance_id> --live <target_host> --wait
    • nova-scheduler により対象のホストが自動的に選択されるようにする。

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

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

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

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

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

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

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

    (overcloud) $ openstack compute service list