[This is written in Japanese, please look at OVERVIEW.en for English version.]

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

● Gfarm ファイルシステムについて
=================================

Gfarm ファイルシステムは，ネットワークで接続された PC のローカル・スト
レージを束ねて構成する分散ファイルシステムです．LAN に接続された複数の
PC，単独の PC クラスタ，広域の複数の PC クラスタなどで構成され，大規模，
高性能な共有ファイルシステムとして利用することができます．

Gfarm ファイルシステムは，ファイル複製をうまく活用して NFS や AFS のよ
うなネットワーク共有ファイルシステムでしばしば問題となる，アクセス集中
によるアクセス性能の低下を防止します．また，ディスク，ネットワークの障
害時，災害時でのファイル・アクセスを可能とします．

Gfarm でユニークな点は，ファイルシステムノードが同時に Gfarm ファイルシ
ステムを利用するクライアントにもなれることです．ファイルシステムノード
による Gfarm ファイルシステムの分散アクセスにより，超スケーラブルなアク
セス性能を実現します．

Gfarm ファイルシステムの詳細は，以下の論文を参照してください．

[1] 建部 修見，森田 洋平，松岡 聡，関口 智嗣，曽田 哲之，
   「ペタバイトスケールデータインテンシブコンピューティングのための 
     Grid Datafarm アーキテクチャ」，
    情報処理学会論文誌：ハイパフォーマンスコンピューティングシステム，
    情報処理学会，Vol.43，No.SIG 6 (HPS 5)，pp.184-195，2002 年
    http://id.nii.ac.jp/1001/00017838/

[2] Osamu Tatebe, Kohei Hiraga, Noriyuki Soda,
    "Gfarm Grid File System",
    New Generation Computing, Ohmsha, Ltd. and Springer,
    Vol.28, No.3, pp.257-275, DOI: 10.1007/s00354-009-0089-5, 2010
    https://doi.org/10.1007/s00354-009-0089-5

[3] Osamu Tatebe, Shukuko Moriwake, Yoshihiro Oyama,
    "Gfarm/BB - Gfarm file system for node-local burst buffer",
    Journal of Computer Science and Technology,
    Vol.35, Issue 1, pp.61-71, 2020
    https://doi.org/10.1007/s11390-020-9803-z

● Gfarm ファイルシステムの利用手段
===================================

Gfarm ファイルシステムは，次の方法で利用することができます．

・Gfarm コマンドや，Gfarm 並列入出力 API
  複製機能や，ファイルシステムノード管理機能など，Gfarm 特有の機能にア
  クセスすることができます．

・GfarmFS-FUSE (gfarm2fs)
  FUSE (http://fuse.sourceforge.net/) の機能を利用して，Linux クライ
  アントから，Gfarm ファイルシステムをマウントします．
  既存のプログラムから完全に透過的にアクセスすることができます．

・Gfarm Samba plugin
  Samba サーバが Gfarm ファイルシステムをアクセスするためのモジュール
  です．これより Windowsクライアントなどからファイル共有機能を利用して
  Gfarm ファイルシステムをアクセスすることが可能になります．

・Gfarm Hadoop plugin
  Hadoop が Gfarm ファイルシステムをアクセスするためのモジュールで
  す．Hadoop MapReduce で Gfarm URL を利用することにより，Gfarm ファイ
  ルシステムをアクセスすることが可能になります．

・Gfarm GridFTP DSI
  Globus GridFTP サーバが Gfarm ファイルシステムをアクセスするためのモ
  ジュールです．GridFTP クライアントで Gfarm ファイルシステムをアクセ
  スが可能になります．

● Gfarm ファイルシステムを構成するホストの種類
===============================================

Gfarm ファイルシステムは，下記の種類のホストから構成されます．

・クライアント

  Gfarm ファイルシステムを利用するホストです．

・ファイルシステムノード

  Gfarm ファイルシステムのデータ記憶領域を提供するホスト群です．通常，
  ファイルシステムノードからも Gfarm ファイルシステムをアクセスするため，
  同時にクライアントにもなります．
  広域に存在する数千ノード，数万ノードも想定されています．それぞれのノー
  ド上では I/O デーモンの gfsd が走ります．

・メタデータサーバ

  Gfarm ファイルシステムのメタデータを管理するホストです．ホスト上では 
  メタデータサーバの gfmd と，LDAP サーバ(slapd)，PostgreSQL サーバ
  (postmaster) などのバックエンド・データベースが走ります．

上記3種類は，必ずしも別のホストで動かす必要はありません．すなわち，もし
利用可能なホストの数が限られているのであれば，同一のホストを，これらの
用途で利用することができます．

Gfarm ファイルシステムでは，ファイルは任意のファイルシステムノードに配
置されます．また，ファイルは複製され，異るノードに配置されます．

Gfarm では，

・ファイルが格納されているファイルシステムノードで処理する

・ファイル集合の構成ファイルが格納されているファイルシステムノードで並
  列処理する

といった並列分散処理を支援します．この「なるべくファイルの存在するノー
ドで処理する」という処理方式により，高いファイル I/O 性能と，高速なデー
タ処理が実現されます．

● Gfarm ソフトウェアの構造
===========================

Gfarm system は，下記のソフトウェアからなります．

・libgfarm.a ライブラリ

  Gfarm ファイルシステムをアクセスするためにアプリケーション・プログラ
  ムにリンクされるライブラリです．Gfarm ファイルシステムのライブラリ・
  インタフェースや，ユーティリティ関数からなります．

・gfmd - Gfarm メタデータサーバ

  メタデータサーバ・マシン上で動作するデーモンプログラムです．
  どのファイルがどこに格納されているかなどのファイルシステムメタデータを
  保持しています．gfmd は，メモリ上にメタデータを保持しますが，終了す
  るときに備え，PostgreSQL サーバ ないし OpenLDAP サーバにもデータを格
  納します．

・gfsd - Gfarm ファイルシステム・デーモン

  ファイルシステムノード上の全ホストで動作するデーモンプログラムです．
  Gfarm ファイルの実データへアクセスを提供します．
  ファイルシステムノードのメタデータ情報の登録や，gfsd の動作状態の
  検査には，gfhost コマンドを用います．

・Gfarm コマンドツール

  gfls, gfrm, gfwhere, gfrep などのファイルシステムコマンド，gfreg,
  gfexport などのファイル管理コマンド，およびファイルシステムノード管
  理コマンド gfhost，認証キー管理ツール gfkey などからなります．
  
● ユーザ認証について
=====================

gfmd および gfsd は，現在下記の認証方法をサポートしています．

Gfarm-FAQ.ja のセキュリティの項も参照してください．

1. sharedsecret
  ホームディレクトリに gfarm ソフトウェアが自動的に生成する共有鍵
  ~/.gfarm_shared_key を用いて認証を行ないます。
  Firewall で守られた環境に適しています．
  NFS などでホームディレクトリを共有している環境で簡易的に運用する
  場合に向いています．

2. gsi
  GSI, すなわち Grid Security Infrastructure 方式です．
  PKI 証明書を用いて公開鍵認証を行ないます．
  また，これを用いた場合，通信内容の暗号化も行ないます．
  Internet での利用に適した方式です．
  詳しくは下記の Globus プロジェクトのページを参照してください。
	http://www.globus.org/security/overview.html

3. gsi_auth
  認証には GSI を用いますが，その後の通信には単なる TCP コネクションを
  用います．
  Firewall で守られた環境に適しています．
