Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

第11章 ノードの再起動

アンダークラウドおよびオーバークラウドでノードを再起動する必要がある場合があります。以下の手順では、異なるノード種別を再起動する方法を説明します。以下の点に注意してください。

  • 1 つのロールで全ノードを再起動する場合には、各ノードを個別に再起動することを推奨しています。この方法は、再起動中にそのロールのサービスを保持するのに役立ちます。
  • OpenStack Platform 環境の全ノードを再起動する場合、再起動の順序は以下のリストを参考にしてください。

推奨されるノード再起動順

  1. director の再起動
  2. コントローラーノードの再起動
  3. Ceph Storage ノードの再起動
  4. コンピュートノードの再起動
  5. Object Storage ノードの再起動

11.1. director の再起動

director ノードを再起動するには、以下のプロセスに従います。

  1. ノードを再起動します。

    $ sudo reboot
  2. ノードが起動するまで待ちます。
  3. 全サービスのステータスを確認します。

    $ sudo systemctl list-units "openstack*" "neutron*" "openvswitch*"
    注記

    再起動後に openstack-nova-compute が有効になるまでに約 10 分かかる場合があります。

  4. オーバークラウドとそのノードが存在しているかどうかを確認します。

    $ source ~/stackrc
    $ openstack server list
    $ openstack baremetal node list
    $ openstack stack list

11.2. コントローラーノードの再起動

コントローラーノードを再起動するには、以下のプロセスに従います。

  1. 再起動するノードを選択します。そのノードにログインして再起動します。

    [heat-admin@overcloud-controller-0 ~]$ sudo reboot

    クラスター内の残りのコントローラーノードは、再起動中も高可用性サービスが保持されます。

  2. ノードが起動するまで待ちます。
  3. ノードにログインして、クラスターのステータスを確認します。

    [heat-admin@overcloud-controller-0 ~]$ sudo pcs status

    このノードは、クラスターにもう 1 度参加します。

    注記

    再起動後に失敗するサービスがあった場合には、sudo pcs resource cleanup を実行し、エラーを消去して各リソースの状態を Started に設定します。エラーが引き続き発生する場合には、Red Hat にアドバイス/サポートをリクエストしてください。

  4. コントローラーノード上の全コンテナーがアクティブであることを確認します。

    [heat-admin@overcloud-controller-0 ~]$ sudo docker ps
  5. ノードからログアウトして、次に再起動するコントローラーノードを選択し、すべてのコントローラーノードが再起動されるまでこの手順を繰り返します。

11.3. Ceph Storage ノードの再起動

Ceph Storage のノードを再起動するには、以下のプロセスに従います。

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

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

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

    $ sudo ceph -s

    pgspgmap により通常通りに報告されていることを確認します (active+clean)。

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

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

    $ sudo ceph status

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

コンピュートノードを個別に再起動して、OpenStack Platform 環境のインスタンスのダウンタイムがゼロになるようにします。この操作は、以下のワークフローに従って実行します。

  1. 再起動するコンピュートノードを選択します。
  2. インスタンスを別のコンピュートノードに移行します。
  3. 空のコンピュートノードを再起動します。

全コンピュートノードとその UUID を一覧表示します。

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

再起動するコンピュートノードを選択してから、まず最初に以下のプロセスに従ってそのノードのインスタンスを移行します。

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

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

    (overcloud) $ openstack server list --host [hostname] --all-projects
  3. 以下のコマンドの 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 コマンドで非推奨の警告が表示される可能性がありますが、安全に無視することができます。

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

    (overcloud) $ openstack server list --host [hostname] --all-projects
  6. 選択したコンピュートノードのインスタンスがなくなるまで、移行を続けます。
重要

インスタンスの設定および移行に関する詳しい説明については、「オーバークラウドのコンピュートノードからの仮想マシンの移行」を参照してください。

以下の手順に従ってコンピュートノードを再起動します。

  1. コンピュートノードにログインして、再起動します。

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

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

    (overcloud) $ openstack compute service list

11.5. Object Storage ノードの再起動

Object Storage ノードを再起動するには、以下のプロセスに従います。

  1. 再起動する Object Storage ノードを選択します。そのノードにログインして再起動します。

    [heat-admin@overcloud-objectstorage-0 ~]$ sudo reboot
  2. ノードが起動するまで待ちます。
  3. ノードにログインして、コンテナーのステータスを確認します。

    [heat-admin@overcloud-objectstorage-0 ~]$ sudo docker ps
  4. ノードからログアウトして、次の Object Storage ノードでこのプロセスを繰り返します。