分散ストレージファイルシステム-すぐに使用できる製品はどれですか?


31

HadoopCouchDBのすべての上のブログで、実際に動作することを分散フォールトトレラントストレージ(エンジン)何の関連ニュース。

  • CouchDBには実際には配信機能が組み込まれていません。私の知る限り、エントリやデータベース全体を自動的に配信するための接着剤はありません。
  • Hadoopは非常に広く使用されているようです-少なくともそれは良い評価を得ていますが、それでも単一障害点:NameNodeです。さらに、FUSEを介してのみマウント可能です。HDFSは実際にはHadoopの主な目標ではないことを理解しています
  • GlusterFSには何も共有されていないという概念がありますが、最近、私はそれがそれほど安定していないという意見に導くいくつかの投稿を読みました
  • また、Lustreは専用のメタデータサーバーを使用するため、単一障害点もあります。
  • Cephは選択したプレーヤーのようですが、ホームページではまだアルファ段階にあると述べています。

質問は、どの分散ファイルシステムに次の機能セットがあるかです(特定の順序はありません)。

  • POSIX互換
  • ノードの簡単な追加/削除
  • シェアードナッシングのコンセプト
  • 安価なハードウェア(AMD GeodeまたはVIA Edenクラスのプロセッサー)で実行
  • 認証/認可ビルトイン
  • ネットワークファイルシステム(異なるホストに同時にマウントできるようにしたい)

持ってうれしい:

  • ローカルでアクセス可能なファイル:標準のローカルファイルシステム(ext3 / xfs / whatever ...)でパーティションをマウントしてノードをマウントしても、ファイルにアクセスできます。

私はしていない、ホストされたアプリケーションのために、私は私達のハードウェアボックスのそれぞれの10ギガバイトを言う取り、私たちのネットワークで利用可能なそのストレージを持って、簡単に多数のホストにマウントすることができますではなく、何かを探しています。


それで、あなたは何になりましたか?現在の設定について聞くのは面白いでしょう。
MattBianco

Lustreは、これを書いてからアクティブ/パッシブMDSを追加したようですので、別の外観が必要になるかもしれません。
pjz

私の経験では、GlusterFSは安定していますが、パフォーマンスはかなり劣っています。パフォーマンスを向上させるには、真剣にハイエンドのハードウェアが必要です-基本的にはRDMA。重要なことは、すべてのサーバーとGlusterFSクライアントマシン間の遅延です。
ミッコランタライネン

回答:


9

POSIX要件を放棄する必要があると思いますが、それを実装しているシステムはほとんどありません。実際、NFSでさえ実際には(ロックなどを考えていない)冗長性はありません。

同期レプリケーションを使用するすべてのシステムは、非常に遅くなります。非同期複製(または「結果整合性」)を備えたシステムは、POSIXルールに違反し、「従来の」ファイルシステムのように動作しません。


最終的な一貫性と厳密な一貫性の両方をサポートするファイルシステムを知っていますか?おそらく両方に合わせて調整し、2つのマウントを作成できますか?
CMCDragonkai 14年

16

他の人には話せませんが、「分散ストレージエンジン」と「分散ファイルシステム」の間で混乱しているようです。それらは同じものではありません。同じものと間違われるべきではなく、同じものになることはありません。ファイルシステムは、ハードドライブのどこにあるかを追跡する方法です。hadoopのようなストレージエンジンは、キーによって識別されるデータの塊を追跡する方法です。概念的には、それほど違いはありません。問題は、ファイルシステムがストレージエンジンの依存関係であるということです...結局のところ、ブロックデバイスに書き込む方法が必要ですよね?

さておき、私はすべてのことができ、本番環境での分散ファイルシステムとしてOCFS2の使用に話します。ざらざらした詳細が必要ない場合は、この行の後で読むのをやめてください。それはちょっとクールですが、それはあなたが思っているよりも多くのダウンタイムを意味するかもしれません。

過去数年間、実稼働環境でocfs2を実行しています。大丈夫ですが、多くのアプリケーションには適していません。あなたは本当にあなたの要件を見て、それらが何であるかを理解する必要があります-あなたはあなたが思っていたよりもはるかに多くの障害の自由度があることに気付くかもしれません。

例として、ocfs2には、パーティションをマウントするクラスター内の各マシンのジャーナルがあります。したがって、4台のWebマシンがあり、mkfs.ocfs2を使用してそのパーティションを作成する場合、合計6台のマシンが成長する余地を与えるように指定します。これらのジャーナルはそれぞれスペースを占有するため、ディスクに保存できるデータ量が減少します。ここで、7台のマシンにスケールする必要があるとしましょう。その状況では、全体をダウンさせる必要がありますクラスター(つまり、すべてのocfs2パーティションをアンマウント)およびtunefs.ocfs2ユーティリティーを使用して、追加のジャーナルを作成します(使用可能なスペースがある場合)。次に、7番目のマシンをクラスターに追加し(ユーティリティを使用している場合を除き、クラスターの残りの部分にテキストファイルを配布する必要があります)、すべてをバックアップし、7つすべてにパーティションをマウントしますマシン。

意味がわかりますか?これは「常にオンライン」を意味する高可用性であるはずですが、すぐそこにはたくさんのダウンタイムがあります...そして、ディスクスペースで混雑することを神は禁じています。ocfs2を混雑させると何が起こるかを見たくありません。

