第7章 アップグレード後のオーバークラウドのリブート

Red Hat OpenStack 環境のアップグレード後に、オーバークラウドをリブートします。リブートにより、関連付けられたカーネル、システムレベル、およびコンテナーコンポーネントの更新と共にノードが更新されます。これらの更新により、パフォーマンスとセキュリティー上のメリットが得られます。

ダウンタイムを計画して、以下のリブート手順を実行します。

7.1. コントローラーノードおよびコンポーザブルノードのリブート

以下の手順では、コントローラーノードと、コンポーザブルロールをベースとするスタンドアロンのノードをリブートします。これには、コンピュートノードと Ceph Storage ノードは含まれません。

手順

  1. リブートするノードにログインします。
  2. オプション: ノードが Pacemaker リソースを使用している場合は、クラスターを停止します。

    [heat-admin@overcloud-controller-0 ~]$ sudo pcs cluster stop
  3. ノードをリブートします。

    [heat-admin@overcloud-controller-0 ~]$ sudo reboot
  4. ノードがブートするまで待ちます。
  5. サービスを確認します。以下に例を示します。

    1. ノードが Pacemaker サービスを使用している場合には、ノードがクラスターに再度加わったかどうかを確認します。

      [heat-admin@overcloud-controller-0 ~]$ sudo pcs status
    2. ノードが Systemd サービスを使用している場合には、すべてのサービスが有効化されていることを確認します。

      [heat-admin@overcloud-controller-0 ~]$ sudo systemctl status
    3. すべてのコントローラーノードおよびコンポーザブルノードについて、上記の手順を繰り返します。

7.2. Ceph Storage (OSD) クラスターのリブート

以下の手順では、Ceph Storage (OSD) ノードのクラスターをリブートします。

手順

  1. Ceph MON またはコントローラーノードにログインして、Ceph Storage Cluster のリバランスを一時的に無効にします。

    $ sudo ceph osd set noout
    $ sudo ceph osd set norebalance
  2. リブートする最初の Ceph Storage ノードを選択して、ログインします。
  3. ノードをリブートします。

    $ sudo reboot
  4. ノードがブートするまで待ちます。
  5. ノードにログインして、クラスターのステータスを確認します。

    $ sudo ceph -s

    pgmap により、すべての pgs が正常な状態 (active+clean) として報告されることを確認します。

  6. ノードからログアウトして、次のノードをリブートし、ステータスを確認します。全 Ceph Storage ノードがリブートされるまで、このプロセスを繰り返します。
  7. 完了したら、Ceph MON またはコントローラーノードにログインして、クラスターのリバランスを再度有効にします。

    $ sudo ceph osd unset noout
    $ sudo ceph osd unset norebalance
  8. 最終のステータスチェックを実行して、クラスターが HEALTH_OK を報告していることを確認します。

    $ sudo ceph status

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

コンピュートノードをリブートするには、以下のワークフローを実施します。

  • リブートするコンピュートノードを選択して無効にし、新規インスタンスをプロビジョニングしないようにする。
  • インスタンスのダウンタイムを最小限に抑えるために、インスタンスを別のコンピュートノードに移行する。
  • 空のコンピュートノードをリブートして有効にする。

手順

  1. アンダークラウドに stack ユーザーとしてログインします。
  2. リブートするコンピュートノードの UUID を特定するには、全コンピュートノードを一覧表示します。

    $ source ~/stackrc
    (undercloud) $ openstack server list --name compute
  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. コンピュートノードにログインして、リブートします。

    [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

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

以下の手順では、コンピュートハイパーコンバージドインフラストラクチャー (HCI) ノードをリブートします。

手順

  1. Ceph MON またはコントローラーノードにログインして、Ceph Storage Cluster のリバランスを一時的に無効にします。

    $ sudo ceph osd set noout
    $ sudo ceph osd set norebalance
  2. アンダークラウドに stack ユーザーとしてログインします。
  3. 全コンピュートノードとその UUID を一覧表示します。

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

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

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

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

    (overcloud) $ openstack server list --host [hostname] --all-projects
  6. 以下のコマンドの 1 つを使用して、インスタンスを移行します。

    1. 選択した特定のホストにインスタンスを移行します。

      (overcloud) $ openstack server migrate [instance-id] --live [target-host]--wait
    2. nova-scheduler により対象のホストが自動的に選択されるようにする。

      (overcloud) $ nova live-migration [instance-id]
    3. 一度にすべてのインスタンスのライブマイグレーションを行う。

      $ nova host-evacuate-live [hostname]
      注記

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

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

    (overcloud) $ openstack server list --host [hostname] --all-projects
  9. 選択したコンピュートノードのインスタンスがなくなるまで、移行を続けます。
  10. Ceph MON またはコントローラーノードにログインし、クラスターのステータスを確認します。

    $ sudo ceph -s

    pgmap により、すべての pgs が正常な状態 (active+clean) として報告されることを確認します。

  11. コンピュート HCI ノードをリブートします。

    $ sudo reboot
  12. ノードがブートするまで待ちます。
  13. コンピュートノードを再度有効化します。

    $ source ~/overcloudrc
    (overcloud) $ openstack compute service set [hostname] nova-compute --enable
  14. コンピュートノードが有効化されていることを確認します。

    (overcloud) $ openstack compute service list
  15. ノードからログアウトして、次のノードをリブートし、ステータスを確認します。全 Ceph Storage ノードがリブートされるまで、このプロセスを繰り返します。
  16. 完了したら、Ceph MON またはコントローラーノードにログインして、クラスターのリバランスを再度有効にします。

    $ sudo ceph osd unset noout
    $ sudo ceph osd unset norebalance
  17. 最終のステータスチェックを実行して、クラスターが HEALTH_OK を報告していることを確認します。

    $ sudo ceph status