Skip to main content

2026 年 5 月 18 日

データベース フェイルオーバー - 新しいアプライアンス

このトピックでは、バージョン 9.0.0 以降を実行しているアプライアンスのデータベース フェイルオーバー機能について説明します。これらのアプライアンスでは、サービス プロバイダ アプライアンスが予期せずにシャットダウンした場合を除いて、フェイルオーバーは完全に自動化されていますが、その場合は手動プロセスが残っています。

**注:**このトピックは、バージョン 9.0.0 以降を実行しているアプライアンスにのみ適用されます。古いアプライアンスに関連する情報については、「データベース フェイルオーバー - レガシー アプライアンス」を参照してください。

自動フェイルオーバー

自動フェイルオーバー機能には、次のものが含まれます。

  • 単一のデータソース接続 - すべてのアプライアンスで、新しい pgbouncer サービスを介してプロキシされる単一のデータソース接続が使用されるようになりました。pgbouncer は、基盤となる postgres データベースへの接続を維持しながら、使用するアプライアンス サービスの単一の接続ポイントを提供する接続プーラーです。このサービスは、すべてのフェイルオーバーとプライマリの移行も処理します。新しいプライマリ データベースを参照するように自動的に更新され、プライマリ間のシームレスな移行が可能になります。
  • アプライアンスのシャットダウンまたは再起動時にプライマリ データベースの切り替えを制御 - ゲストが開始するシャットダウンまたは現在のプライマリ データベースの再起動中に、プライマリ ロールは制御された方法で HA ペアの他のアプライアンスに移行されます。これは、主に Blast (Web) ポータルを介したデスクトップ接続に影響しますが、アプライアンスの動作がわずかに中断されるだけです。Horizon Client を介して作成されたデスクトップ接続は影響を受けません。また、horizonadmin を短期間使用できない場合もあります。また、切り替え中にデスクトップ接続を要求しているユーザーには、使用可能なデスクトップがないことを示すエラーが表示されることがありますが、その後すぐに再試行してデスクトップに接続できます。
  • テナント アプライアンスで予期しない障害が発生した場合のプライマリ データベースの自動フェイルオーバー - プライマリの障害が自動的に検出され、続いてサービス プロバイダ アプライアンスへの要求が発生して、アプライアンスが実際に停止していることを確認します。フェイルオーバー プロセスは 3 分の遅延後に開始されます。この新しいフェイルオーバー プロセスは、過去のフェイルオーバー プロセスよりも中断が小さいため、slony クラスタを通常のレプリケーション状態のままにします。これにより、フェイルオーバーが発生した後に slony 再初期化は必要なくなります。

これらの機能は、以下で説明するサービスでサポートされています。

サービス説明ログの場所
pgbouncerplatform services と postgres 間のデータベース接続を仲介する接続プーラー。/var/log/pgbouncer/
  • デフォルトで psql コマンドを使用して postgres に接続すると、pgbouncer が実行されます。これにより、使用しているアプライアンスに関係なく、プライマリ データベースに接続します。特定のデータベース インスタンスに接続するには、psql で -h および -p フラグを使用します。また、postgres に直接接続する場合は、ポート 6432 も指定する必要があります。次に例を示します。
    <pre><code>psql -U admin -h ‹Appliance_IP› -p 6432 fdb</code></pre></li>
    
  • /etc/pgbouncer/pgbouncer.ini の pgbouncer 構成を確認して、正しいアプライアンスを参照していることを確認できます。ファイルの先頭にある connect 文字列は、現在の slony プライマリを参照している必要があります。存在しない場合、ほとんどの場合、アプライアンスの再起動によって問題が解決されます。
Dbmonitor次のような監視サービスを実行します。
  • プライマリ障害を検出し、新しいフェイルオーバー プロセスを開始します。
  • 制御された switchover または resubscribe によって発生した slony プライマリ ノードの変更を検出し、それに応じて新しいプライマリ アドレスで pgbouncer を更新します。
/var/log/dbmonitor/ 
switchoverシャットダウン時にスクリプトが実行され、switchover アクションが実行されます。/var/log/desktone/slony-services 
resubscribe起動時にスクリプトが実行され、resubscribe アクションが実行されます。/var/log/desktone/slony-services 

サービス プロバイダ アプライアンスの手動フェイルオーバー

サービス プロバイダ アプライアンスで予期しないシャットダウンが発生した場合は、他のサービス プロバイダ アプライアンスで次の手順を実行して、手動フェイルオーバーを実行できます。

  1. failover-slony-master スクリプト(/usr/local/desktone/scripts/ にある)を root として実行します。

    failover-slony-master <database type> '<database password>'
    

    ここで、<database type> は fdb、edb、または avdb です。

  2. pgbouncer.ini ファイルが現在のアプライアンスのフロントエンド IP アドレスを参照していることを確認します。

    /usr/local/desktone/scripts# grep '<IP address>' /etc/pgbouncer/pgbouncer.ini
    
  3. pgbouncer サービスを再ロードします。

    service pgbouncer reload
    
  4. slony-status を実行してプライマリ ステータスとレプリケーションを確認します。

    /usr/local/desktone/scripts# slony-status <org #>
    

このページは役に立ちましたか?

このトピックについてフィードバックを送信

このトピックは役に立ちましたか?

個人情報や機密情報は入力しないでください。

リンクを生成しています…