概要
Gfarm(ジーファーム)は、2000年頃から研究開発が続けられている広域分散ファイルシステムです。複数のPCのローカルストレージや、広域に存在する複数のPCクラスタを束ねて、大規模かつ高性能な共有ファイルシステムとして機能します。
利用者は、データが実際にどこに格納されているかを意識することなく、一つの仮想的なディレクトリ階層を通じてデータにアクセスできます。この仕組みにより、物理学、天文学、生命科学といった分野で、テラバイトやペタバイトといった非常に大きなデータセットを効率的に処理・共有するニーズに応えています。
Gfarmは、研究を続けておりソースコードがオープンとなっているため、透明性と安心感が確保されています。NPO法人つくばOSS技術支援センターは、このGfarmファイルシステムを中心とする日本発OSSの技術支援や高度な保守・構築支援、技術情報の共有を推進しています。
Gfarmのシステム構成(3つのホスト)
Gfarmファイルシステムは主に以下の3種類のホスト(コンピュータ)で構成されますが、利用可能なホスト数が限られていれば、同一のホストで複数の役割を果たすことも可能です。
- クライアント(Client) Gfarmファイルシステムを利用するホストです。
- ファイルシステムノード(File system node) Gfarmファイルシステムの実データ記憶領域を提供するホスト群です。広域に存在する数千、数万ノードでの構成も想定されており、各ノードでI/Oデーモンであるgfsdが動作します。これらのノードは、通常、Gfarmを利用するクライアントの役割も同時に果たします。
- メタデータサーバ(Metadata server) Gfarmファイルシステムのメタデータ(どのファイルがどこに格納されているかなどの情報)を管理するホストです。gfmdというメタデータサーバのデーモンと、PostgreSQLなどのバックエンド・データベースが動作します。
特徴・メリット
Gfarmファイルシステムは「どこからでもアクセスできる、巨大で壊れにくいデータ保管庫」のようなものです。大規模データを取り扱う研究者やシステムの安定運用を重視するIT管理者など、多様なターゲットのニーズを満たすために独自の工夫が施されています。
1データが消えない安心
大切なデータは複数の場所に複製され、災害などにも強い。
データは一か所だけに保存されるのではなく、離れた複数の場所に複製されます。例えば、スーパーコンピューター向けの「HPCI共用ストレージ」では、千葉県の柏と兵庫県の神戸という二つの場所に、それぞれ100ペタバイト(非常に大きなデータ量)のファイルを複製して置いています。これにより、仮にどちらか一方の拠点で問題が起きても、もう一方からデータにアクセスし続けることができるため、システムが止まることがありません。
2無限に広がる可能性
データの量が増えても、システムを止めずに拡張できる。
システムを止めることなく、ストレージを増減させることができます。これによりデータの保存容量や処理能力を必要に応じて拡大・縮小することができます。また、データの重要性、アクセス頻度に応じてデータの複製数、複製配置場所を自由に設定することができ、データアクセスの集中も回避可能です。
3どこからでも安全にアクセス
世界中どこからでも、まるで自分のパソコンにあるかのようにデータを使える。
普通のファイルシステムとは異なり、Gfarmはインターネットを使って、遠く離れた場所からでも安全にファイルにアクセスできるのが最大の特徴です。クラウドストレージのように、どこからでも自分のファイルにアクセスできます。
4データが壊れない保証
目に見えないデータの破損(サイレントデータ障害)を自動で検知し、防ぐことができる。
データの完全性(データが壊れていないこと)を保証する機能です。これにより、「サイレントデータ障害」という、エラー表示がないのにデータがこっそり壊れてしまうような問題を発見し、防ぐことができます。ユーザーが意図せず壊れたデータにアクセスしてしまうことを防ぎ、システムが自動的にそのような不具合に対応します。
他社との違い
- 国産のファイルシステムで、ソースコードがオープンとなっており安心です。またHPCI共用ストレージとJLDGにおいて10年以上の稼働実績があり、必要な機能が持続的に開発されているため幅広い要求に対応可能です。サイレントデータ障害に対応し、これまで数多くの破損データの自動検知、自動修復を行ってきました。
活用事例
スーパーコンピューター「富岳」でのデータ活用や、最先端の研究(素粒子、天文学など)で使われています。
技術・開発
Gfarmは安全なOAuth/OIDC認証や小ファイルまとめ転送機能「Gfptar」、Nextcloud対応で利便性を高めています。
導入・設定
Gfarmを導入し、大規模な研究データインフラを構築するには、メタデータサーバやファイルシステムノードなどの設定が必要です。Gfarmファイルシステムは、クライアント、ファイルシステムノード、メタデータサーバといったホスト群から構成されており、詳細は「インストール」 および「セットアップマニュアル」 に記載されています。これらのマニュアルは、NPO法人つくばOSS技術支援センターの関連コミュニティのGitHubリポジトリ等で参照可能です。
設定の基本的な流れ
導入・設定作業は、Gfarmの管理用コマンドや設定ファイルを用いて行います。
- 1. メタデータサーバの初期設定
-
- 管理者のユーザー名を決定し、config-gfarmコマンド(ルート権限)で設定を行います。
- この設定により、バックエンドDB(例: PostgreSQL)の設定と起動、設定ファイル(/etc/gfarm2.conf, /etc/gfmd.conf)の作成、そしてメタデータサーバgfmdの起動が行われます。
- 2. 認証方式の設定
- ファイルシステムノードの認証のために_gfarmfsユーザを作成し、サーバ証明書を設置します。
- 3. 自動起動の設定
- メタデータサーバ(gfmd)とバックエンドDB(例:gfarm-pgsql)を自動的に起動する設定を行います。
ソースコード
以下のより各種ソースコードを確認することができます。ソースコードの遷移先は「GitHub」になります。
- Gfarmファイルシステム
- Gfarmファイルシステムのサーバとクライアント
- Gfarm2fs
- Gfarmファイルシステムをマウントするためのプログラム
- Nextcloud-Gfarm
- Gfarm外部ストレージをサポートするNextcloudコンテナ
- Gfarm-hadoop
- HadoopでGfarmを利用するためのプラグイン
- Gfarm-samba
- WindowsクライアントからGfarmを利用するためのSambaプラグイン
- Gfarm-mpiio
- MPI-IOでGfarmを利用するためのMPICH, MVAPICH用プラグイン
- Gfarm-gridftp-dsi
- GridFTPサーバ用プラグイン
- Gfarm-zabbix
- Gfarmの障害監視のためのZabbixプラグイン
ドキュメント
サポート
Gfarmファイルシステムを中心とする日本発のオープンソースソフトウェア(OSS)の技術支援を行うために発足し、高度な保守・構築支援、技術情報の共有を行っています。詳しくは「入会・サポート」をご確認ください。
よくあるご質問
一般
- Gfarmはどんな時に役立ちますか?
- 大事なデータを安全に保存できます。大量のデータをみんなで共有したいなど様々な要求にこたえます。
- 個人でも使えますか?
- セキュリティは大丈夫ですか?
- データの容量はどれくらい増やせますか?
- データは壊れませんか?
- サポートはありますか?
- オープンソースとはどういう意味ですか?
- Gfarm のライセンスは何ですか?
- Gfarm とは何ですか?
- Gfarm はどこからダウンロードできますか?
- メーリングリストはありますか?
技術情報
- gfmd は、どの程度のメモリを消費しますか?
- gfmd を実行するマシンは、どの程度のディスク消費しますか?
- gfmd が利用するディスクリプタ数はどの程度を想定すべきですか?
セキュリティ
- Gfarm は firewall に守られていない環境で安全に運用できますか?
- 認証方式の違いは?
トラブル・シューティング
- ファイルシステムノード、メタサーバに接続できません。
- ファイルアクセス時、ファイル複製作成時などに認証エラーが起きてしまいます。あるいは、no filesystem node というエラーが発生してしまいます。
- ファイルシステムノードのディスクがクラッシュしてしまいました。どうすればいいでしょうか?
- ファイルの更新時刻がおかしいようです。
- gfmd や gfsd が異常終了した際、どうすればコアファイルを回収できますか?
- InfiniBand があるのにRDMAができません。