検索

11.9. Controller ノード置き換え後のクリーンアップ

download PDF

ノードの交換が完了したら、コントローラークラスターを完成させることができます。

手順

  1. Controller ノードにログインします。
  2. Galera クラスターの Pacemaker 管理を有効にし、新規ノード上で Galera を起動します。

    [tripleo-admin@overcloud-controller-0 ~]$ sudo pcs resource refresh galera-bundle
    [tripleo-admin@overcloud-controller-0 ~]$ sudo pcs resource manage galera-bundle
  3. フェンシングの有効化:

    [tripleo-admin@overcloud-controller-0 ~]$ sudo pcs property set stonith-enabled=true
  4. 最終のステータスチェックを実行して、サービスが正しく実行されていることを確認します。

    [tripleo-admin@overcloud-controller-0 ~]$ sudo pcs status
    注記

    エラーが発生したサービスがある場合には、pcs resource refresh コマンドを使用して問題を解決し、そのサービスを再起動します。

  5. director を終了します。

    [tripleo-admin@overcloud-controller-0 ~]$ exit
  6. オーバークラウドと対話できるようにするために、source コマンドで overcloudrc ファイルを読み込みます。

    $ source ~/overcloudrc
  7. オーバークラウド環境のネットワークエージェントを確認します。

    (overcloud) $ openstack network agent list
  8. 古いノードにエージェントが表示される場合には、そのエージェントを削除します。

    (overcloud) $ for AGENT in $(openstack network agent list --host overcloud-controller-1.localdomain -c ID -f value) ; do openstack network agent delete $AGENT ; done
  9. 必要に応じて、新規ノード上の L3 エージェントホストにルーターを追加します。以下のコマンド例では、UUID に 2d1c1dc1-d9d4-4fa9-b2c8-f29cd1a649d4 を使用して L3 エージェントに r1 という名称のルーターを追加しています。

    (overcloud) $ openstack network agent add router --l3 2d1c1dc1-d9d4-4fa9-b2c8-f29cd1a649d4 r1
  10. cinder サービスを掃除します。

    1. cinder サービスをリスト表示します。

      (overcloud) $ openstack volume service list
    2. Controller ノードにログインし、cinder-api コンテナーに接続し、cinder-manage service remove コマンドを使用して、残っているサービスを削除します。

      [tripleo-admin@overcloud-controller-0 ~]$ sudo podman exec -it cinder_api cinder-manage service remove cinder-backup <host>
      [tripleo-admin@overcloud-controller-0 ~]$ sudo podman exec -it cinder_api cinder-manage service remove cinder-scheduler <host>
  11. RabbitMQ クラスターをクリーンアップします。

    1. Controller ノードにログインします。
    2. podman exec コマンドを使用して bash を起動し、RabbitMQ クラスターのステータスを確認します。

      [tripleo-admin@overcloud-controller-0 ~]$ sudo podman exec -it rabbitmq-bundle-podman-0 bash
      [root@overcloud-controller-0 /]$ rabbitmqctl cluster_status
    3. 置き換えられた Controller ノードをクリアするには、rabbitmqctl コマンドを使用します。

      [root@controller-0 /]$ rabbitmqctl forget_cluster_node <node_name>
  12. ブートストラップ Controller ノードを置き換えた場合は、置き換えプロセス後に環境ファイル ~/templates/bootstrap-controller.yaml を削除するか、既存の環境ファイルから pacemaker_short_bootstrap_node_name および mysql_short_bootstrap_node_name パラメーターを削除する必要があります。このステップにより、これ以降の置き換えで director が Controller ノード名をオーバーライドしようとするのを防ぎます。詳細は、ブートストラップコントローラーノードの交換 を参照してください。
  13. オーバークラウドで Object Storage サービス (swift) を使用している場合は、オーバークラウドノードを更新した後、swift リングを同期する必要があります。次の例のようなスクリプトを使用して、リングファイルを既存のコントローラーノード (この例ではコントローラーノード 0) からすべてのコントローラーノードに配布し、それらのノードで Object Storage サービスコンテナーを再起動します。

    #!/bin/sh
    set -xe
    
    SRC="tripleo-admin@overcloud-controller-0.ctlplane"
    ALL="tripleo-admin@overcloud-controller-0.ctlplane tripleo-admin@overcloud-controller-1.ctlplane tripleo-admin@overcloud-controller-2.ctlplane"
    • リングファイルの現在のセットを取得します。

      ssh "${SRC}" 'sudo tar -czvf - /var/lib/config-data/puppet-generated/swift_ringbuilder/etc/swift/{*.builder,*.ring.gz,backups/*.builder}' > swift-rings.tar.gz
    • リングをすべてのノードにアップロードし、それらを正しい場所に配置して、swift サービスを再起動します。

      for DST in ${ALL}; do
        cat swift-rings.tar.gz | ssh "${DST}" 'sudo tar -C / -xvzf -'
        ssh "${DST}" 'sudo podman restart swift_copy_rings'
        ssh "${DST}" 'sudo systemctl restart tripleo_swift*'
      done
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.