クラウドコンピューティングのバックエンドとしてどの分散ファイルシステムですか?


11

Ubuntu Server(9.04)とEucalyptusで実行している基本的なクラウドがあります。Walrus(ユーカリのAPI互換S3実装)は、クラウドコントローラーにファイルを保存します。ただし、他の4台のサーバーにはそれぞれ1TBのストレージがあり、ほとんど使用されていません。利用可能なすべてのリソースを利用するために、すべてのストレージをプールする方法を探しています。PVFS、Lustre、HDFS(Hadoop)などのさまざまなオプションを探してきました。

私の唯一の要件は、スケーラブルである必要があり、Ubuntuで適切に動作することです。このような技術を使用した経験のある方からのご意見をお待ちしております。ご提案をお待ちしております。


Ubuntuである必要がなければ、ZFSと言います。
ブラッドギルバート

3
ZFSはクラスター化されたファイルシステムではありません。
MarkR 09

回答:


5

私はシステムのどこにも個人的に実装していませんが、Glusterをかなり広範囲に見てきました。私はこれを使用しているいくつかの大規模なサイトで何人かの人々を知っています、そしてそれは明らかに本当にうまくいきます。一部のヘビーデューティHPCアプリケーションの生産で使用します。


2

GlusterFSは私にとって理想的なソリューションのようです。Glusterのセットアップには多大な労力が必要だと主張する人には、彼はおそらく一度も試したことがないと言わざるを得ません。Gluster 3.2の時点では、構成ユーティリティは非常に優れており、ネットワーク上でglusterボリュームを上げて共有するには2つまたは3つのコマンドが必要です。Glusterボリュームのマウントも同様に簡単です。

プラス面では、NFSよりもはるかに柔軟性が高くなります。ストライピング、レリケーション、ジオレプリケーションを実行し、もちろんPOSIXに準拠しています。HekaFSと呼ばれる拡張機能があります。これには、SSLとより高度な認証メカニズムも追加されます。これはおそらくクラウドコンピューティングにとって興味深いものです。また、スケーリングします!これはF / OSSであり、最近Glusterを購入したRedHatによって開発されています。


1

mogileFSを見たことはありますか? http://danga.com/mogilefs/

従来の意味でのファイルシステムではありませんが、クラスター全体にファイルデータを分散するのに適しています(レプリケーションと冗長性を考慮して)。

Webアプリケーションのファイルを提供している場合、ファイルを提供するものが必要になります。mogile FSで必要なファイルを見つけるための検索キーとしてHTTPリクエストを使用するPHPスクリプトをお勧めします。その後、ファイルの内容をバッファに読み込み、エコー/印刷できます。

MogileFSはすでにかなり高速ですが、mogileFSとmemcacheを組み合わせて、最も一般的に使用されるファイルへのアクセスを高速化できます。


メタデータノードの場合、MogileFSには単一障害点があったことを思い出すようです。HDFSにも同様の問題があります。
デビッドパシュリー

MogileFSは非常に興味深いようで、複製と冗長性が理想的ですが、アプリケーションは実行されていることを認識する必要があるため、一般的な使用には向いていないようです。アプリケーションがFSに依存しない、より伝統的なファイルシステムが適しています。
ジャウンティ

1
MogileFSでは複数のトラッカーを実行でき、バックエンドでmysqlをフェールオーバーできます。これにより、すべての単一障害点を削除できます。
davidsheldon

1

Lustreを使用するには、サーバー上に特別なカーネルが必要です。サーバーはサーバーのみで、他には何もありません。

奇妙なことに、最も正気な答えはNFSです。AmazonのクラウドでNFSを使用しました。いくつかのファイルシステムほどうまく拡張できないかもしれませんが、単純さを見落としてはなりません。単一の名前空間は、おそらく実装にかかる労力に値しません。


1

まだHDFSを検討していますか?Clouderaの1人が今年VelocityConfで、ビッグデータクラスターの管理に焦点を当てたHadoopとHDFSについて講演したため、HDFSについてかなり話しました。スライドは非常に有益です。私は個人的にHDFSを扱ったことはありませんが、Velocityでランダムな人々と話をして、UbuntuでHDFSを使用してさまざまなデータ分析を行っています。


1

仮想化環境の背後にある種の共有ファイルシステムを配置することは非常に一般的です。達成したい内容に応じて、多くの選択肢があります。

最も簡単なソリューションはおそらくNFSです。これは、実行しているディストリビューションによってネイティブにサポートされるためです。NFSは仮想化バックエンドファイルシステムとしては十分に機能しますが、NFSは最速のものではありません。

RedHat(または派生)クラスターを実行している場合は、RedHatのクラスターファイルシステムであるGFS2をすぐに使用できます。これは数百のノードにスケールアップしませんが、小規模なクラスターには問題ありません。

それを超えて、Lustre、Glusterfs、GPFSなどの範囲に入るようになりました。これらはすべて高性能の並列ファイルシステムですが、ここで設定した他のオプションよりもかなり多くの作業が必要です。大規模な環境の場合は、一見の価値があります。


1

NFSが最良の選択肢であるという点で@larsksに同意します。いくつかのiSCSIターゲット、NFSをセットアップしました。これは、約5〜10ノードにスケーリングされます。I / O、ネットワーク機能などに基づいたYMMV(または、マルチパスI / Oサポートを備えたiSCSIをセットアップします)。

20以上のノードが必要な場合は、Cephを調べてください。Lustreは有望で安定していますが、(F / OSS)Oracle製品であり、私はOracleに対して個人的な嫌悪感を持っています。:)

Cephも非常にアクティブです。最新のリリースは5日前です。


LustreはOracleの傘下ではなくなりました。参照whamcloud.comを
utopiabound

1

XtreemFSはあなたのためのソリューションかもしれません。インストールと設定は非常に簡単で、Ubuntu用のパッケージもあります。




0

PVFS2を試すことができます。セットアップはLustreよりもはるかに簡単で、一般的にGlusterよりも高速です。


Glusterよりも高速ですか?パフォーマンスに関するデータを共有できますか?
ジョンZFS

最近のベンチマークはありません。2008年、GlusterはLustreよりもはるかに低速でしたが、PVFS2はわずかに低速でした。最近は違うかもしれませんが、これをベンチマークするかもしれません。
wazoox

おかげで、ベンチマークを行う場合、私に知らせてください。maruti.j@gmail.comか、everyonesの利益のためにserverfaultの上のポストを作ること
ジョン・ZFS
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.