2011年10月14日金曜日

GlusterFS を取り込み、また一歩RHELが進化した


このエントリーをはてなブックマークに追加


ちょっと前のニュースになってしまいましたが非常に興味を引かれたので紹介。

米国時間 2011/10/4
Red Hat が Gluster を1億3,600万ドルで買収
米Red Hat、分散ストレージ技術のGlusterを買収


GlusterFSとは以下のようなもの。Wikiより抜粋

GlusterFSは、スケーラブルなストレージのための汎用分散ファイルシステムの1つ。InfiniBandのRDMAやTCP/IPインターコネクトなどの各種ストレージを集約し、大規模並列ネットワークファイルシステムを構築できる。GlusterFSはユーザー空間で構築されており、性能を低下させることがない。クラウドコンピューティング、生命科学、記録保存用など様々な応用がなされている。

Global File System(GFS/GFS2) との違いが気になるところですが、上記記事で以下のように紹介されています。

Red Hat社は2003年にクラスターストレージ技術「Global File System」(GFS)のSistinaを買収しているが、GFSはローカルネットワーク上でストレージを共有するのに最適化しているのに対しGlusterFSはスケーラブルな分散を目的としており、「役割が違い、補完的」とチェ氏は説明した。また、EMC社が2010年にスケールアウトNAS製品のIsilon社を買収しているが、「GlusterFSはコモデティサーバーを使ったスケーラブルなストレージで、新しい市場を持つユニークなポジションにいる」とチェ氏は語った。

GFSはいわゆるクラスタファイルシステムでOracleRAC等に代表される、複数ノードからの同時アクセスを実現するためのファイルシステムです。GFSは分散ロックマネージャ(DLM)によるノードをまたいだ排他処理に支えられていますが、この仕組みはデータ量が増えI/O量が増えるとノード間のロックを共有するためのメッセージ送受信が増えパフォーマンスが大幅に劣化してしまいます。そのためGFSでは16ノード、100TBまでしか扱えませんでした。

その他のファイルシステムとしてはRHEL6標準のext4が最大25TB、アドオンであるScalable File System(xfs) が100TBと今までのRHELでは100TBというのがひとつの壁となっていました。

しかし今回GlusterFSを取り込むことで、これまでの制限を一気に飛び越えPBクラスまでのスケールが可能になりました。ドキュメントを読む限りではGlusterFSの特徴としてはDLMのようなロックを同期する機構を持たず、ハッシュテーブルによるシンプルな分散を行なっているようです。この仕組みはOpenStack Object Storage(Swift)も採用しており、きめ細かな制御ができなくなる代わりにクラスタをリニアにスケールさせられるメリットがあります(GlusterFSはNFSやCIFSもサポートしているっぽいのでSwiftより一歩進んだ仕組みになっていると思います。

昨今流行りのビッグデータは大量に集められたデータやログファイル(細かなファイルの集合体)に対して複数ノードから分散アクセスして計算するようなタイプなのでGlusterFSとは相性がいいことが想像できます。

これからの住み分けとしては、

・小中規模である程度限られたデータを複数ノードで高速に共有する ー> GFS/GFS2
・単一ノードで中規模(100TB)のデータを扱う(アーカイブやバックアップ) → XFS
・大規模(ビックデータ)環境での分散アクセスやHPC ー> GlusterFS

という形に進んでいくのではないかと思います。

今回の買収により、RHELはITインフラを支える基盤ソフトウェアとして低レイヤの機能をひと通り備えたことになります。そしてRHELだけでなくCentOSやScientific Linuxもこの機能を使える事になる(はずです)のでその恩恵はとても大きいです。

今後のRHELはもう少し上のレイヤの機能、例えばDB、バックアップ、ジョブ管理、IaaS管理ソフトウェアのようなものを取り込んで進化していくのではないかと考えています。

RedHatからの公開前にGlusterFSを試したい方はこちらからrpmがDLできるので遊んでみてください。

0 件のコメント:

コメントを投稿