web-dev-qa-db-ja.com

いくつかのサーバー間でミラーリングされたファイルシステム

いくつかのLinuxサーバー間で1つのディレクトリ(または1つのファイルシステム)をミラーリングまたは複製するソリューションを探しています。理想的なソリューションは、すべてのサーバーに読み取り/書き込みアクセスを許可するものです。また、復元力も必要です。サーバーの1つがダウンしても、データを失うことなく残りの部分が機能するはずです。

私はいくつかの解決策を見てきました:

  • [〜#〜] drbd [〜#〜] :ブロックレベルのレプリケーション。少しやり過ぎに思われます。
  • lsyncd :非常にシンプルに見えますが、パフォーマンスについて疑問があります。
  • GlusterFS :レプリケーションモードが正確にどのように機能するかはまだわかりません必要な特性はありますか?

その他の提案は大歓迎です。

13
vartec

私が最初に尋ねる質問は、これを2台のサーバーに複製したいですか、それとも2台以上のサーバーに複製したいですか? 2つのサーバーの場合はDRDBを使用し、3つ以上の場合はglusterを使用します。

I/Oレイテンシが重要な問題でない場合は、glusterを使用します。セットアップはかなり簡単で、必要なことを明確に実行できます。 3つのすべてのボックスでファイルを提供するglusterサーバーを作成し、各ボックスがファイルをマウントするglusterクライアントとして機能するようにするだけです。

DRDBは、3つ以上のサーバーでマスター<->マスターモードで動作するように複雑になるでしょう。リングベースのセットアップを構成する必要がありますが、お勧めしません。ただし、2つのサーバーの場合、DRDBは素晴らしいです。マスター<->マスターモードはセットアップが複雑ではなく、ファイルシステムのことを学ぶ必要はありません。

lsycdはマスター/スレーブのセットアップに最適ですが、それを望んでいないようです。

Cephはまだかなり新しいものです。前回チェックしたところ、まだfsckがサポートされていませんでした。私はインフラストラクチャをより安定したものに基づいて構築したいと考えています。

Lustreは大規模な展開に最適な製品ですが、mdsサーバーのハートビートとフェイルオーバーをセットアップする必要があります。そうしないと、単一障害点が発生します。彼が話しているサーバーの数が限られていることを考えると、この場合はやり過ぎだと思います。

6
n8whnp

Ceph または Lustre はどうですか?

2
Chopper3

OpenAFS を調べる必要があります。これは、データの複数のコピーがクラスタ全体に分散して存在することを可能にし、FS同時に。

他にもたくさんの便利な機能があります(優れた認証、ネットワーク上の暗号化、クライアントの組み込みローカルキャッシュ、ネイティブWindowsクライアント、多くのバージョンのUNIX間での移植性など)。

ただし、セットアップは少し大変です。

2
chris

これをDRBDで動作させることは非常に困難になります-問題はn8whnpが多方向レプリケーションに関する問題を考えているようではない(ミラーセットですべてのノードをストライプにするだけ)のではなく、同時実行制御です-あなたはd DRBDの上でミラーリングの上でクラスターファイルシステムを実行する必要があります。

同時実行制御の実用的な解決策がないため、lsyncdはさらに悪くなります。

成熟した安定したオープンソリューションとして、AFSタイプのソリューション(AFS、OpenAFS)をお勧めします。オラクルがシャットダウンして以来、私は光沢に気をつけていません。 glusterfsに過度に精通していませんが、レプリケートされたストレージではなく分散ストレージに依存しているため、スプリットブレイン操作でどのように動作するかを十分に検討することをお勧めします(AFS OTOHは切断モードで動作するように設計されています)。

1
symcbean

ニーズによっては、NFSも正常に機能する場合があります。

1
lsd