30.4. 共有ストア

このスタイルの高可用性は、ライブノードとバックアップノードの両方からアクセス可能な共有ファイルシステムを必要とするという点で、データのレプリケーションとは異なります。つまり、サーバーのペアは、設定の ページングメッセージジャーナルバインディングジャーナル、および 大きいメッセージ に同じ場所を使用します。

注記

共有ストアの使用は Windows ではサポートされません。Red Hat バージョンの GFS2 または NFSv4 を使用する場合、Red Hat Enterprise Linux でサポートされます。さらに、GFS2 は ASYNCIO ジャーナルタイプでのみサポートされますが、NFSv4 は ASYNCIO と NIO の両方のジャーナルタイプでサポートされます。

また、クラスターに含まれていない場合でも、ペアの各参加サーバー (ライブとバックアップ) には cluster-connection が定義されている必要があります。これは、cluster-connection で、バックアップサーバーがその存在をライブサーバーと他のすべてのノードに通知する方法を定義するからです。これがどのように実行されるかについては、クラスター接続の設定 を参照してください。

フェイルオーバーが発生し、バックアップサーバーが引き継ぐ場合、クライアントが接続できるようになるには、その前に、共有ファイルシステムから永続ストレージを読み込む必要があります。このスタイルの高可用性は、ライブとバックアップの両方のペアからアクセス可能な共有ファイルシステムを必要とするという点で、データのレプリケーションとは異なります。これは通常、ある種の高パフォーマンスストレージエリアネットワーク (SAN) になります。Red Hat は、ストレージソリューションに NAS と呼ばれるネットワーク接続ストレージの使用を推奨していません。

共有ストアの高可用性の利点は、ライブノードとバックアップノード間でレプリケーションが発生しないことです。これは、通常の操作中にレプリケーションのオーバーヘッドによるパフォーマンスの低下が発生しないことを意味します。

共有ストアのレプリケーションの欠点は、バックアップサーバーがアクティブになったときに、共有ストアからジャーナルをロードする必要があり、ストア内のデータ量によっては時間がかかる場合があることです。また、JBoss EAP でサポートされる共有ストレージソリューションが必要です。

通常の操作中に最高のパフォーマンスが必要な場合、Red Hat では、高性能な SAN にアクセスし、若干遅いフェイルオーバーコストを受け入れることを推奨しています。正確なコストは、データ量によって異なります。

ha shared store

30.4.1. 共有ストアの設定

注記

以下の例は、standalone-full-ha 設定プロファイルを使用して JBoss EAP を実行していることを前提とします。

  1. ha-policy をライブサーバーに追加します。

    /subsystem=messaging-activemq/server=default/ha-policy=shared-store-master:add
  2. ha-policy をバックアップサーバーに追加します。

    /subsystem=messaging-activemq/server=default/ha-policy=shared-store-slave:add
  3. 共有された cluster-connection が存在することを確認します。

    ライブサーバーとバックアップサーバーの間の適切な通信には cluster-connection が必要です。以下の管理 CLI コマンドを使用して、同じ cluster-connection がライブサーバーとバックアップサーバーの両方に設定されていることを確認します。この例では、standalone-full-ha 設定プロファイルにあるデフォルトの cluster-connection を使用しています。ほとんどの場合、これで十分なはずです。クラスター接続の設定方法の詳細は、クラスター接続の設定 を参照してください。

    /subsystem=messaging-activemq/server=default/cluster-connection=my-cluster:read-resource

    cluster-connection が存在する場合、出力は現在の設定を提供します。存在しない場合は、エラーメッセージが表示されます。

共有ストアポリシーのすべての設定属性の詳細は、すべての共有ストア設定 を参照してください。

30.4.2. すべての共有ストア設定

管理 CLI を使用して、追加されたポリシーに設定を追加します。これを実行するコマンドは、以下の基本構文に従います。

/subsystem=messaging-activemq/server=default/ha-policy=POLICY:write-attribute(name=ATTRIBUTE,value=VALUE)

たとえば、restart-backup 属性の値を true に設定するには、以下のコマンドを使用します。

/subsystem=messaging-activemq/server=default/ha-policy=shared-store-slave:write-attribute(name=restart-backup,value=true)

表30.3 shared-store-master 設定要素の属性

属性説明

failover-on-server-shutdown

true に設定して、通常シャットダウンしたときにフェイルオーバーするようにこのサーバーに指示します。デフォルトは false です。

表30.4 shared-store-slave 設定要素の属性

属性説明

allow-failback

true に設定して、別のサーバーがこのサーバーを引き継ぐ要求を送信したときに、自動的に停止するようにこのサーバーに指示します。ユースケースは、通常サーバーが停止し、そのバックアップがロールを引き継ぎ、その後、メインサーバーが再起動し、サーバー (元のバックアップ) の動作停止を要求する場合です。デフォルトは true です。

failover-on-server-shutdown

true に設定して、通常シャットダウンしたときにフェイルオーバーするようにこのサーバーに指示します。デフォルトは false です。

restart-backup

true に設定して、フェイルバックまたはスケールダウンが原因で停止したら再起動するようにこのサーバーに指示します。デフォルトは true です。