Ubuntu Server(9.04)とEucalyptusで実行されている基本的なクラウドがあります。 Walrus(EucalyptusのAPI互換S3実装)は、クラウドコントローラーにファイルを格納します。ただし、他の4台のサーバーにはそれぞれ1TBのストレージがあり、ほとんど使用されていません。利用可能なすべてのリソースを利用するために、すべてのストレージを一緒にプールする方法を探しています。私はPVFS、Lustre、HDFS(Hadoop)などのさまざまなオプションを探していました。
私の唯一の要件は、それがスケーラブルである必要があり、Ubuntuで適切に動作することです。そのような技術の経験をお持ちの方からのご連絡をお待ちしております。皆様のご意見をお待ちしております。
私はシステムのどこにも個人的に実装していませんが、 Gluster をかなり広範囲にわたって調べてきました。これを使用している大規模なサイトの数人を知っています。彼らはいくつかの頑丈なHPCアプリケーションの生産でそれを使用します。
GlusterFSは私にとって理想的なソリューションのように思えます。 Glusterをセットアップするのに多大な労力を費やすと主張する人にとって、私は彼がおそらく一度も試したことがないと言わざるを得ません。 Gluster 3.2以降、設定ユーティリティはかなりすばらしく、glusterボリュームを上げてネットワークで共有するには、2つまたは3つのコマンドが必要です。 Glusterボリュームのマウントも同様に簡単です。
プラス面では、NFSよりもはるかに柔軟性が高くなります。ストライプ化、再複製、地理的複製を行い、もちろんPOSIXに準拠しています。 HekaFSと呼ばれる拡張機能があり、SSLおよびより高度な認証メカニズムも追加されます。これはおそらくクラウドコンピューティングにとって興味深いものです。また、スケーリングします! F/OSSであり、最近Glusterを購入したRedHatによって開発されています。
Lustreを使用する場合、サーバーに特別なカーネルを用意する必要があります。サーバーはサーバーとしてのみ機能し、他には何もありません。
奇妙なことに、最も正解はNFSです。 AmazonのクラウドではNFSを使用しています。一部のファイルシステムと同じように拡張されない可能性がありますが、単純さは見落としてはなりません。単一の名前空間は、実装するのに必要な努力に見合うだけの価値はないでしょう。
XtreemFS はあなたのためのソリューションかもしれません。インストールと設定はかなり簡単で、Ubuntu用のパッケージもあります。
MooseFS (分散ファイルシステム)は要件に適合します。それはスケーラブルであり、Ubuntuでうまく動作します。 buntuの公式にサポートされているリポジトリからMooseFSをインストール/更新する方法 を参照することも役立ちます。
ある種の共有ファイルシステムを仮想化環境の背後に置くことはかなり一般的です。達成しようとしていることに応じて、選択肢はたくさんあります。
最も単純なソリューションはおそらくNFSです。これは、実行しているディストリビューションによってネイティブでサポートされるためです。 NFSは、仮想化バックエンドファイルシステムとして十分に機能しますが、これが最速になるわけではありません。
RedHat(または派生)クラスターを実行している場合は、RedHatのクラスターファイルシステムであるGFS2をすぐにサポートできます。これは数百のノードまでスケールアップしませんが、小さいクラスターには問題ありません。
さらに、Lustre、Glusterfs、GPFSなどの範囲に入るようになっています。これらはすべて高性能の並列ファイルシステムですが、ここで説明する他のオプションよりも、設定にかなり多くの作業が必要です。大規模な環境の場合は、一見の価値があります。
MogileFSを見たことがありますか? http://danga.com/mogilefs/
これは、従来の意味でのファイルシステムではありませんが、ファイルデータをクラスター全体に分散させるのに適しています(レプリケーションと冗長性を考慮に入れて)。
Webアプリケーションのファイルを提供する場合は、ファイルを提供するための何かが必要になります。 PHPスクリプトは、HTTPリクエストを検索キーとして使用して、Mogile FSで必要なファイルを見つけるためのスクリプトです。次に、ファイルの内容をバッファーに読み込んでecho /印刷する。
MogileFSはすでにかなり高速ですが、mogileFSをmemcacheと組み合わせて、最も一般的に使用されるファイルへのアクセスを高速化できます。
nFSが最良の選択肢であるという点で、@ larsksに同意します。 iSCSIターゲットのセットアップ、NFS、完了。これは約5〜10ノードにスケーリングされます。 I/O、ネットワーク機能などに基づくYMMV(または、マルチパスI/Oサポートを備えたiSCSIをセットアップします)。
20以上のノードが必要な場合は、 Ceph を調査することをお勧めします。 Lustreは有望で安定していますが、(F/OSS)Oracle製品であり、私はOracleに対して個人的に嫌いです。 :)
Cephも非常にアクティブです。最新のリリースは5日前です。
何をしているのかわかりませんが、これは CouchDB の潜在的に興味深いアプリケーションのようです。
PVFS2 を試すことができます。 Lustreよりも設定がはるかに簡単で、一般にGlusterよりも高速です。