20.2. Networker ノードの交換

特定の状況下で、高可用性クラスター内の Networker プロファイルを持つ Red Hat OpenStack Platform (RHOSP) ノードが故障する場合があります。Networker ノードを交換するには、openstack overcloud deploy コマンドを実行して、オーバークラウドを新しいノードで更新する必要があります。

前提条件

  • RHOSP デプロイメントは、3 台以上の Networker ノードで高可用性を実現します。
  • 追加するノードは、ネットワークを介してクラスター内の他のノードに接続できる必要があります。
  • 「ネットワークノードの交換の準備」 に記載されている手順を実行しています。

手順

  1. アンダークラウドに stack ユーザーとしてログインします。
  2. source コマンドでアンダークラウドの認証情報ファイルを読み込みます。

    $ source ~/stackrc

  3. 削除するノードのインデックスを特定します。

    $ openstack baremetal node list -c UUID -c Name -c "Instance UUID"

    出力例

    +--------------------------------------+------+--------------------------------------+
    | UUID                                 | Name | Instance UUID                        |
    +--------------------------------------+------+--------------------------------------+
    | 36404147-7c8a-41e6-8c72-6af1e339da2a | None | 7bee57cf-4a58-4eaf-b851-f3203f6e5e05 |
    | 91eb9ac5-7d52-453c-a017-0f2fb289c3cd | None | None                                 |
    | 75b25e9a-948d-424a-9b3b-0f2fb289c3cd | None | None                                 |
    | 038727da-6a5c-425f-bd45-16aa2bc4ba91 | None | 763bfec2-9354-466a-ae65-1fdf45d35c61 |
    | dc2292e6-4056-46e0-8848-165d06fcc948 | None | 2017b481-706f-44e1-852a-57fb03ecef11 |
    | c7eadcea-e377-4392-9fc3-716f1bd57527 | None | 5f73c7d7-4826-49a5-b6be-0a95c6bdd2f8 |
    | da3a8d19-8a59-4e9d-923a-29254d688f6d | None | cfefaf60-8311-4bc3-9416-46852e2cb83f |
    | 807cb6ce-6b94-4cd1-9969-d390650854c7 | None | c07c13e6-a845-4791-9628-c8514585fe27 |
    | 0c245daa-7817-4ae9-a883-fed2e9c68d6c | None | 844c9a88-713a-4ff1-8737-30858d724593 |
    | e6499ef7-3db2-4ab4-bfa7-feb44c6591c6 | None | aef7c27a-f0b4-4814-b0ff-d3f792321212 |
    | 7545385c-bc49-4eb9-b13c-201368ce1c62 | None | c2e40164-c659-4849-a28f-a7b270ed2970 |
    +--------------------------------------+------+--------------------------------------+

  4. baremetal node maintenance set コマンドを使用して、ノードをメンテナンスモードに設定します。

    $ openstack baremetal node maintenance set e6499ef7-3db2-4ab4-bfa7-ef59539bf972

  5. RHOSP ディレクターを含むノードプールに新しいノードを追加するための JSON ファイルを作成します。

    {
      "nodes":[
        {
            "mac":[
                "dd:dd:dd:dd:dd:dd"
            ],
            "cpu":"4",
            "memory":"6144",
            "disk":"40",
            "arch":"x86_64",
            "pm_type":"ipmi",
            "pm_user":"admin",
            "pm_password":"p@55w0rd!",
            "pm_addr":"192.168.24.207"
        }
      ]
    }

    詳細は、Director インストールと使用方法 ガイドの オーバークラウドへのノードの追加 を参照してください。

  6. openstack overcloud node import コマンドを実行し、新しいノードを登録します。

    $ openstack overcloud node import newnode.json

  7. 新しいノードを登録した後、以下のコマンドを使用して、イントロスペクションプロセスを起動します。

    $ openstack baremetal node manage <node>
    $ openstack overcloud node introspect <node> --provide
  8. openstack baremetal node set コマンドを使用して、新しいノードに Networker プロファイルのタグを付けます。

    $ openstack baremetal node set --property \
        capabilities='profile:networker,boot_option:local' \
        91eb9ac5-7d52-453c-a017-c0e3d823efd0

  9. 削除するノードのインデックスを定義した ~/templates/remove-networker.yaml 環境 ファイルを作成します。

    parameters:
    NetworkerRemovalPolicies:
       [{'resource_list': ['1']}]

  10. ~/templates/node-count-networker.yaml 環境ファイルを作成し、そのファイルに Networker ノードの総数を設定します。

    parameter_defaults:
     OvercloudNetworkerFlavor: networker
     NetworkerCount: 3

  11. openstack overcloud deploy コマンドを実行し、コアヒートテンプレート、環境ファイル、および変更した環境ファイルを含めます。

    重要

    後で実行される環境ファイルで定義されているパラメーターとリソースが優先されることになるため、環境ファイルの順序は重要となります。

    $ openstack overcloud deploy --templates \
    -e <your_environment_files> \
    -e /home/stack/templates/node-count-networker.yaml \
    -e /home/stack/templates/remove-networker.yaml

    RHOSP director は、古い Networker ノードを削除し、新しいノードを作成して、オーバークラウドスタックを更新します。

検証

  1. オーバークラウドスタックのステータスを確認します。

    $ openstack stack list --nested
  2. 新しい Networker ノードがリスト表示され、古いノードが削除されていることを確認します。

    $ openstack server list -c ID -c Name -c Status

    出力例

    +--------------------------------------+------------------------+--------+
    | ID                                   | Name                   | Status |
    +--------------------------------------+------------------------+--------+
    | 861408be-4027-4f53-87a6-cd3cf206ba7a | overcloud-compute-0    | ACTIVE |
    | 0966e9ae-f553-447a-9929-c4232432f718 | overcloud-compute-1    | ACTIVE |
    | 9c08fa65-b38c-4b2e-bd47-33870bff06c7 | overcloud-compute-2    | ACTIVE |
    | a7f0f5e1-e7ce-4513-ad2b-81146bc8c5af | overcloud-controller-0 | ACTIVE |
    | cfefaf60-8311-4bc3-9416-6a824a40a9ae | overcloud-controller-1 | ACTIVE |
    | 97a055d4-aefd-481c-82b7-4a5f384036d2 | overcloud-controller-2 | ACTIVE |
    | 844c9a88-713a-4ff1-8737-6410bf551d4f | overcloud-networker-0  | ACTIVE |
    | c2e40164-c659-4849-a28f-507eb7edb79f | overcloud-networker-2  | ACTIVE |
    | 425a0828-b42f-43b0-940c-7fb02522753a | overcloud-networker-3  | ACTIVE |
    +--------------------------------------+------------------------+--------+

関連情報