18.16.8. 高可用性 (HA) フェールオーバー
高可用性フェイルオーバーは、ライブバックアップ構造を介して、自動クライアントフェイルオーバーまたはアプリケーションレベルのフェイルオーバーのいずれかで利用できます。ライブサーバーにはそれぞれバックアップサーバーがあります。ライブサーバーごとに 1 つのバックアップのみがサポートされます。
バックアップサーバーは、ライブサーバーがクラッシュし、フェイルオーバーがある場合にのみ引き継ぎます。ライブサーバーが再起動され、
allow-failback
属性が true に設定されている場合、ライブサーバーは再度ライブサーバーになります。元のライブサーバーが引き継ぎすると、バックアップサーバーはライブサーバーのバックアップに戻ります。
重要
クラスタリング機能を使用していない場合でも、クラスタリングを有効にする必要があります。これは、他のサーバーとロールをネゴシエートするために、HA クラスターの各ノードに他のノードすべてへの cluster-connection が必要であるためです。
高可用性クラスタートポロジーは、IP マルチキャストを使用して接続の詳細に関する情報を送信するため、ライブサーバーおよびバックアップサーバーによって実現されます。IP マルチキャストを使用できない場合は、初期接続の静的設定を使用することもできます。最初の接続後、クライアントはトポロジーについて通知されます。現在の接続が古くなると、クライアントは別のノードへの新しい接続を確立します。
ライブサーバーが失敗し、バックアップサーバーが引き継いした後、ライブサーバーを再起動してクライアントをフェイルバックする必要があります。これには、元のライブサーバーを再起動して、新しいライブサーバーを強制終了します。これは、プロセス自体を強制終了するか、またはサーバー自体でクラッシュするのを待つことで実行できます。また、通常のサーバーのシャットダウンでフェイルオーバーが発生し、
standalone.xml
設定ファイルで failover-on-shutdown
プロパティーを true に設定することもできます。
<failover-on-shutdown>true</failover-on-shutdown>
<failover-on-shutdown>true</failover-on-shutdown>
デフォルトでは、
failover-on-shutdown
プロパティーは false に設定されます。
また、
standalone.xml
設定ファイルで allow-failback
プロパティーを true に設定すると、元のライブサーバーが復旧したときに新しいライブサーバーを強制的にシャットダウンし、元のライブサーバーが自動的に引き継げるように強制できます。
<allow-failback>true</allow-failback>
<allow-failback>true</allow-failback>
レプリケーション HA モードでは、古いライブサーバーが復旧したときに新しいライブサーバーを強制的にシャットダウンするには、
standalone.xml
設定ファイルで check-for-live-server
プロパティーを true に設定します。
<check-for-live-server>true</check-for-live-server>
<check-for-live-server>true</check-for-live-server>