広域ファイルシステム、Gfarm
Gfarm広域ファイルシステムの概要
Gfarm広域ファイルシステムは、オープンソースで研究開発が進められているファイルシステムです。どこからでも高速でアクセス可能な、広域の共有ファイルシステムの開発が目標です。
ファイルは実際にはさまざまな場所に格納されますが、利用者はその格納場所を意識することなく仮想的なディレクトリ階層によりアクセスすることができます。
複製管理をファイルシステムで行い、アクセスの局所性を利用するところに特徴があります。例えば、東京と大阪でファイル共有を行う場合、ファイル複製を東京と大阪に作成し、東京の利用者は東京のファイル複製、大阪の利用者は大阪のファイル複製にアクセスします。これにより、広域ネットワークの遅延やバンド幅に制限されることなく、効率的にアクセスすることができます。Gfarmファイルシステムのイメージを図1に示します。
Gfarm広域ファイルシステムでは、広域環境において効率的にファイル共有するための工夫がいろいろなされています。本記事では、その工夫についていくつか紹介し、そしてソフトウエアの構築と導入方法を説明します。
アクセス局所性の利用とアクセス集中回避
Gfarmファイルシステムでは、なるべく近くてアクセスされていないファイルにアクセスすることにより、ファイルアクセスの効率をあげています。
なるべく近いファイルを選択するためには、ネットワーク上の距離を知る必要があります。Gfarmでは、各クライアントがそれぞれのファイルを格納するノードに対するRTT(Round Trip Time、ネットワークの往復遅延時間)を実行時に計測します。
また、なるべくアクセスされていないファイルを選択するために、定期的にファイルを格納するノードのCPU負荷情報を収集します。この情報は、全クライアントで共有します。
ファイルの複製は、ファイル参照時の負荷分散、遠隔からの低遅延、高バンド幅のアクセスおよび耐故障性のために利用されます。Gfarmでは、任意のファイルの複製を任意の数、任意の場所に作成可能なため、ディザスターリカバリーやホットファイルのアクセス集中回避などさまざまな要求に応じることができます。
なお、ファイル複製は、ファイル参照時に必要に応じて作成することもできます。Gfarmではオンデマンドファイル複製作成として実装されています。
ファイルの更新があった場合も複製間の一貫性は保たれます。ただし、今のところ無効化ベースの方式を用いているため、更新された複製以外の複製は消えてしまうので注意が必要です。
続いて、ユーザー管理やアクセス制御、Gfarmの構成について解説します。