以前はocfs2クラスターを管理するための「推奨」方法であったevmsは、clvmdとlvm2を支持してドードー鳥の道を行ったことに留意してください。(そして、evmsへのよい回避。)また、ハートビートは、openais / pacemakerスタックを支持して、すぐにゾンビプロジェクトに変わります。(脇:ocfs2の初期クラスター構成を行うとき、ハートビートではなくクラスターエンジンとして 'pcmk'を指定できます。これは文書化されていません。)

価値があるのは、ペースメーカーがnfs共有を別のマシンに移行する際の数秒のダウンタイムまたはドロップされたtcpパケットが基本的なダウンタイムの量に比べて些細なため、ペースメーカーが管理するnfsに戻ったことですocfs2を使用する場合のマシンの追加などの共有ストレージ操作。


2
これは、これがまさにOCFS2 / Pacemaker対NFSでの私の経験であるとコメントしたかっただけです。OCFS2をクラスター化されたデータストアとしてしばらく試してみたところ、非常に不足していることがわかりました。その間、私たちのHA NFSシステムは魅力のように実行されてきました。
カミルキジエル2009年

1
OCFS2は間違いなく私が見ているものではありません。私が意味するものではありません分散ストレージの中央インスタンスと何かではなく、私は簡単に/まだ「クラスタ」の残りの部分をアップしながらストレージを提供する削除ノードを追加することができます何かに
serverhorror

2
私はまだこの答えに賛成票を投じているので、NFSの代替として本番環境でGlusterFSを使用していることを付け加えます。ただし、VMディスクイメージ、データベースストレージファイル(sqlite、myisamなど)、またはレプリケーションラッシュの原因となるglusterfsで頻繁に変更される他のファイルは保存しません。LVMのVMホストにローカルに保存し、DRBDを使用してフェールオーバーサイトに配布するか、組み込みのレプリケーションを使用します。
カールKatzke


3

ここに私の€0.02を投げ入れるために:OpenAFSはあなたが望むことをすることはできませんか?



3

どの程度Xtreemfs?バージョン1.4(2012年11月)は製品品質と見なされます。

POSIX互換であり、優れた自動耐障害性を備えています。


2

Lustreでは、冗長性のためにアクティブ/パッシブ構成で複数のメタデータストアを使用できるため、単一障害点がありません。

OCFS2も一見の価値があります。

複数の同時ネットワークアクセスの要件を排除すると、iSCSIやcifsやnfsなどに切り替えることができることに注意してください。欠点は、スペースを必要とするサーバーごとに、uberArrayの一部をバイトに「切り分ける」必要があることです。


2

アカデミック/開発目的でない限り、この種のことは、プロジェクトの全体的な要件から始めなければなりません。ほとんどの分散ファイルシステムは、本格的な展開には十分に成熟していません。たとえば、すべてが失敗した場合はどうしますか。アカデミック/開発を目的とする場合、これは実際に良いことです。多くのことを学び、多くのバグを修正できるからです。

POSIXセマンティクスが本当に必要かどうかを質問するコメントは、良い出発点です。POSIX以外の「ファイルシステム」セマンティクスは非常に柔軟性が高く、より信頼性の高いシステムにつながります。

これがレガシアプリケーションである場合、最新の分散ファイルシステムが最適なソリューションと見なされるのはなぜだろうと思います。

誤解しないでください-これらは驚くほど楽しいおもちゃです。私は、一般的には使用されておらず、フレークアウト時に修正するのが非常に難しい複雑な相互依存ソリューションについて責任を負いたくないだけです。


1

POSIXセマンティクスが本当に確実に必要ですか?カスタムデータストアを使用できれば、人生はずっと楽になります。事実上、非常に大規模な分散キーと値のストアである内部的に記述されたデータストアがあります。ファイルをそこに保存し、トークンを取得します。ファイルを元に戻したい場合は、以前に与えたトークンを渡します。分散され、何も共有されず、データが3回複製され、ストレージサーバーと制御サーバーの両方でノードを自由に追加および削除できます。


残念ながら、私は本当にPOSIXセマンティクスが必要です。ローカルファイルシステムにデータを保存する「レガシーアプリ」がたくさんあります。任意の予算外間違いなくそのすべてをされてRewritting
serverhorror

他の要件のいくつかを放棄しなければならないと思う。私はGlusterFS、Lustre、OCFS2、GFSを検討していますが、何も共有されていないものを見つけることはできません。
デビッドパシュリー

en.wikipedia.org/wiki/…には分散ファイルシステムがリストされていますが、そのほとんどはPOSIXです。
デビッドパシュリー

ずっと前、私はAFSのバリアント(現在はOpenAFS)を使用していました。うまくいきましたが、複雑で、独自の癖がありました。
ジャダーホー09

1

また、Lustreは専用のメタデータサーバーを使用するため、単一障害点もあります。

Lustreはフェールオーバーをサポートするように設計されており、MDS / MDT / OSSには多数のアドレスを設定できます。これらのアドレスには、ハートビートを使用してサービスを移行できます。

一部の最近のバージョンには、アンマウントが機能しているように見えるが、ディスクへのデータがまだ送信されているという問題があることに注意してください。


1

MooseFS(フォールトトレラント、スケールアウト、ネットワーク分散ファイルシステム)を使用することをお勧めします。POSIX準拠であり、1.6リリース以降、MooseFSはシンプルでNFSに似た認証/承認を提供します。ハードウェア要件も参照してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.