現在、Splunkと呼ばれるNoSQL派生物を使用してデータを受信しています。このソフトウェアは、ジョブディスパッチエンジンが共通のストレージポイントを共有する複数のサーバーに格納されている「サーチヘッドプーリング」と呼ばれるものをサポートしています。当初、私たちの意図は、待ち時間が短く、安定性があり、セットアップが簡単なため、GFS2のようなクラスター化されたファイルシステムを使用することでした。 GFS2をセットアップしましたが、問題なく動作しています。
ただし、ソフトウェアを実行しようとすると、ロックファイルや、サポートチームが完全に説明できない他の多くのことを作成しようとします。彼らからの最終的なフィードバックは、NFSのみをサポートしているというものでした。
私たちのネットワーク管理チームは、NFS(安定性の欠如、ファイルロックの問題など)にひどく嫌悪感を抱いています。
そこで、GFS2ファイルシステムとソフトウェアの間のウェッジレイヤーとして機能するように、クラスター内の各サーバーにNFSをセットアップする可能性について考えていました。基本的に、NFS経由でGFS2ファイルシステムのマウントポイントをエクスポートするように各サーバーを構成してから、各サーバーにそのNFS共有に接続するように指示します。そうすれば、専用のNFSサーバーがダウンした場合に単一障害点を導入することはありませんが、ベンダーは「必要な」NFS共有を取得します。
私はただブレインストーミングをしているだけなので、これを分解してください:)
GFS2ロックの動作方法、深刻なパフォーマンスの問題が発生している可能性があります各ノードを異なるNFSサーバーにポイントすることによって:
別のノードがすぐに付与できないグロックを要求した場合、DLMは、新しい要求をブロックしているグロックを現在保持している1つまたは複数のノードにメッセージを送信して、ロックを解除するように要求します。 glockのドロップは、(ほとんどのファイルシステム操作の標準では)長いプロセスになる可能性があります。共有グロックを削除するには、キャッシュを無効にするだけで済みます。これは比較的迅速で、キャッシュされたデータの量に比例します。
排他的グロックをドロップするには、ログをフラッシュし、変更されたデータをディスクに書き戻した後、共有グロックに従って無効化する必要があります。
[...]
GFS2のキャッシングの実装方法により、次のいずれかが発生したときに最高のパフォーマンスが得られます。
- Iノードはすべてのノードで読み取り専用の方法で使用されます。
- Iノードは単一ノードからのみ書き込まれるか変更されます。
さらに、Red HatからのものとしてのサポートドキュメントはPOSIXロックを示しますNFS共有では問題を引き起こすなので、アクティブ/パッシブクラスタリングのみNFSが単一のアクティブノードから任意の時点でエクスポートされ、NFSサービスを介してセットアップされたものを除いてGFS2ファイルシステムへのファイルアクセスが実行されない構成がサポートされます。明らかに、これはNFSとGFS2の間のあらゆる種類の予期しないロックの相互作用を処理するはずですが、おそらくあなたが見たかったものではありません。