web-dev-qa-db-ja.com

巨大なファイルシステム?

1台に100台のマシン(それぞれ2TBのハードドライブを搭載)があり、すべてがネットワークに接続されているとします。

この結合された200TBのディスクスペースを1つのフォルダーに統合する方法(Linuxの場合)はありますか?ネットワーク内のすべてのマシン間でNFSを使用して共有できますか?

このルートを進むと、すべてのマシンが同じフォルダーに対して読み取り/書き込みを行うことができるようになり、このようにして、I/Oがマシン間で均等に分散されます。数百のTBのデータを格納するために大きなファイルシステムが必要な場合、これは良い考えですか?(注:データはそれぞれサイズが約500GBの多数の小さなファイルに分割されます)。

それを実現する既製のソリューション(できればオープンソースのソリューション)はありますか?

6
user76976

頭に浮かぶ2つのオプションは、 GlusterFSHadoop HDFS です。

7
bosmacs

IBMの [〜#〜] gpfs​​ [〜#〜] これを行うことができます(注:オープンソースではありません)。

GPFSを使用すると、任意のタイプのブロック・ストレージ(ローカル、またはiSCSIまたはFCを介して提示されるものなど)で構成されるネットワーク共有ディスク(NSD)を作成できます。 100台のサーバーにまたがる各2TBハードドライブにまたがるNSDで構成されるGPFSファイルシステム(デバイス)を作成することは完全に可能です。

クレイジーなマーケティングの数字をすべて思い出すつもりはありませんが、GPFSは、非常に大量のデータと信じられないほど高い並列I/Oをサポートするため、「トップ500」リストのスーパーコンピューターで最も人気のあるクラスター化ファイルシステムの1つです。 ウィキペディア いくつかの数字があります。

GPFSは、ファイルシステム全体でデータおよびメタデータブロックを複製できます。 「障害グループ」を定義するNSDを作成するときは、GPFSがブロックレプリカを別の場所に書き込むようにします(つまり、ブロックの両方のコピーを同じ障害グループに入れないようにします)。 「ストレージプール」の概念を使用してストレージを階層化することもできます。これにより、先週アクセスしたファイルが私のFusion IOまたはSSDドライブでライブになりますが、その後ブロックをより安価なストレージに移動します。

クラスタ内のすべてのノードは、ファイルシステム全体が各ノードに対してローカルであるため、マウントしてアクセスできるデバイス(/ dev/gpfs​​0など)にアクセスできます。あなたはNFSについて言及しました。ただし、このモデルでは、データのコンシューマー/クライアントとして機能する100ノード・クラスター外のシステムがあり、それらをGPFSクライアント/ NSDサーバーにしたくない場合を除いて、追加のプロトコルを導入する必要はありません( GPFSカーネルモジュール)。ただし、NFSを介してGPFSファイルシステムを簡単にエクスポートでき、必要に応じてClustered-NFS(CNFS)を活用することもできます。

  • 私はIBMで働いていませんが、GPFSで少し遊んだことがあり、気に入っています。
4
loopforever

私はまだそれで遊ぶ機会がなかったので、完全なレビューをすることはできませんが、Openstackクラウドのものを見てください-> http://www.openstack.org/projects/storage /

3
Benjamin T

おそらく [〜#〜] pvfs [〜#〜] のようなものが必要です。

2
ninjalj

ウィキペディアには 全リスト があります。

2
cmcginty

Cephは別のものですが、まだ製品の準備はできていません。 http://ceph.newdream.net/wiki/Main_Page

1
Ronald Pottol