Skip to content

Gfarmファイルシステムとは

Masahiro TANAKA edited this page Apr 12, 2019 · 18 revisions

計算機クラスタの各ノードのローカルストレージを利用して構築するオープンソースの分散ファイルシステムである

リンク

論文

Gfarmファイルシステムの概要

Gfarmファイルシステムの概要

  • メタデータサーバ (MDS)
    • Gfarmファイルシステム全体を管理する計算機サーバ。マスター1台またはマスター+スレーブを設置する。
    • デーモン名: gfmd
    • ファイルシステムの情報を、PostgreSQLまたはLDAPに保存して管理する。
  • ファイルシステムノード (FSN)
    • ファイルの実体を保存する計算機のこと。多数の計算機を用いて分散させることが可能。
    • デーモン名: gfsd
    • Gfarmファイルを保存するスプールとして、ローカルストレージに設定したExt4などのファイルシステムのディレクトリを指定する。
  • クライアント
    • Gfarmファイルシステムにアクセスする計算機のこと。
    • gfls など、Gfarmファイルシステムにアクセスするコマンド群が用意されている。
    • gfarm2fs は、FUSEの仕組みを利用して、ユーザごとに Gfarmファイルシステムをマウントするコマンドである。これにより ls などのコマンド、C言語の stdio など、標準のI/O操作が可能である。

(これらの役割を1台の計算機が兼ねることも可能)

Gfarmを使うメリット

  • 耐障害性
    • ファイルを複数のノードに自動複製しておけば、ファイルシステムノードがストレージだけでなく計算機ごと1台故障しても、運用を継続できる。
    • メタデータサーバのスレーブを設置しておけば、マスターが故障しても、スレーブに切り替えて運用を継続できる。
  • スケールする並列書込み性能、並列読出し性能
    • NFSのファイルを並列に読み書きする場合、合計の転送速度(バイト/秒)はそのストレージの性能を超えることができず、結果的に個々のアクセス性能が低下する。
    • Gfarmファイルシステムのファイルを並列に読み書きする場合、アクセスがファイルシステムノードに分散していれば、台数を増やすことにより合計の転送速度を上げることが可能。(スケールアウト型のファイルシステム)
    • さらに、あるプロセスがあるファイルを読み書きする場合、プロセス実行ノードとファイル保存ノードが一致していれば、ネットワークを経由しないローカルアクセスとなり、スケールアウトの効果がより大きくなる。このようなスケジューリングを行うためのツールとしてPwrakeがある。
  • 遠隔地間のファイル共有
    • インターネットを経由した遠隔地のクラスタにまたがって Gfarmファイルシステムを設置することにより、遠隔地間でのファイルの共有が可能。
  • ユーザ権限でファイルシステムを構築可能 (構築方法
    • ルート権限がないクラスタでも、ローカルストレージに書き込み権限があれば、Gfarmファイルシステムの構築が可能。
    • 使い方に慣れるための試用、性能試験などの時に便利。

注意事項

  • ネット上で Gfarm version 1 の情報を見かけることがあるが、現在の Gfarm version 2 (2007年11月~)とは仕組みが異なり、当てはまらない場合がある。
  • Gfarmの昔のウェブサイト datafarm.apgrid.org は、2015年に閉鎖された。