20.14.8. 高可用性 (HA) フェールオーバー

高可用性フェールオーバーは、ライブバックアップの仕組みにより、自動クライアントフェールオーバーまたはアプリケーションレベルフェールオーバーのいずれかを用いて利用できます。各ライブサーバーはバックアップサーバーを持ちます。ライブサーバーごとに 1 つのバックアップのみがサポートされます。
バックアップサーバーは、ライブサーバーがクラッシュし、フェールオーバーが発生した場合のみ引き継ぎします。allow-failback 属性が true に設定されている場合、ライブサーバーは再起動した後に再度ライブサーバーとして稼働します。元のライブサーバーが引き継ぎすると、バックアップサーバーはライブサーバーのバックアップに戻ります。

重要

クラスタリング機能を使用していない場合でも、クラスタリングを有効にする必要があります。これは、他のサーバーとロールをネゴシエーションするため HA クラスターの各ノードは他のノードすべてへのクラスター接続を持つ必要があるためです。
高可用性クラスタートポロジーは、ライブおよびバックアップサーバーが IP マルチキャストを使用して接続の詳細情報を送信することで実現されます。IP マルチキャストが使用できない場合、最初の接続の静的接続を使用することも可能です。最初の接続後、クライアントはトポロジーの情報を受け取ります。現在の接続が陳腐化すると、クライアントは別のノードへ新しい接続を確立します。
ライブサーバーに障害が発生し、バックアップサーバーが引き継ぎした後、ライブサーバーを再起動し、クライアントをフェイルバックする必要があります。これを行うには、元のライブサーバーを再起動し、新しいライブサーバーをキルします。これには、プロセス自体をキルするか、サーバー自体がクラッシュするまで待ちます。また、standalone.xml 設定ファイルで failover-on-shutdown プロパティーを true に設定すると、通常のサーバーのシャットダウンでフェールオーバーが発生するようになります。
<failover-on-shutdown>true</failover-on-shutdown>
デフォルトでは、failover-on-shutdown プロパティーは false に設定されています。
また、standalone.xml 設定ファイルで allow-failback プロパティーを true に設定すると、元のライブサーバーが復旧したときに新しいライブサーバーのシャットダウンが強制され、元のライブサーバーへ自動的に引き継ぎされます。
<allow-failback>true</allow-failback>
レプリケーション HA モードで、元のライブサーバーが復旧したときに新しいサーバーのシャットダウンを強制するには、standalone.xml 設定ファイルで check-for-live-server プロパティーを true に設定します。
<check-for-live-server>true</check-for-live-server>