私は一連のサーバー(HP ProLiant、34台のサーバー)を持っており、それぞれに500Gのハードドライブ容量があります。これらのサーバーは、大まかに2つの「フェーズ」に分類されるプロセスを実行する計算クラスターの一部です。
サーバーは同じエンクロージャーを共有せず、ギガビットイーサネットを介して接続されます。
以前の質問 のように、最初は単一のサーバーにNFS共有を配置しましたが、同時実行性のレベルにより、可用性とロックの問題が発生し、プロセスが第2フェーズで失敗することがよくありました。
サーバーでディスクを使用できるようになったので、分散ファイルシステムを使用することを考えました。私の最初のアプローチ(他の場所で成功したテストのおかげで使用された)は、GlusterFS(分散+複製セットアップ)を使用することでした。
ただし、最初のフェーズでは完全に機能しますが、ネットワークの遅延がプール内のすべてのサーバーによるこれらすべての同時読み取りと書き込みを処理するのに十分なほど低くなく、さまざまなサーバーが発生するため、2番目のフェーズで問題が発生することはありません。同期がとれなくなるため、途中で奇妙なエラーが発生します(ファイルの欠落、奇妙なアクセス許可の拒否エラーなど)。
また、「問題」は、サーバー自体(またはサーバーの一部、すべてを使用する必要はありません)がストレージを提供するとともに計算を実行する必要があることです(これは寄付されたリソースであるため、これ以上のことはできません)それ)。
これはすべて、ユースケースを説明するためのものであり、「フェーズ2」を処理するのに最適な分散ファイルシステムは何でしょうか。ファイルレベルで何かが必要であることに注意してください。マウントポイントまたは仮想デバイスのいずれか。
ファイルシステムはくだらないデータベースを作り、ネットワークファイルシステムはさらに悪いデータベースを作ります。
フェーズ2:私にはデータベースのようなにおいがします。
最近はたくさんの選択肢があります。基本的なキー/値ストアデータベースは、セットアップと保守が比較的簡単です。これは、どのような選択肢が可能かを知るための素晴らしい本です。
http://pragprog.com/book/rwdata/seven-databases-in-seven-weeks