停止時にプライマリ プールを無効にする オプションは、仮想サービスに関連付けられているプール グループで使用できます。プライマリ プールが停止すると、プライマリ プールは無効になり、オンラインに戻ってもプライマリ プール グループになりません。これにより、管理者がプライマリ プール グループを手動で再度有効にするまで、新規または既存の接続はセカンダリ プール(プライマリとしてのロールを引き継ぐ)に強制的にルーティングされます。

プロセス

  • プール グループは、複数のメンバー(それぞれ優先順位が異なる)で構成されます。

  • デフォルトでは、優先順位が最も高いプールがプライマリ プールとして機能し、すべての接続または要求を受信します。

  • 優先順位が最も高いプールが停止すると、次に使用可能な優先プールが現在のプライマリ ロールを引き継ぎ、すべての接続と要求を受信します。

  • 以前のプライマリ プールがオンラインに戻ると、現在のプライマリ ロールは自動的に再開されません。プライマリ プールが停止すると、管理者が手動でプライマリ プールにするまで、プライマリ ロールを引き継ぐことはできません。

  • 管理者がメンバーの 1 つをプライマリに構成すると、古いプライマリへのすべての接続がクリアされ、要求されたメンバーが新しいプライマリになります。

[停止時にプライマリ プールを無効にする] オプションの有効化

次に示すように、プール グループ構成deactivate_primary_pool_on_down フラグを有効にします。

[admin:cntrlr]: > configure poolgroup <poolgroup name>
[admin:cntrlr]: poolgroup> deactivate_primary_pool_on_down
[admin:cntrlr]: poolgroup> save

プールの 1 つをプライマリ プールにする

[admin:cntrlr]: > show poolgroup pg1 detail
+---------------------------------------+--------------------------------------------------+
| Field | Value |
+---------------------------------------+--------------------------------------------------+
| last_primary_pool | pool2(pool-4c86d835-16ec-4a60-839c-064d33040dff) |
| current_primary_pool | pool1(pool-23aad7e1-4f5a-4dbf-8361-0324480cc2c9) |
| last_primary_pool_switchover_time | Wed Aug 18 12:42:22 2021 ms(0) UTC |
| primary_pool_switchover_in_progress | False |
| num_conn_drops_during_pool_switchover | 22 |
+---------------------------------------+--------------------------------------------------+

優先順位が最も高いプールをプライマリにするには、enable_primary_pool オプションを使用します。

[admin:cntrlr]: > clear poolgroup pg enable_primary_pool

指定したプールをプライマリにするには、次のオプションを使用します。

[admin:cntrlr]: > clear poolgroup pg1 enable_primary_pool pool_uuid pool-4c86d835-16ec-4a60-839c-064d33040dff