第11章 Controller ノードの置き換え


特定の状況では、高可用性クラスター内の Controller ノードに障害が発生することがあります。その場合は、その Controller ノードをクラスターから削除して新しい Controller ノードに置き換える必要があります。

以下のシナリオの手順を実施して、Controller ノードを置き換えます。Controller ノードを置き換えるプロセスでは、openstack overcloud deploy コマンドを実行し、Controller ノードを置き換えるリクエストでオーバークラウドを更新します。

重要

以下の手順は、高可用性環境にのみ適用されます。Controller ノード 1 台の場合には、この手順は使用しないでください。

11.1. Controller 置き換えの準備

オーバークラウドの Controller ノードを置き換える前に、Red Hat OpenStack Platform 環境の現在の状態をチェックしておくことが重要です。このチェックをしておくと、Controller の置き換えプロセス中に複雑な事態が発生するのを防ぐことができます。以下の事前チェックリストを使用して、Controller ノードの置き換えを実行しても安全かどうかを確認してください。チェックのためのコマンドはすべてアンダークラウドで実行します。

手順

  1. アンダークラウドで、overcloud スタックの現在の状態をチェックします。

    $ source stackrc
    $ openstack overcloud status
    Copy to Clipboard Toggle word wrap

    overcloud スタックの deployment ステータスが DEPLOY_SUCCESS である場合にのみ続行します。

  2. データベースクライアントツールをインストールします。

    $ sudo dnf -y install mariadb
    Copy to Clipboard Toggle word wrap
  3. root ユーザーのデータベースへのアクセス権限を設定します。

    $ sudo cp /var/lib/config-data/puppet-generated/mysql/root/.my.cnf /root/.
    Copy to Clipboard Toggle word wrap
  4. アンダークラウドデータベースのバックアップを実行します。

    $ mkdir /home/stack/backup
    $ sudo mysqldump --all-databases --quick --single-transaction | gzip > /home/stack/backup/dump_db_undercloud.sql.gz
    Copy to Clipboard Toggle word wrap
  5. アンダークラウドに、新規ノードプロビジョニング時のイメージのキャッシュと変換に対応できる 10 GB の空きストレージ領域があることを確認します。

    $ df -h
    Copy to Clipboard Toggle word wrap
  6. 新規 Controller ノード用に IP アドレスを再利用する場合は、古い Controller が使用したポートを削除するようにしてください。

    $ openstack port delete <port>
    Copy to Clipboard Toggle word wrap
  7. Controller ノードで実行中の Pacemaker の状態をチェックします。たとえば、実行中の Controller ノードの IP アドレスが 192.168.0.47 の場合には、以下のコマンドで Pacemaker のステータスを表示します。

    $ ssh tripleo-admin@192.168.0.47 'sudo pcs status'
    Copy to Clipboard Toggle word wrap

    この出力には、既存のノードで動作中のサービスおよび障害の発生しているノードで停止しているサービスがすべて表示されます。

  8. オーバークラウド MariaDB クラスターの各ノードで以下のパラメーターをチェックします。

    • wsrep_local_state_comment: Synced
    • wsrep_cluster_size: 2

      実行中の Controller ノードで以下のコマンドを使用して、パラメーターをチェックします。以下の例では、Controller ノードの IP アドレスは、それぞれ 192.168.0.47 と 192.168.0.46 です。

      $ for i in 192.168.0.46 192.168.0.47 ; do echo "*** $i ***" ; ssh tripleo-admin@$i "sudo podman exec \$(sudo podman ps --filter name=galera-bundle -q) mysql -e \"SHOW STATUS LIKE 'wsrep_local_state_comment'; SHOW STATUS LIKE 'wsrep_cluster_size';\""; done
      Copy to Clipboard Toggle word wrap
  9. RabbitMQ のステータスをチェックします。たとえば、実行中の Controller ノードの IP アドレスが 192.168.0.47 の場合には、以下のコマンドで RabbitMQ のステータスを表示します。

    $ ssh tripleo-admin@192.168.0.47 "sudo podman exec \$(sudo podman ps -f name=rabbitmq-bundle -q) rabbitmqctl cluster_status"
    Copy to Clipboard Toggle word wrap

    running_nodes キーには、障害が発生しているノードは表示されず、稼働中のノード 2 台のみが表示されるはずです。

  10. フェンシングが有効な場合は、無効にします。たとえば、実行中の Controller ノードの IP アドレスが 192.168.0.47 の場合には、以下のコマンドを実行してフェンシングのステータスを確認します。

    $ ssh tripleo-admin@192.168.0.47 "sudo pcs property show stonith-enabled"
    Copy to Clipboard Toggle word wrap

    フェンシングを無効にするには、以下のコマンドを実行します。

    $ ssh tripleo-admin@192.168.0.47 "sudo pcs property set stonith-enabled=false"
    Copy to Clipboard Toggle word wrap
  11. 障害が発生したコントローラーノードにログインし、実行中のすべての nova_* コンテナーを停止します。

    $ sudo systemctl stop tripleo_nova_api.service
    $ sudo systemctl stop tripleo_nova_api_cron.service
    $ sudo systemctl stop tripleo_nova_conductor.service
    $ sudo systemctl stop tripleo_nova_metadata.service
    $ sudo systemctl stop tripleo_nova_scheduler.service
    Copy to Clipboard Toggle word wrap
  12. Bare Metal サービス(ironic)を virt ドライバーとして使用する場合は、コントローラーノードを置き換える際にホスト名を再利用する必要があります。ホスト名を再利用すると、Compute サービス(nova)データベースが破損しなくなり、Bare Metal Provisioning サービスが再デプロイされるときにワークロードのリバランスが不要になります。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat