14.3.2. Configuring shared store high availability
共有ストア高可用性 (HA) ポリシーを使用して HA をブローカークラスターに実装できます。共有ストアでは、ライブおよびバックアップブローカーの両方が、共有ファイルシステム上の共通ディレクトリー ( 通常は Storage Area Network (SAN) または Network File System (NFS) サーバー ) にアクセスします。また、JDBC ベースの永続を設定している場合は、ブローカーデータを指定されたデータベースに保存することもできます。共有ストアでは、ライブブローカーが失敗すると、バックアップブローカーは共有ストアからメッセージデータを読み込み、失敗したライブブローカーに対して引き継ぎします。
通常、SAN は NFS サーバーよりもパフォーマンスが向上する ( 速度など )、推奨されるオプションになります ( 利用可能な場合 )。NFS サーバーを使用する必要がある場合は、AMQ Broker がサポートするネットワークファイルシステムに関する詳細は、Red Hat AMQ 7 Supported Configurations を参照してください。
ほとんどの場合、レプリケーションの代わりに共有ストア HA を使用する必要があります。共有ストアはネットワーク経由でデータを複製しないため、通常はレプリケーションよりもパフォーマンスが向上します。共有ストアは、ライブブローカーとそのバックアップが同時に行われるという問題である、ネットワーク分離 (スプリットブレインとも呼ばれる) を回避します。
共有ストアを使用する場合、バックアップブローカーの起動時間はメッセージジャーナルのサイズによって異なります。バックアップブローカーが失敗したライブブローカーに対して引き継がると、共有ストアからジャーナルが読み込まれます。ジャーナルに多くのデータが含まれる場合、このプロセスには時間がかかることがあります。
14.3.2.1. NFS 共有ストアの設定
共有ストアの高可用性を使用する場合、ライブおよびバックアップブローカーの両方を、共有ファイルシステムの共通ディレクトリーを使用するように設定する必要があります。通常、Storage Area Network (SAN) またはネットワークファイルシステム (NFS) サーバーを使用します。
以下は、各ブローカーインスタンスの NFS サーバーからエクスポートされたディレクトリーをマウントする際に推奨される設定オプションです。
sync
- すべての変更が即時にディスクにフラッシュされることを指定します。
intr
- サーバーがダウンした場合やサーバーにアクセスできない場合に、NFS 要求の割り込みを許可します。
noac
- 属性キャッシュを無効にします。この動作は、複数のクライアント間で属性キャッシュの一貫性を実現するために必要です。
軽度
- NFS サーバーが利用できない場合、サーバーがオンラインに戻るのを待つのではなく、エラーを報告する必要があることを指定します。
lookupcache=none
- ルックアップキャッシングを無効にします。
timeo=n
-
NFS クライアント ( ブローカー ) が NFS サーバーからの応答を待機する時間 ( デシ秒 (10 秒 )) は、要求を再試行するまで NFS サーバーからの応答を待つ時間です。TCP 経由の NFS の場合、デフォルトの
timeo
値は600
(60 秒) です。UDP 経由の NFS では、クライアントは適応アルゴリズムを使用して、読み取り要求や書き込み要求など、頻繁に使用される要求のタイプに適切なタイムアウト値を予測します。 retrans=n
-
さらなるリカバリーアクションを試行する前に、NFS クライアントが要求を再試行する回数。
retrans
オプションが指定されていない場合、NFS クライアントは各リクエストを 3 回試行します。
timeo
オプションおよび retrans
オプションを設定する場合、適切な値を使用することが重要です。デフォルト timeo
の 600 デシ秒 (60 秒) と retrans
値の 5 を組み合わせると、ActiveMQ Artemis が NFS 接続の切断を検出するのを 5 分間待機する可能性があります。
関連情報
- NFS サーバーからエクスポートしたディレクトリーをマウントする方法は、Red Hat Enterprise Linux ドキュメントの Mounting an NFS share with mount を参照してください。
- AMQ Broker でサポートされるネットワークファイルシステムに関する詳細は、Red Hat AMQ 7 Supported Configurations を参照してください。