検索

11.3. Controller ノードを置き換えるためのクラスター準備

download PDF

ノードを置き換える前に、Pacemaker がノード上で実行されていないことを確認してからそのノードを Pacemaker クラスターから削除するようにしてください。

手順

  1. Controller ノードの IP アドレスリストを表示するには、以下のコマンドを実行します。

    (undercloud)$ metalsmith -c Hostname -c "IP Addresses" list
    +------------------------+-----------------------+
    | Hostname               | IP Addresses          |
    +------------------------+-----------------------+
    | overcloud-compute-0    | ctlplane=192.168.0.44 |
    | overcloud-controller-0 | ctlplane=192.168.0.47 |
    | overcloud-controller-1 | ctlplane=192.168.0.45 |
    | overcloud-controller-2 | ctlplane=192.168.0.46 |
    +------------------------+-----------------------+
  2. ノードにログインし、ペースメーカーのステータスを確認します。Pacemaker が実行中の場合は、pcs cluster コマンドを使用して Pacemaker を停止します。この例では、overcloud-controller-0 で Pacemaker を停止します。

    (undercloud) $ ssh tripleo-admin@192.168.0.45 "sudo pcs status | grep -w Online | grep -w overcloud-controller-0"
    (undercloud) $ ssh tripleo-admin@192.168.0.45 "sudo pcs cluster stop overcloud-controller-0"
    注記

    古いノードが物理的に利用できない、または停止している場合には、そのノードでは Pacemaker はすでに停止しているので、この操作を実施する必要はありません。

  3. ノードで Pacemaker を停止したら、Pacemaker クラスターからノードを削除します。以下に示すコマンドの例では、overcloud-controller-1 にログインし、overcloud-controller-0 を削除しています。

    (undercloud) $ ssh tripleo-admin@192.168.0.45 "sudo pcs cluster node remove overcloud-controller-0"

    置き換えるノードにアクセスすることができない場合には (ハードウェア障害などの理由により)、pcs コマンドを実行する際にさらに --skip-offline および --force オプションを指定して、ノードをクラスターから強制的に削除します。

    (undercloud) $ ssh tripleo-admin@192.168.0.45 "sudo pcs cluster node remove overcloud-controller-0 --skip-offline --force"
  4. Pacemaker クラスターからノードを削除したら、Pacemaker の既知のホスト一覧からノードを削除します。

    (undercloud) $ ssh tripleo-admin@192.168.0.45 "sudo pcs host deauth overcloud-controller-0"

    ノードにアクセス可能かどうかにかかわらず、このコマンドを実行することができます。

  5. 置き換え後に新しいコントローラーノードで正しい STONITH フェンシングデバイスが使用されるようにするには、以下のコマンドを入力してノードからデバイスを削除します。

    (undercloud) $ ssh tripleo-admin@192.168.0.45 "sudo pcs stonith delete <stonith_resource_name>"
    • <stonith_resource_name> は、ノードに対応する STONITH リソースの名前に置き換えます。リソース名には、<resource_agent>-<host_mac> という形式が使用されます。リソースエージェントおよびホストの MAC アドレスは、fencing.yaml ファイルの FencingConfig セクションに記載されています。
  6. オーバークラウドデータベースは、置き換え手順の実行中に稼働し続ける必要があります。この手順の実行中に Pacemaker が Galera を停止しないようにするには、実行中の Controller ノードを選択して、その Controller ノードの IP アドレスを使用して、アンダークラウドで以下のコマンドを実行します。

    (undercloud) $ ssh tripleo-admin@192.168.0.45 "sudo pcs resource unmanage galera-bundle"
  7. 置き換えられたコントローラーノードの OVN ノースバウンドデータベースサーバーをクラスターから削除します。

    1. 置き換える OVN ノースバウンドデータベースサーバーのサーバー ID を取得します。

      $ ssh tripleo-admin@<controller_ip> sudo podman exec ovn_cluster_north_db_server ovs-appctl -t /var/run/ovn/ovnnb_db.ctl cluster/status OVN_Northbound 2>/dev/null|grep -A4 Servers:

      <controller_ip> を、任意のアクティブなコントローラーノードの IP アドレスに置き換えます。

      以下のような出力が表示されるはずです。

      Servers:
      96da (96da at tcp:172.17.1.55:6643) (self) next_index=26063 match_index=26063 466b (466b at tcp:172.17.1.51:6643) next_index=26064 match_index=26063 last msg 2936 ms ago
      ba77 (ba77 at tcp:172.17.1.52:6643) next_index=26064 match_index=26063 last msg 2936 ms ago

      この例では、172.17.1.55 が置き換えられるコントローラーノードの内部 IP アドレスであるため、ノースバウンドデータベースサーバー ID は 96da になります。

    2. 前述の手順で取得したサーバー ID を使用し、次のコマンドを実行して OVN ノースバウンドデータベースサーバーを削除します。

      $ ssh tripleo-admin@172.17.1.52 sudo podman exec ovn_cluster_north_db_server ovs-appctl -t /var/run/ovn/ovnnb_db.ctl cluster/kick OVN_Northbound 96da

      この例では、172.17.1.52 を任意のアクティブなコントローラーノードの IP アドレスに置き換え、96da を OVN ノースバウンドデータベースサーバーのサーバー ID に置き換えます。

  8. 置き換えられたコントローラーノードの OVN サウスバウンドデータベースサーバーをクラスターから削除します。

    1. 置き換える OVN サウスバウンドデータベースサーバーのサーバー ID を取得します。

      $ ssh tripleo-admin@<controller_ip> sudo podman exec ovn_cluster_south_db_server ovs-appctl -t /var/run/ovn/ovnsb_db.ctl cluster/status OVN_Southbound 2>/dev/null|grep -A4 Servers:

      <controller_ip> を、任意のアクティブなコントローラーノードの IP アドレスに置き換えます。

      以下のような出力が表示されるはずです。

      Servers:
      e544 (e544 at tcp:172.17.1.55:6644) last msg 42802690 ms ago
      17ca (17ca at tcp:172.17.1.51:6644) last msg 5281 ms ago
      6e52 (6e52 at tcp:172.17.1.52:6644) (self)

      この例では、172.17.1.55 が置き換えられるコントローラーノードの内部 IP アドレスであるため、サウスバウンドデータベースサーバー ID は e544 になります。

    2. 前述の手順で取得したサーバー ID を使用し、次のコマンドを実行して OVN サウスバウンドデータベースサーバーを削除します。

      $ ssh tripleo-admin@172.17.1.52 sudo podman exec ovn_cluster_south_db_server ovs-appctl -t /var/run/ovn/ovnsb_db.ctl cluster/kick OVN_Southbound e544

      この例では、172.17.1.52 を任意のアクティブなコントローラーノードの IP アドレスに置き換え、e544 を OVN サウスバウンドデータベースサーバーのサーバー ID に置き換えます。

  9. クラスターの再参加を防ぐために、以下のクリーンアップコマンドを実行します。

    <replaced_controller_ip> を、置き換えるコントローラーノードの IP アドレスに置き換えます。

    $ ssh tripleo-admin@<replaced_controller_ip> sudo systemctl disable --now tripleo_ovn_cluster_south_db_server.service tripleo_ovn_cluster_north_db_server.service
    
    $ ssh tripleo-admin@<replaced_controller_ip> sudo rm -rfv /var/lib/openvswitch/ovn/.ovn* /var/lib/openvswitch/ovn/ovn*.db
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.