GFARM2.CONF(5)

NAME
gfarm2.conf - Gfarm設定ファイル

DESCRIPTION

gfarm2.confファイルは、gfarmプログラムの設定ファイルです。 サーバー・プロセスであるgfsdは、デフォルトでは、 この%%SYSCONFDIR%%/gfarm2.confを設定ファイルとして参照します。 メタデータサーバー・プロセスであるgfmdは、%%SYSCONFDIR%%/gfmd.confを 読み込みます。gfmd.confの形式は、gfarm2.confと同一です。 なお、設定内容が読み込まれるのは起動時だけなので、 設定内容を変更した場合、サーバーを再起動する必要があります。

アプリケーションプログラムは、環境変数GFARM_CONFIG_FILEで 指定したファイルと、%%SYSCONFDIR%%/gfarm2.confを、設定ファイル として参照します。この二つのファイルでは、環境変数GFARM_CONFIG_FILEで 指定したファイルの設定の方が先に読み込まれます。 どちらの設定ファイルも、同一の文法で記述します。 同一の指定文が複数あった場合には、先に指定されていた方が優先されます。 環境変数GFARM_CONFIG_FILEが設定されてない場合、代わりに ユーザのホームディレクトリにある.gfarm2rcファイルを使用します。

gfarm2.confは、一行に一文の形式で設定します。 ただし、行末に文字``\''を記述することによって、行を継続させることが できます。また、文字``#''から行末までは、コメントとして扱われ、無視 されます。

ホスト指定

引数として、ホスト指定を記述できる文がいくつかありますが、 この場合、ホスト指定には、下記のいずれかを記述できます。

III.JJJ.KKK.LLL
    "."で区切られた0〜255までの数字4つで、IPアドレスを指定します。

III.JJJ.KKK.LLL/MM
    IPアドレスと、"/"で区切られた0〜31までの数字で、ネットワークを 指定します。"/"以降の数字はnetmaskのビット長です。

domain.name
    ホスト名をドメイン名で指定します。

.domain.name
    ドメイン名の先頭が"."ではじまる場合、このドメイン名に所属する全ての ホストを意味します。

*
    "*"と記述されている場合、全てのホストを意味します。

LISTENER
    全て大文字で"LISTENER"と記述すると、通信する相手に関係なく、 サーバー側(着呼側)のソケットを意味します。

文

文には、下記の種類があります。

spool gfsdスプール・ディレクトリ
    gfsdが、gfarmファイルの実体を保持するディレクトリ名を 指定します。 複数回（最大5回まで）指定することで複数のディレクトリを指定可能です。

    例:

        	spool /var/spool/gfarm

spool_server_listen_address IPアドレス
    gfsdがTCPおよびUDPの要求を受け付けるIPアドレスを指定します。 省略時は、そのホストの全てのIPアドレスで受け付けます。 このオプションは、一つのノードで複数のスプールを提供する場合に、 それぞれのスプールごとに、別々のIPアドレスを使ってgfsdを起動する ために用います。

    例:

        	spool_server_listen_address 192.168.121.1

spool_server_listen_backlog 数
    gfsd が listen(2) システムコールの第二引数に渡すバックログ・パラメータの数を指定します。 デフォルト値は、<sys/socket.h> に SOMAXCONN 定数が定義されているOSではその値 (OSに依存しますが、典型的な値は 128)、定義されてないOSでは 5 となります。

    クライアント数の多い環境では、システム制限値を上げた上で、この値を増やしておくことを推奨します。

    この文はgfarm2.confのみで有効であり、gfmd.confでは無視されます。

    例:

        	spool_server_listen_backlog 128

spool_server_cred_type cred_type
    GSI認証において、gfsdが用いる証明書の種類を指定します。 sharedsecret利用時には、この指定は単に無視されます。

    サーバ側でこの指定を省略した場合、サーバをroot権限で起動した場合は ホスト証明書を用います。またサーバを一般ユーザ権限で起動した場合は ユーザ証明書を用います。

    クライアント側でこの指定を省略した場合、サーバがホスト証明書を利用している と仮定してサーバ認証を行います。このためサーバをクライアントと同じユーザ 権限で起動している場合、クライアント側では、下記の一行を設定して おく必要があります。

    例:

        	spool_server_cred_type self

    指定可能なcred_typeとしては、 「self」、 「host」、「user」、 「mechanism-specific」があり、 spool_server_cred_serviceおよび spool_server_cred_nameと組み合わせて 下記のように用います。

    self
        そのユーザが現在所持しているユーザ証明書を用いることを示します。 この指定を利用する際には、 spool_server_cred_serviceおよび spool_server_cred_nameの 指定を行ってはいけません。

    host
        ホスト証明書あるいはサービス証明書を用いることを示します。 サービス証明書を用いる場合、そのサービスの名前を spool_server_cred_serviceで指定します。 サービス名に「host」を指定した場合、 ファイル``/etc/grid-security/hostcert.pem''に あるホスト証明書を用います。 それ以外のサービス名を指定した場合、 ファイル``/etc/grid-security/サービス/サービスcert.pem'' にあるサービス証明書を用います。 サービス名を省略した場合、「host」が指定されたとみなします。 ホスト証明書およびサービス証明書の場合、証明書のCommon Name欄のみを 比較します。Common Nameは、「CN=サービス名/ホスト名」の形式である必要が あります。また、ホスト名は、gfhostコマンドで指定した 正式名と正確に一致している必要があります。ホスト別名は許されません。

        これは、GSSAPI (RFC2743/RFC2744)のGSS_C_NT_HOSTBASED_SERVICEに 対応する機能です。

        例:

            	spool_server_cred_type host
            	spool_server_cred_service host

    user
        ユーザ証明書を用いることを示します。 ユーザのアカウント名をspool_server_cred_nameで指定します。 アカウント名を省略した場合には、そのコマンドを起動したユーザ名が使われます。 この指定を利用する際には、spool_server_cred_serviceの 指定を行ってはいけません。

        ユーザ名と証明書のDistinguished Nameの対応をとるため、 ``/etc/grid-security/grid-mapfile''を用います。 このため、このファイルが存在しなかったり、あるいはこのファイルに登録 されてないユーザは、この機能を用いることができません。

        これは、GSSAPI (RFC2743/RFC2744)のGSS_C_NT_USER_NAMEに対応する機能です。

        例:

            	spool_server_cred_type user
            	spool_server_cred_name guest

    mechanism-specific
        サーバのX.509 Distinguished Nameをspool_server_cred_nameで 直接指定します。 この指定を利用する際には、spool_server_cred_serviceの 指定を行ってはいけません。

        これは、GSSAPI (RFC2743/RFC2744)でName TypeとしてGSS_C_NO_OIDを 指定した場合に対応する機能です。

        例:

            	spool_server_cred_type mechanism-specific
            	spool_server_cred_name "/O=Grid/O=Globus/OU=example.com/CN=John Smith"

spool_server_cred_service cred_service
    GSI認証において、spool_server_cred_typeとして 「host」を指定している場合に、gfsdが用いるサービス証明書の 種類を指定します。 sharedsecret利用時には、この指定は単に無視されます。 詳しくはspool_server_cred_typeの項を参照してください。

spool_server_cred_name cred_name
    GSI認証において、spool_server_cred_typeで指定した値に 応じて、gfsdが用いる証明書の設定を行います。 sharedsecret利用時には、この指定は単に無視されます。 詳しくはspool_server_cred_typeの項を参照してください。

spool_server_back_channel_rcvbuf_limit サイズ制限値
    gfsd の back channel ソケットの、SO_RCVBUF サイズの上限を指定します。 バッファ長を短くすると，メタデータサーバからの要求が過度に溜らなくなり、 gfsd の back channel 接続が切れてしまう問題を緩和できます。 引数にdisableと指定すると、制限がかからなくなります。 デフォルトの制限値は 4096バイトです。

    この文は gfsd が参照する gfarm2.conf のみで有効であり、 クライアントや gfmd.conf では無視されます。

    例:

        	spool_server_back_channel_rcvbuf_limit 16384

spool_check_level レベル
    gfsd起動時のスプールチェックを有効にします。スプールチェックでは、 メタデータに登録されている情報との一貫性を検査します。レベルはgfsdの-c オプションを指定する数に相当し、"display"は-cオプション、"delete"は-cc オプション、"lost_found"は-cccオプションと同等です。詳細はgfsdの マニュアルページを参照ください。レベル"disable"にすると、スプールチェックを 行いません。デフォルト値は"lost_found"です。

    例:

        	spool_check_level disable

spool_check_parallel 並列度
    gfsd起動時のスプールチェック並列度を数字で設定します。

    デフォルトでは spool_check_parallel_per_capacity を用いて 並列度を自動的に決定します。

    この文はgfsdが参照するgfarm2.confのみで有効です。

    例:

        	spool_check_parallel 16

spool_check_parallel_max 並列度
    spool_check_parallel_per_capacity を用いて並列度を自動的に決定する際の 上限値を指定します。 自動設定の場合にはこの上限よりも大きな並列度にはなりません。 spool_check_parallel で並列度が指定されていた場合は、 こちらの設定は無視されます。

    デフォルトは64です。

    この文はgfsdが参照するgfarm2.confのみで有効です。

    例:

        	spool_check_parallel_max 128

spool_check_parallel_per_capacity バイト数
    gfsd のスプール領域のディスク容量を、この設定値で割った値を、 gfsd起動時のスプールチェック並列度として用います。 ただし、spool_check_parallel で並列度が指定されていた場合は、 こちらの設定は無視されます。 指定はバイト単位で行いますが、数字の末尾に空白を開けずにk/M/G/Tを指定 することで、それぞれ1KiB／1MiB／1GiB／1TiBを単位とする ことができます。

    デフォルトは64TiBです。

    この文はgfsdが参照するgfarm2.confのみで有効です。

    例:

        	spool_check_parallel_per_capacity 10T

spool_check_parallel_step 数
    gfsd起動時のスプールチェック並列処理において、 各プロセスが一度に処理する単位を設定します。 通常、この値を調整する必要はありませんが、 gfmd との間の通信遅延が大きい場合は、この値を大きくすることによって 性能が改善する可能性があります。

    デフォルトは 1 です。

    この文はgfsdが参照するgfarm2.confのみで有効です。

    例:

        	spool_check_parallel_step 16

spool_base_load CPU負荷
    指定されたCPU負荷をgfsdのCPU負荷に加えます。 このオプションはgfsdノード（ファイルシステムノード）でのみ有効です。 デフォルトは0.0です。 このオプションにより、スケジューリングの優先度を変更することができます。

    例:

        	spool_base_load 1.0

spool_digest_error_check 有効性
    digest文によりチェックサム計算が有効となっている場合、 ファイル読込時にチェックサムが計算されます。 チェックサムが異なる場合、つまり、ファイルが損傷している場合は lost+foundディレクトリに移動し、損傷したファイルは自動的に除かれます。 この文でdisableと指定することによって、 この移動を抑制することができます。

    このオプションはgfsdノード（ファイルシステムノード）でのみ有効です。 デフォルトはenableです。

    例:

        	spool_digest_error_check disable

metadb_server_host gfmdホスト名
    gfmdが動作しているホスト名を指定します。

    この設定は必須です。

    例:

        	metadb_server_host ldap.example.com

metadb_server_port gfmdポート番号
    gfmdが利用するTCPポートの番号を指定します。 省略時のデフォルト・ポート番号は601番です。

    例:

        	metadb_server_port 601

metadb_server_cred_type cred_type
    GSI認証において、gfmdが用いる証明書の種類を指定します。 sharedsecret利用時には、この指定は単に無視されます。 設定の意味についてはspool_server_cred_typeの項を 参照してください。

metadb_server_cred_service cred_service
    GSI認証において、metadb_server_cred_typeとして 「host」を指定している場合に、gfmdが用いるサービス証明書の 種類を指定します。 sharedsecret利用時には、この指定は単に無視されます。 設定の意味についてはspool_server_cred_typeの項を 参照してください。

metadb_server_cred_name cred_name
    GSI認証において、metadb_server_cred_typeで指定した値に 応じて、gfmdが用いる証明書の設定を行います。 sharedsecret利用時には、この指定は単に無視されます。 設定の意味についてはspool_server_cred_typeの項を 参照してください。

metadb_server_listen_backlog 数
    gfmd が listen(2) システムコールの第二引数に渡すバックログ・パラメータの数を指定します。 デフォルト値は、<sys/socket.h> に SOMAXCONN 定数が定義されているOSではその値 (OSに依存しますが、典型的な値は 128)、定義されてないOSでは 5 となります。

    この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。

    例:

        	metadb_server_listen_backlog 128

metadb_server_max_descriptors 数
    メタデータサーバgfmd用のディスクリプタ・リミット値を指定します。 省略された場合、OSのハード・リミット値と、131072 の、小さい方の値が 使われます。 大規模な構成では、この値を増やす必要がありますし、 小規模な構成では減らした方が良いでしょう。 この値の計算方法については、Gfarm FAQ を御覧ください。

    この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。

    例:

        	metadb_server_max_descriptors 262144

metadb_server_stack_size バイト数
    メタデータサーバgfmd内の各スレッドが利用するスタックのサイズを 指定します。省略された場合OSのデフォルト値が使われます。 このパラメータは、gfmdの消費する仮想メモリ空間のサイズを節約するために 用います。

    たとえば、CentOS 5/i386の場合、デフォルトのスタックサイズは10 MiBです ので、このパラメータでスタックサイズを256 KiBに抑えると、gfmdのスタック が消費する仮想メモリ空間のサイズを、1/40に減らすことができます。

    この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。

    例:

        	metadb_server_stack_size 262144

metadb_server_thread_pool_size スレッド数
    メタデータサーバgfmdのスレッドプールのスレッド数を指定します。 メタデータサーバノードのコア数くらいに設定すると効果的です。 デフォルト値は16です。

    この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。

    例:

        	metadb_server_thread_pool_size 16

metadb_server_job_queue_length キュー長
    メタデータサーバgfmdのジョブキューのキュー長を指定します。 一度に接続する最大クライアントの数より多い値に設定すると効果的です。

    この値は metadb_server_remover_queue_length + (simultaneous_replication_receivers + 1) * ファイルシステムノード数 よりも大きな値に設定する必要がありますので、 ファイルシステムノード数が 754 を越えた場合には、設定が必須となります。

    デフォルト値は16000です。

    この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。

    例:

        	metadb_server_job_queue_length 21664

metadb_server_remover_queue_length キュー長
    メタデータサーバgfmdが、gfsdへ複製削除要求を送るジョブキューのキュー長を指定します。 metadb_server_job_queue_length よりは少ない値を設定します。 デフォルト値は160です。

    この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。

    例:

        	metadb_server_remover_queue_length 40

metadb_server_remove_scan_log_interval 秒数
    メタデータサーバgfmdの削除キュー処理に関する統計情報ログの、 記録頻度を秒数で指定します。 デフォルト値は3600秒です。

    この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。

    例:

        	metadb_server_remove_scan_log_interval 86400

metadb_server_remove_scan_interval_factor 数字
    メタデータサーバgfmdの削除キュー処理が、 CPU時間をどの程度使用してよいかを調整するパラメータを指定します。 削除キュー処理は、最大でCPU時間の 1 / (metadb_server_remove_scan_interval_factor + 1) を使用することになります。 デフォルト値は5です。

    この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。

    例:

        	metadb_server_remove_scan_interval_factor 2

metadb_server_heartbeat_interval 秒数
    メタデータサーバgfmdが各ファイルシステムサーバgfsd に対し動作確認を行うハートビートの間隔を秒数で指定します。 デフォルト値は180秒です。

    Gfarm-2.3.0まではこの文はgfmd.confのみで有効であり、gfarm2.confでは 無視されていましたが、Gfarm-2.4.0以降はgfsdもこのパラメータを利用し gfmd停止を検知するため、 gfarm2.confとgfmd.confの両方で指定する必要があります。

    例:

        	metadb_server_heartbeat_interval 180

metadb_server_dbq_size キュー長
    メタデータサーバgfmdではメタデータの変更をバックエンドDBに 非同期的に反映しますが，そのキューの長さを指定します。 キュー長を長くすると，バックエンドDBの更新速度に律速されにくくなります。 デフォルト値は65536です。

    この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。

    例:

        	metadb_server_dbq_size 65536

metadb_server_back_channel_sndbuf_limit サイズ制限値
    メタデータサーバが gfsd back channel への接続に用いるソケットの SO_SNDBUF サイズの上限を指定します。 バッファ長を短くすると，メタデータサーバからの要求が過度に溜らなくなり、 gfsd の back channel 接続が切れてしまう問題を緩和できます。 引数にdisableと指定すると、制限がかからなくなります。 デフォルトの制限値は 4096バイトです。

    この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。

    例:

        	metadb_server_back_channel_sndbuf_limit 16384

metadb_server_nfs_root_squash_support 有効性
    enable の場合、gfmd はホームディレクトリの .gfarm_shared_key ファイルを 読む際に、そのホームディレクトリのオーナー権限を用います。 disable の場合、root 権限のままで読みます。

    sharedsecret 認証を行なう Gfarm ユーザーのホームディレクトリを、 no_root_squash エクスポート・オプションなしの NFS を用いて共有している場合、 enable にしておく必要があります。 デフォルトはenableですが、利用環境が許すのであれば disableに変更すると、 gfmdのCPU負荷を若干低減できます。

    この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。

    Example:

        	metadb_server_nfs_root_squash_support disable

ldap_server_host LDAPサーバー・ホスト名
    gfmdのバックエンド・データベースとして LDAPサーバを選択する場合、 LDAPサーバーが動作しているホスト名を指定します。 この文はgfmd.confで用いられ、gfarm2.confでは用いられません。

    例:

        	ldap_server_host ldap.example.com

ldap_server_port LDAPサーバー・ポート番号
    LDAPサーバーが利用するTCPポートの番号を指定します。

    ldap_server_hostを指定する場合には、 この設定は必須です。

    例:

        	ldap_server_port 602

ldap_base_dn LDAP_base_distinguished_name
    LDAPデータベースで保持するデータのキーの根となるノードの 名称、base distinguished nameを指定します。

    ldap_server_hostを指定する場合には、 この設定は必須です。

    例:

        	ldap_base_dn "dc=example, dc=com"

ldap_bind_dn LDAP_bind_distinguished_name
    LDAPデータベースに接続する際の認証に用いる名称を、distinguished nameで指定します。

    例:

        	ldap_bind_dn "cn=gfarmuser, dc=example, dc=com"

ldap_bind_password password
    LDAPデータベースに接続する際の認証パスワードを指定します。

    例:

        	ldap_bind_password "secret-ldap-password"

postgresql_server_host PostgreSQLサーバー・ホスト名
    gfmdのバックエンド・データベースとして PostgreSQLサーバを選択する場合、 PostgreSQLサーバーが動作しているホスト名を指定します。 この文はgfmd.confで用いられ、gfarm2.confでは用いられません。

    例:

        	postgresql_server_host postgresql.example.com

postgresql_server_port PostgreSQLサーバー・ポート番号
    PostgreSQLサーバーが利用するTCPポートの番号を指定します。

    postgresql_server_hostを指定する場合には、 この設定は必須です。

    例:

        	postgresql_server_port 602

postgresql_dbname dbname
    PostgreSQLデータベース名を指定します。

    postgresql_server_hostを指定する場合には、 この設定は必須です。

    例:

        	postgresql_dbname gfarm

postgresql_user user
    PostgreSQLデータベースに接続するデータベース管理下のユーザ名を指定します。

    例:

        	postgresql_user gfarm

postgresql_password password
    PostgreSQLデータベースに接続するデータベース管理下のユーザのパスワードを指定します。

    例:

        	postgresql_password "secret-postgresql-password"

postgresql_conninfo connection_info
    PostgreSQLデータベースに接続するときの接続オプションを指定します。

    例:

        	postgresql_conninfo "sslmode=require connect_timeout=30"

auth 有効性 認証方法 ホスト指定
    この文は、第3引数で指定したホストとの通信に用いる認証方法を設定します。

    第1引数の有効性部には、enableないしdisable キーワードを指定します。 第2引数の認証方法部には、gsi、 gsi_authないしsharedsecret キーワードを指定します。 第3引数には、ホスト指定を記述します。

    この文は複数指定可能です。各認証方法ごとに、先頭から順にホスト指定に 適合するかどうか調べ、有効であるとの指定に適合した場合、その認証方法が 利用候補になります。有効であるとの指定に適合しない場合や、あるいは 有効であるとの指定に適合するよりも前に無効であるとの指定に適合した 場合、その認証方法は、候補になりません。

    この指定は、サーバー側とクライアント側の両方で解釈され、 双方ともで有効になっている認証方法のみが用いられます。

    認証方法が異なるものに関しては、指定の順序は意味がありません。 複数の認証方法が候補となった場合、sharedsecret、 gsi_auth、gsi認証の順序で試みます。

    Gfarmのコンパイル時にglobusとのリンクを指定しなかった場合、 GSIは利用できません。この場合、gsiおよび gsi_auth認証の指定は単に無視されます。

    この設定は必須です。

    例:

        	auth disable sharedsecret 192.168.0.100
        	auth disable sharedsecret 192.168.0.101
        	auth enable sharedsecret 192.168.0.0/24
        	auth enable gsi_auth 10.0.0.0/8
        	auth enable gsi *

    この例では、ホスト192.168.0.100と192.168.0.101の2つのホストを 除いた192.168.0.0/24ネットワークに属すホストには sharedsecretとgsiの両方を、 10.0.0.0/8ネットワークに属すホストにはgsi_authおよび gsiの両方を、 それ以外の全てのホストにはgsi認証のみを試みます。 すなわち、ホスト192.168.0.100と192.168.0.101の2つのホストは、 gsi認証のみを試みることになります。

shared_key_file パス名
    sharedsecret認証に用いる秘密鍵ファイルのパス名を指定します。

digest digestタイプ
    チェックサム計算を有効にし、 digestタイプで指定されたチェックサムを計算します。 digestタイプとしては、チェックサム計算を実行するファイルシステムノード上の OpenSSL ライブラリがサポートしているタイプを、小文字で、 例えば md5 や sha256 のように指定します。 あるいは client_digest_check文でenableを指定して いる場合は、このdigstタイプをクライアント上の OpenSSL ライブラリもサポート している必要があります。

    digestタイプとして disable と指定した場合は、チェックサム計算を抑制します。

    この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。

    注: たとえこの設定でチェックサム計算を有効にしても、 ローカルホストの gfsd が管理するファイル複製にクライアントがアクセスする 場合には、そのままではチェックサムが計算されません。 これは、デフォルト設定だと gfsd のみがチェックサム計算を行なうのに対し、 ローカルアクセスについては、クライアントがファイルを直接読み書きするためです。 ローカルアクセスについてもチェックサム計算を行うためには、 direct_local_access文でdisableを指定して、 ローカルアクセスの場合の直接読み書きを抑制するか、 あるいは client_digest_check文でenableを指定して、 チェックサム計算をクライアント側でも行なうようにする必要があります。

    例:

        	digest md5

directory_quota_count_per_user_limit 数
    一ユーザーあたり作成可能な dirset の最大値を指定します。

    デフォルトは 100 です。

    この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。

    例:

        	directory_quota_count_per_user_limit 1000

directory_quota_check_start_delay 秒
    directory quota の再集計が必要となったときに、 実際に再集計を開始するまでの遅延時間(秒)を指定します。 再集計が複数回必要になった場合、何秒以内であればそれを集約して一回の集計で 済ませるかを設定します。

    デフォルトは60秒です。

    この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。

    例:

        	directory_quota_check_start_delay 120

max_directory_depth 数
    directory の深さとして許される最大値を設定します。 ただし、深さの検査は厳密ではないので、この設定よりも深いディレクトリを 許容する処理もあります。

    デフォルトは100です。

    この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。

    例:

        	max_directory_depth 200

sockopt オプション[=値] [LISTENER | ホスト指定]
    通信socket(2)に対して、setsockopt(2)システムコールを使って ソケット・オプションを指定します。

    第2引数に全て大文字でLISTENERを指定した場合、 サーバー側(着呼側)のソケットに指定するオプションになります。 この場合、通信する相手に関係なく、 一律にソケット・オプションが設定されます。

    第2引数にホスト指定を記述した場合、クライアント側(発呼側)の ソケットに指定するオプションになります。この場合、通信する相手毎に ソケット・オプションを変えることができます。 なお、第2引数に"*"と記述すると、クライアント側(発呼側)の全ての ホストを意味することになり、サーバー側(着呼側)には適用されません。

    第2引数を省略した場合、サーバー側とクライアント側の両方で、 全ての通信相手に対して同じソケット・オプションを設定します。

    指定可能なソケット・オプションには次のものがあります。

    debug。setsockopt(2)システムコールで、SO_DEBUGソケット・オプションを指定します。値を記述する必要はありません。

    keepalive。setsockopt(2)システムコールで、SO_KEEPALIVE ソケット・オプションを指定します。値を記述する必要はありません。

    sndbuf。setsockopt(2)システムコールで、SO_SNDBUF ソケット・オプションを指定します。値の指定が必要です。

    rcvbuf。setsockopt(2)システムコールで、SO_RCVBUF ソケット・オプションを指定します。値の指定が必要です。

    tcp_nodelay。setsockopt(2)システムコールで、TCP_NODELAY ソケット・オプションを指定します。値を記述する必要はありません。

    例:

        	sockopt tcp_nodelay 192.168.0.0/24
        	sockopt sndbuf=1048576 10.0.0.0/8
        	sockopt sndbuf=1048576 LISTENER
        	sockopt rcvbuf=1048576 10.0.0.0/8
        	sockopt rcvbuf=1048576 LISTENER

known_network ホスト指定
    ファイルシステムノードのネットワークを指定します。 本ネットワークは、 ファイルシステムノード選択時のグルーピングに利用されます。 この文で指定したアドレスに適合しないIPアドレスの場合、 IPv4のクラスCネットワークが仮定されます。

    複数のネットワークを指定する場合は、以下のように複数回指定します。

        	known_network 192.168.0.0/25
        	known_network 192.168.0.128/25

network_receive_timeout 秒数
    ネットワークを介したデータ受信のタイムアウト時間を秒単位で指定 します。 デフォルト値は60秒です。 この文は gfarm2.conf および gfmd.conf のいずれにおいても有効です。

    Gfarmクライアントプログラムが指定した時間待ったもの、gfsd から のデータがまったく届かなかった場合は、その gfsd との通信を中止し、処理 を継続させるべく他の gfsd サーバとの通信を試みます。

    gfmd が指定した時間待ったもの、gfsd からデータがまったく 届かなかった場合、その gfsd との通信を中止して、その gfsd はダウンした ものとみなします。

admin_user ユーザ名
    gfmd.conf内のこの文で指定されたユーザが、 デフォルトの特権ユーザとなります。

admin_user_gsi_dn DN
    gfmd.conf内のadmin_user文で指定された特権ユーザのSubject DNを指定します。

local_user_map ユーザマップファイルパス名 [ホスト名:[ポート番号]]
    sharedsecret認証において、 グローバルユーザ名とローカルユーザ名の対応関係を記述した ユーザマップファイルパス名を指定します。 この設定は必須ではありませんが、 その場合ローカルユーザ名がグローバルユーザ名に変換されます。

    同一ユーザに対して、 異なるローカルアカウント名を与えているファイルシステムノードがある場合や、 ローカルユーザ名とは異なるグローバルユーザ名を利用したい場合、 このファイルで、各ノードのローカルなユーザ名に対して、単一の グローバルユーザ名を定義します。

    例:

        	local_user_map /etc/gfarm/gfarm-usermap

    ユーザマップファイルは、グローバルユーザ名と ローカルユーザ名を、空白で区切って各行に記述します。

    ユーザマップファイルの内容例:

        	foobar foo
        	quux baz

    この例の1行目の指定では、このノードのローカルユーザ名fooに 対してグローバルユーザ名foobarが定義されています。

    メタデータサーバのホスト名/ポート番号を指定すると、 接続先のサーバごとに異なるユーザマップファイルを適用します。 ポート番号を省略した場合は、デフォルトのポート番号(601)を使用します。 local_user_map は複数回指定可能です。 ローカルユーザ名が同一の定義が複数のファイルに存在する場合、最初の定義が選択されます。

    複数のユーザマップファイルの例:

        	local_user_map /etc/gfarm/gfarm-usermap1-1
        	local_user_map /etc/gfarm/gfarm-usermap1-2
        	local_user_map /etc/gfarm/gfarm-usermap2-1 server2
        	local_user_map /etc/gfarm/gfarm-usermap2-2 server2

    この例では server2 に接続するときは gfarm-usermap2-1、gfarm-usermap2-2 の順番に適用します。 server2 以外に接続するときは gfarm-usermap1-1、gfarm-usermap1-2 の順番に適用します。

local_group_map グループマップファイルパス名 [ホスト名:[ポート番号]]
    グローバルグループ名とローカルグループ名の対応関係を記述した グループマップファイルパス名を指定します。 このマップファイルは，ローカルシステムのグループIDを利用するgfarm2fsや Globus GridFTPのGfarm DSIなどで利用されます。 この設定は必須ではありませんが、 その場合ローカルグループ名はグローバルグループ名と等しいと仮定されます。

    例:

        	local_group_map /etc/gfarm/gfarm-groupmap

    グループマップファイルは、グローバルグループ名と ローカルグループ名を、空白で区切って各行に記述します。

    メタデータサーバのホスト名/ポート番号を指定すると、 接続先のサーバごとに異なるグループマップファイルを適用します。 指定方法は local_user_map と同様です。

schedule_cache_timeout 秒数
    gfarmライブラリが内部的に保持している、ファイルシステムノード のスケジューリング処理に関わる情報、すなわちロードアベレージ、 ディスク空き容量、認証が通るか否か等のキャッシュの有効期限を秒数で指定します。 停止していたファイルシステムノードが復活したような場合、この期限が 切れるまでは、そのノードがスケジューリングされないことがあります。 デフォルトは600秒すなわち10分です。

    例:

        	schedule_cache_timeout 60

schedule_concurrency 並列度
    ファイルシステムノードを、スケジューリングのために並列検索する際の 並列度を指定します。 この数を増やすと並列度が高まり、スケジューリングが早く終りますが、 ファイルシステムノードの負荷は高くなります。 デフォルトは10です。

    例:

        	schedule_concurrency 10

schedule_concurrency_per_net 並列度
    ファイルシステムノードのスケジューリング時に、 ファイルシステムノードが属する各ネットワークと、クライアントとの間の ネットワーク遅延を計測します。このパラメータは、各ネットワーク毎に 幾つのファイルシステムノードを対象に計測するかを指定します。 停止しているファイルシステムノードが多い場合や、 負荷の高いファイルシステムノードが多く計測誤差が大きい場合には、 このパラメータを増やした方が良いかもしれません。 このパラメータを増やした場合には、 それに応じて schedule_concurrency パラメータについても増やすことを推奨します。 デフォルトは3です。

    例:

        	schedule_concurrency_per_net 3

schedule_idle_load_thresh CPU負荷
    ファイルシステムノードのスケジューリング時に、 CPU負荷が低いとみなされるCPU負荷を指定します。 ここで指定されるCPU負荷より低いCPU負荷のファイルシステムノードが まずはスケジュール対象となります。 デフォルト値は0.1です。

    例:

        	schedule_idle_load_thresh 0.1

schedule_busy_load_thresh CPU負荷
    ファイルシステムノードのスケジューリング時に、 CPU負荷が高いとみなされるCPU負荷を指定します。 ここで指定されるCPU負荷より高いCPU負荷のファイルシステムノードは 当初スケジュール対象となりません。 デフォルト値は0.5です。

    この文はクライアントおよびgfmdで有効です。

    例:

        	schedule_busy_load_thresh 0.5

schedule_virtual_load CPU負荷
    ファイルシステムノードが選択されたとき、 CPU負荷のクライアントキャッシュにここで指定されるCPU負荷が加えられます。 これにより、 一度スケジュールされたファイルシステムノードが何度もスケジュールされることを防いでいます。 デフォルト値は0.3です。

    例:

        	schedule_virtual_load 0.3

schedule_candidates_ratio 比率
    ファイルシステムノードのスケジューリング時に、 ロードアベレージが schedule_busy_load_thresh 以下のノードが、 スケジューリング対象のノード数の何倍見つかったら、 検索を打ち切るかを指定します。 この値を大きくすると、より多くのノードを検索するため、 スケジューリングの精度は上がりますが、処理は遅くなります。 デフォルト値は4.0です。

    例:

        	schedule_candidates_ratio 4.0

schedule_rtt_thresh_diff マイクロ秒
    ファイルシステムノードのスケジューリング時に、 ファイルシステムノードが属する各ネットワークと、クライアントとの間の ネットワーク遅延が、何マイクロ秒増えたら、そのネットワークに対する スケジューリングの優先度を落すかを指定します。 同様なパラメータに schedule_rtt_thresh_ratio があり、 この2つパラメータによる計算のいずれかに当てはまると優先度が落ちます。 デフォルト値は1000マイクロ秒、すなわち 1ミリ秒です。

    例:

        	schedule_rtt_thresh_diff 1000

schedule_rtt_thresh_ratio 比率
    ファイルシステムノードのスケジューリング時に、 ファイルシステムノードが属する各ネットワークと、クライアントとの間の ネットワーク遅延が、何倍になったら、そのネットワークに対する スケジューリングの優先度を落すかを指定します。 同様なパラメータに schedule_rtt_thresh_diff があり、 この2つパラメータによる計算のいずれかに当てはまると優先度が落ちます。 デフォルト値は4.0です。

    例:

        	schedule_rtt_thresh_ratio 4.0

schedule_rtt_thresh 比率
    このパラメータは schedule_rtt_thresh_ratio と同じ意味となりますので、 そちらを利用してください。 このパラメータは以前のバージョンとの互換性のために残されています。 デフォルト値は4.0です。

    例:

        	schedule_rtt_thresh 4.0

write_local_priority 有効性
    gfarmは、ファイルを書き込むノードを決める際、できる限りローカル ホストを優先するように動作します。この文でdisableと指定することによって、 ローカルホストを他のホストと同様に扱うように変更することができます。 デフォルトはenableです。

    例:

        	write_local_priority disable

write_target_domain ドメイン名
    gfarmがファイルを書き込むノードを決める際、できる限りここで 指定したドメインを優先するように動作します。 ここで指定したドメインにファイル作成可能なホストが存在しない場合や、 特にこの指定を行なわなかった場合には、全ノードが対象となります。 この指定を複数回行なっても、最初の指定のみが利用され、二番目以降は 単に無視されるので注意してください。

    例:

        	write_target_domain example.org

minimum_free_disk_space バイト数
    ファイルシステムノードで必要な最小限度のディスク空き容量を指定 します。このサイズ以下の空き容量しかないファイルシステムノードは、 ファイル書き込みを行う可能性のある操作を行う際に、選択されにくくなります。 指定はバイト単位で行いますが、数字の末尾に空白を開けずにk/M/G/Tを指定 することで、それぞれ1KiB／1MiB／1GiB／1TiBを単位とする ことができます。 デフォルトは512MiBです。

    このパラメータは、gfarm2.confとgfmd.confの両方で指定する必要があります。 有効にするためには gfmd および Gfarmクライアントを再起動する必要があります。

    例:

        	minimum_free_disk_space 1G

direct_local_access 有効性
    ローカルホストの gfsd が管理するファイル複製にクライアントがアクセスする場合、 オーバヘッドを削減するため、ファイルの読み書きに関しては、 通常 gfsd をバイパスして直接アクセスします。 この文でdisableと指定することによって、 このバイパスを無効化することができます。 この無効化機能は、ローカルホストのファイルアクセスに対して、 gfsdによるチェックサム計算を行うために用意されています。 詳しくは direct_local_access文の説明を参照してください。 デフォルトはenableです。

    この文は、クライアントが参照するgfarm2.confのみで有効です。 gfsd や gfmd は、gfarm2.conf や gfmd.conf 中のこの文を無視します。

    例:

        	direct_local_access disable

simultaneous_replication_receivers 同時処理数
    gfmd 主導の複製処理を、単一複製作成ホストに対して、 同時にいくつまで並行して行なうことを許すかを設定します。 デフォルトは 20です。

    例:

        	simultaneous_replication_receivers 40

replication_busy_host 有効性
    gfmd主導の複製先にbusyホストを含むかどうか設定します。 disableにすると、busyホストには複製は作成されません。 デフォルトはenableです。

    例:

        	replication_busy_host disable

gfsd_connection_cache コネクション数
    gfarmライブラリがgfsdとの通信に用いるコネクションを、いくつ までキャッシュするかを指定します。 デフォルトは16コネクションです。

    例:

        	gfsd_connection_cache 32

xmlattr_size_limit バイト数
    XML拡張属性の値として、何バイトまで設定可能かを指定します。 デフォルトは786432バイトです。 983040バイトよりも大きな値を指定することはできません。

    この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。

    例:

        	xmlattr_size_limit 786432

xattr_size_limit バイト数
    拡張属性の値として、何バイトまで設定可能かを指定します。 デフォルトは65536バイトです。 983040バイトよりも大きな値を指定することはできません。

    この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。

    例:

        	xattr_size_limit 65536

attr_cache_limit 個数
    gfarmライブラリがキャッシュする属性の最大数を指定します。 デフォルトは40000個です。

    例:

        	attr_cache_limit 100000

attr_cache_timeout ミリ秒数
    gfarmライブラリが属性をキャッシュしている時間を、ミリ秒単位で指定します。 デフォルトは 1000ミリ秒すなわち 1秒です。

    例:

        	attr_cache_timeout 3600000

page_cache_timeout ミリ秒数
    gfarmカーネルドライバにのみ関連する値で、ファイルデータを キャッシュしている時間を、ミリ秒単位で指定します。 デフォルトは 1000ミリ秒すなわち 1秒です。

    例:

        	page_cache_timeout 3600000

log_level 優先度レベル
    どの優先度レベル以上のログを出力するかを指定します。 ここで指定したレベル未満の優先度のログは、syslogや標準エラーへ 送られません。 レベルは、優先度の高い順に"emerg", "alert", "crit", "err", "warning", "notice", "info", "debug"です。 デフォルトの出力レベルは"info"です。 "crit"以上の優先度を指定することは、お勧めできません。

    例:

        	log_level debug

log_message_verbose_level レベル
    ログメッセージの冗長度を指定します。 デフォルトは0です。レベル0では、ログIDが出力されます。 レベル1では、レベル0に加えソースコードのファイル名と行番号が出力されます。 レベル2では、レベル1に加え関数名が出力されます。

    例:

        	log_message_verbose_level 1

log_auth_verbose 有効性
    enableと指定した場合、認証処理に関する詳細なログを記録します。

    例:

        	log_auth_verbose enable

file_trace 有効性
    enableと指定した場合、ファイル作成・変更・削除に関する 監査ログの出力機能を有効にします。

    このパラメータは、gfarm2.confとgfmd.confの両方で有効です。

    例:

        	file_trace enable

fatal_action 動作名
    このパラメータでは、致命的なエラーが発生したときの動作を設定します。 デフォルトは backtrace_and_abort です。

    例:

        	fatal_action backtrace_and_abort

    指定可能な動作名は以下の通りです:

    backtrace_and_abort
        バックトレースを出力した後、 abort(3) を呼びます。

    backtrace_and_exit
        バックトレースを出力した後、 exit(3) を呼びます。

    abort
        abort(3) を呼びます。

    exit
        exit(3) を呼びます。

debug_command コマンド行
    Gfarmのアプリケーションプログラムがクラッシュした際 (SIGSEGV, SIGBUGを 受け取る等した場合)、このパラメータに記したデバッグコマンドが実行されます。 記述例を示します。

        	debug_command env DISPLAY=:0.0 xterm -e gdb %e %p

    ここで、"%e", "%p" は実際のプログラム名、プロセスIDにそれぞれ展開されます。 "%" 文字自体をコマンドライン中に記述したい場合は、"%%" と書いて下さい。

    このパラメータは、gfarm2.confとgfmd.confの両方で有効です。 このパラメータを指定しなかった場合、デバッグコマンドは実行されません。

no_file_system_node_timeout 秒数
    利用可能なファイルシステムノードが存在しない場合， Gfarmクライアントライブラリはファイルシステムノードが利用可能になるまで試行を繰り返しますが、 そのタイムアウト時間を秒単位で指定します。 デフォルトは 30秒です。

    例:

        	no_file_system_node_timeout 30

gfmd_authentication_timeout 秒数
    メタデータサーバへの接続後、認証要求への反応がない場合の タイムアウト時間を秒単位で指定します。 デフォルトは 35秒です。

    例:

        	gfmd_authentication_timeout 45

gfmd_reconnection_timeout 秒数
    メタデータサーバへの接続が切断された場合， メタデータサーバへの再接続を繰り返しますが， そのタイムアウト時間を秒単位で指定します。 デフォルトは 30秒です。

    例:

        	gfmd_reconnection_timeout 30

gfsd_connection_timeout 秒数
    ファイルシステムノードへの接続タイムアウトを指定します。 デフォルトは 30秒です。

    例:

        	gfsd_connection_timeout 30

atime タイプ
    このオプションがdisableの場合、atime(ファイルアクセス時刻)は更新されま せん。relativeの場合、mtime(ファイル修正時刻)またはctime(ファイル変更時 刻)よりも、既にセットされているatimeが早い時刻のとき、またはatimeが1日 以上更新されていないときだけ、atimeが更新されます。strictの場合、atime は常に更新されます。標準設定はrelativeです。

    この文はgfmd.confのみで有効です。

    例:

        	atime disable

max_open_files ファイル数
    同時にオープンできるファイル数の最大値を指定します。 デフォルトは1024です。

    この文はgfmd.confのみで有効です。

    例:

        	max_open_files 1024

client_digest_check 有効性
    このオプションがenableの場合、Gfarmクライアントライブラリ (libgfarm)は、 ファイル全体をシーケンシャルにアクセスする際、チェックサムを計算し、 そのファイルのメタデータに設定されているチェックサムと比較して検証します。 また、メタデータにチェックサムが設定されておらず、 書き込みオープンしている場合には、計算したチェックサムをメタデータに設定します。 デフォルトはdiableです。

    この文は、クライアントが参照するgfarm2.confのみで有効です。 gfsd や gfmd は、gfarm2.conf や gfmd.conf 中のこの文を無視します。

    例:

        	client_digest_check enable

client_file_bufsize バイト数
    Gfarmクライアントライブラリ（libgfarm）で使われるファイルのバッファ サイズをバイト単位で指定します。デフォルトは1048576バイト（= 1MiB）です。 ファイルのバッファサイズは、遠隔ファイルアクセス性能を極端に低下させ ないためにも、デフォルト値以下である必要があります。

    この文は、クライアントが参照するgfarm2.confのみで有効です。 gfsd や gfmd は、gfarm2.conf や gfmd.conf 中のこの文を無視します。

    例:

        	client_file_bufsize 65536

client_parallel_copy 並列度
    gfprepコマンドと gfpcopyコマンドが並列で動作する際の 並列度を指定します。指定しない場合は4並列で動作します。

    例:

        	client_parallel_copy 10

client_parallel_max 並列度
    gfprepコマンドと gfpcopyコマンドが並列で動作する際の 最大並列度を指定します。指定しない場合は、最大16並列です。

    例:

        	client_palallel_max 8

profile 有効性
    このオプションがenableの場合、プロファイル情報を出力します。

    例:

        	profile enable

metadb_server_list gfmdホスト名[:ポート番号] ...
    冗長化メタデータサーバの接続先一覧をスペース区切りで指定します。 ポート番号を省略するとデフォルトの601を指定したことになります。

    この文はgfarm2.confのみで有効であり、gfmd.confでは無視されます。

    例:

        	metadb_server_list mds1 mds2:701

metadb_replication 有効性
    このオプションがenableの場合、メタデータ冗長化機能が有効になります。デフォルトは disable です。

    この文はgfmd.confのみで有効です。

    例:

        	metadb_replication enable

synchronous_replication_timeout 秒数
    メタデータの同期レプリケーション実行時のタイムアウト時間を秒単位で設定します。 タイムアウト時間を過ぎた場合、同期先のスレーブgfmdとのgfmd channelの接続は切断されます。 接続が切断したスレーブgfmdへのレプリケーションは、スレーブgfmdが再接続してくるまで中断します。 デフォルトは 10 です。

    この文はgfmd.confのみで有効です。

    例:

        	synchronous_replication_timeout 30

synchronous_journaling 有効性
    このオプションがenableの場合、ジャーナルファイルへ更新情報を保存した後にfdatasyncを実行します。 実行するタイミングは、1つのトランザクションの開始から終了までのレコードを書き込んだ後です。 デフォルトはenableです。

    この文はgfmd.confのみで有効です。

    例:

        	synchronous_journaling disable

metadb_server_force_slave 有効性
    enable のとき、デフォルトのマスターgfmdとして設定されている場合でも、スレーブgfmdとして起動します。 デフォルトはdisableです。

    この文はgfmd.confのみで有効です。

    例:

        	metadb_server_force_slave enable

metadb_server_slave_max_size ノード数
    スレーブgfmdの最大ノード数を指定します。デフォルトは16です。

    この文はgfmd.confのみで有効です。

    例:

        	metadb_server_slave_max_size 40

metadb_server_slave_replication_timeout 秒数
    gfmd が SIGTERM シグナルを受けて停止する際に、 スレーブ gfmd へのメタデータ・レプリケーション完了を待つ タイムアウト時間を秒単位で設定します。 タイムアウト時間を過ぎた場合、スレーブ gfmd へのレプリケーションを諦めます。 デフォルトは 120 秒です。

    この文はgfmd.confのみで有効です。

    例:

        	metadb_server_slave_replication_timeout 180

metadb_journal_dir ジャーナルディレクトリ
    ジャーナルファイルの保存ディレクトリを指定します。 このオプションはconfig-gfarmで指定します。 このオプションが指定されていない場合、gfmdは起動しません。

    この文はgfmd.confのみで有効です。

    例:

        	metadb_journal_dir /var/gfarm-metadata/journal

metadb_journal_max_size ファイルサイズ
    ジャーナルファイルの最大サイズを指定します。 サイズが大きいほど、gfmdが起動完了するまでの時間が長くなることに注意してください。 デフォルトは 33554432 (32 MiB)です。

    この文はgfmd.confのみで有効です。

    例:

        	metadb_journal_max_size 8388608

metadb_journal_recvq_size キュー長
    スレーブgfmdが、マスターgfmdから受け取るジャーナルデータに関して、 メモリ上に保持する最大レコード数を指定します。 このサイズを越えて保持する必要が生じた場合には、バックエンド・データベース への反映に遅延が生じていると見なし、スレーブとしての動作を諦めて終了します。 デフォルトは100000です。

    この文はgfmd.confのみで有効です。

    例:

        	metadb_journal_recvq_size 100000

metadb_replica_remover_by_host_sleep_time ナノ秒
    ファイルシステムノード削除時のレプリカ削除処理が、 gfmdが忙しい場合に処理を休む時間をナノ秒で指定します。 この値を増やすと、この処理の優先度が下がり、ゆっくり動作します。 デフォルトは20000000ナノ秒(20ミリ秒)です。 最大値は1000000000ナノ秒(1秒)です。

    この文はgfmd.confのみで有効です。

    例:

        	metadb_replica_remover_by_host_sleep_time 20000000

metadb_replica_remover_by_host_inode_step 個数
    ファイルシステムノード削除時のレプリカ削除処理が、 一度に処理するi-nodeの数を指定します。 この値を減らすと、この処理の優先度が下がり、ゆっくり動作します。 デフォルトは1024個です。

    この文はgfmd.confのみで有効です。

    例:

        	metadb_replica_remover_by_host_inode_step 1024

replica_check 有効性
    enableと指定した場合、gfmd内のreplica_check機能が、必要なときに自動的に ファイル複製の数と配置を監視し、不足しているファイル複製があれば増やします。 デフォルトはenableです。

    下記のイベントが発生するとreplica_checkが開始します。

          - gfsd起動時
          - gfsd停止からreplica_check_host_down_thresh秒後
          - gfncopyで複製数設定を変更時
          - ディレクトリ名変更時、またはファイルを別ディレクトリへ移動時
            (同一ディレクトリ内で改名した場合は開始しない)
            (ファイル自身に複製数が設定されている場合は開始しない)
          - ファイルclose時ファイル複製自動作成要求がエラー時
          - ファイルclose時ファイル複製自動作成処理中にエラー時
          - gfsdが忙しくなくなった場合
            (ロードアベレージがschedule_busy_load_thresh以下に変化時)
          - replica_check処理中にエラーが起きた場合、チェック完了後にリトライ

    gfrepcheck コマンドを使うと、 この値を動的に変更したり、statusで現在の値を取得できます。 gfrepcheck enable は即座に開始します。 gfrepcheck disable は即座に停止します。 startはenableと同等、stopはdisableと同等です。

    この文はgfmd.confのみで有効です。

    例:

        	replica_check disable

replica_check_remove 有効性
    replica_check enableの場合に効果があります。enableと指定 した場合、replica_check機能が余剰ファイル複製を自動的に削除します。例 外として、ファイルがハードリンクされていて (nlink >= 2)、そのファイル 自身に複製数の設定 (gfarm.ncopyまたはgfarm.replicainfo)がされていない 場合、そのファイルの余剰ファイル複製は削除されません。デフォルトは enableです。

    gfrepcheck remove コマンドを使うと、 この値を動的に変更したり、statusで現在の値を取得できます。

    この文はgfmd.confのみで有効です。

    例:

        	replica_check_remove disable

replica_check_remove_grace_used_space_ratio パーセント
    replica_check_removeが有効な場合に効果があります。 なるべく余剰ファイル複製を削除せず残しておくために、猶予容量使用率を指 定します。猶予容量使用率は、gfsdごとのディスク使用率を百分率(パーセン ト, 0から100の整数)で指定します。ここで指定した使用率を超えているgfsd上に ある余剰ファイル複製のうち、 replica_check_remove_grace_timeの時間を経過している場合 に削除されます。0を指定すると、ディスク使用率に関わら ずreplica_check_remove_grace_time次第で削除されます。 100を指定すると、replica_check_remove disableと同等にな ります。デフォルトは0です。

    gfrepcheck remove_grace_used_space_ratio コマンドを使うと、 この値を動的に変更したり、statusで現在の値を取得できます。

    この文はgfmd.confのみで有効です。

    例:

        	replica_check_remove_grace_used_space_ratio 70

replica_check_remove_grace_time 秒数
    replica_check_removeが有効な場合に効果があります。 猶予容量使用率が replica_check_remove_grace_used_space_ratioを超えた場 合に、余剰ファイル複製が削除されるまでの猶予期間を指定します。 猶予期間としてファイルのアクセス時間(atime)からの経過時間を秒数で指定します。 デフォルトは0です。

    gfrepcheck remove_grace_time コマンドを使うと、 この値を動的に変更したり、statusで現在の値を取得できます。

    この文はgfmd.confのみで有効です。

    例:

        	replica_check_remove_grace_time 604800

replica_check_reduced_log 有効性
    enableと指定した場合、 replica_check機能が出力するログメッセージの数を削減することができます。 デフォルトはenableです。

    gfrepcheck reduced_log コマンドを使うと、 この値を動的に変更したり、statusで現在の値を取得できます。

    この文はgfmd.confのみで有効です。

    例:

        	replica_check_reduced_log disable

replica_check_host_down_thresh 秒数
    gfsdが停止した場合、ここで指定した秒数までそのgfsdが停止していない(そ のgfsd上のファイル複製は正常である)とreplica_checkがみなします。これは gfsdを保守するために有用です。デフォルトは10800秒(3時間)です。

    gfrepcheck host_down_thresh コマンドを使うと、 この値を動的に変更したり、statusで現在の値を取得できます。

    この文はgfmd.confのみで有効です。

    例:

        	replica_check_host_down_thresh 3600

replica_check_sleep_time ナノ秒
    この値を増やすと、gfmdが忙しい場合に限り、replica_checkがゆっくり動作します。 クライアントからのアクセスへの応答を優先するために有用です。 gfmdが忙しくない場合、replica_checkは全力で動作します。 replica_check以外の処理が多いと検出した場合に、replica_checkの処理を一 時的に停止する時間をナノ秒で指定します。 デフォルトは100000ナノ秒(0.1ミリ秒)です。 最大値は1000000000ナノ秒(1秒)です。

    gfrepcheck sleep_time コマンドを使うと、 この値を動的に変更したり、statusで現在の値を取得できます。

    この文はgfmd.confのみで有効です。

    例:

        	replica_check_sleep_time 0

replica_check_minimum_interval 秒
    replica_checkが次回動作するまでの最小間隔(秒)を指定します。 デフォルトは10秒です。

    gfrepcheck minimum_interval コマンドを使うと、 この値を動的に変更したり、statusで現在の値を取得できます。

    この文はgfmd.confのみで有効です。

    例:

        	replica_check_minimum_interval 5

replicainfo 有効性
    enableと指定した場合、 gfarm.replicainfo拡張属性に従って複製を自動的に配置します。 disableと指定した場合、 gfarm.replicainfo拡張属性のホストグループごとの複製数の指定を無視して、 その合計数またはgfarm.ncopy拡張属性の値が大きい方を目標の複製数として 複製を配置します。 gfarm.replicainfo拡張属性については、 gfncopyのマニュアルを参照してください。 デフォルトは enable です。

    gfstatus -Mm 'replicainfo disable' により、一時的に無効にすることができます。

    この文はgfmd.confのみで有効です。

    例:

        	replicainfo disable

write_verify 有効性
    enableと指定した場合、 ファイル書き込み後しばらく後に、gfsd がデータを読み直してチェックサムを 再確認する write_verify 機能が有効になります。 デフォルトは disable です。

    この文は gfmd.conf のみで有効です。 gfarm2.confでは無視されます。 gfsd はその起動時に、gfmd に対して、この設定を問い合わせて動作します。

    例:

        	write_verify enable

write_verify_interval 秒数
    ファイルへの書き込み完了後、どの程度時間をおいて、write_verify を実施するか、 秒数で指定します。 デフォルトは 21600秒 (6時間) です。

    write_verify のための読み込みは、O_DIRECT 機能が存在する OS では、 direct I/O を用います。しかし、ディスクコントローラ内のキャッシュや、 メタデータ・キャッシュのクリアは行ないませんので、write_verify_interval には、十分長い時間を指定することを推奨します。

    この文は gfmd.conf のみで有効です。 gfarm2.confでは無視されます。 gfsd はその起動時に、gfmd に対して、この設定を問い合わせて動作します。

    例:

        	write_verify_interval 21600

write_verify_retry_interval 秒数
    write_verify を試みたが、対象ファイルが書き込みオープンされていて 実施できなかった場合に、どれだけの時間待ってから、再度 write_verify を 試みるかを指定します。

    この設定値は、write_verify_interval で指定した時間より十分短い時間と することを推奨します。 デフォルトは 600秒 (10分) です。

    この文は gfmd.conf のみで有効です。 gfarm2.confでは無視されます。 gfsd はその起動時に、gfmd に対して、この設定を問い合わせて動作します。

    例:

        	write_verify_retry_interval 600

write_verify_log_interval 秒数
    write_verify に関する統計情報をログ出力する間隔を指定します。 設定した値以上の時間が経過して、ファイルシステムノードでファイルが 更新されると、統計情報がそのファイルシステムノードのログに記録されます。

    デフォルトは 3600秒 (1時間) です。

    この文は gfmd.conf のみで有効です。 gfarm2.confでは無視されます。 gfsd はその起動時に、gfmd に対して、この設定を問い合わせて動作します。

    例:

        	write_verify_log_interval 3600

ib_rdma 有効性
    クライアントとgfsd がデータ転送の際にrdmaを用いるかを指定します。 InfiniBand が装備されているノードでのみ有効です。

    デフォルトはconfigureの際に--with-infiniband を指定していれば enable です。 それ以外はdisableで、enable にしても効果はありません。

    環境変数で GFARM_RDMA_DISABLE が設定されていればrdma機能は使用されません。

    例:

        	ib_rdma disable

rdma_device デバイス名
    クライアントとgfsd とのrdma 転送に使用するデバイスを指定します。 InfiniBand が装備されているノードでのみ有効です。

    デフォルトは ibv_get_device_list() で見つかった最初の有効なデバイスです。

    例:

        	rdma_device mlx4_1

rdma_port ポート番号
    クライアントとgfsd とのrdma 転送に使用するデバイスのポート番号を指定します。 InfiniBand が装備されているノードでのみ有効です。

    デフォルトは 有効なデバイスの中の最初の有効なポートです。

    例:

        	rdma_port 2

rdma_min_size バイト数
    クライアントとgfsd とのrdma 転送を行う最小の転送サイズを指定します。 InfiniBand が装備されているクライアントノードでのみ有効です。

    デフォルトは65536バイトです。

    例:

        	rdma_min_size 4096

rdma_mr_reg_mode モード
    クライアントのRDMA転送バッファの登録方法を指定します。 指定可能なモードには次のものがあります。

    static　接続したgfsd 毎に一つの転送バッファを登録するモードです。

    dynamic　転送の度に登録と解除を繰り返すモードです。

    static のほうが登録の回数が少ないので若干速いメリットはありますが、 登録したバッファがずっとメモリロックされるため、接続gfsdが多いとメモリ負荷が 高くなり、登録に失敗する場合もあります。 両方を指定すると、static バッファを登録したうえで、 そのサイズを越えたIOの場合は dynamic が試みられます。

    デフォルトは static です。

    例:

        	rdma_mr_reg_mode static
        	rdma_mr_reg_mode static dynamic

rdma_mr_reg_static_min_size バイト数
    rdma_mr_reg_mode で static を 指定した時の初期登録サイズを指定します。

    デフォルトは1 MiBです。

    例:

        	rdma_mr_reg_static_min_size 1048576

rdma_mr_reg_static_max_size バイト数
    rdma_mr_reg_mode で static を 指定した時の最大拡張登録サイズを指定します。

    転送を要求されたサイズが登録サイズより大きい時、このサイズまで拡張します。

    デフォルトは16 MiBです。

    例:

        	rdma_mr_reg_static_max_size 16777216

GRAMMAR

gfarm2.confの文法をBNFで記述すると、下記のようになります。

<statement> ::=

        	<spool_statement> |
        	<spool_server_listen_address_statement> |
        	<spool_server_listen_backlog_statement> |
        	<spool_server_cred_type_statement> |
        	<spool_server_cred_service_statement> |
        	<spool_server_cred_name_statement> |
        	<spool_server_back_channel_rcvbuf_limit_statement> |
        	<spool_check_level_statement> |
        	<spool_check_parallel_statement> |
        	<spool_check_parallel_max_statement> |
        	<spool_check_parallel_per_capacity_statement> |
        	<spool_check_parallel_step_statement> |
        	<spool_base_load_statement> |
        	<spool_digest_error_check_statement> |
        	<metadb_server_host_statement> |
        	<metadb_server_port_statement> |
        	<metadb_server_cred_type_statement> |
        	<metadb_server_cred_service_statement> |
        	<metadb_server_cred_name_statement> |
        	<metadb_server_listen_backlog_statement> |
        	<metadb_server_max_descriptors_statement> |
        	<metadb_server_stack_size_statement> |
        	<metadb_server_thread_pool_size_statement> |
        	<metadb_server_job_queue_length_statement> |
        	<metadb_server_remover_queue_length_statement> |
        	<metadb_server_remove_scan_log_interval_statement> |
        	<metadb_server_remove_scan_interval_factor_statement> |
        	<metadb_server_heartbeat_interval_statement> |
        	<metadb_server_dbq_size_statement> |
        	<metadb_server_back_channel_sndbuf_limit_statement> |
        	<metadb_server_nfs_root_squash_support_statement> |
        	<ldap_server_host_statement> |
        	<ldap_server_port_statement> |
        	<ldap_base_dn_statement> |
        	<ldap_bind_dn_statement> |
        	<ldap_bind_password_statement> |
        	<postgresql_server_host_statement> |
        	<postgresql_server_port_statement> |
        	<postgresql_dbname_statement> |
        	<postgresql_user_statement> |
        	<postgresql_password_statement> |
        	<postgresql_conninfo_statement> |
        	<auth_statement> |
        	<shared_key_file_statement> |
        	<digest_statement> |
        	<directory_quota_count_per_user_limit_statement> |
        	<directory_quota_check_start_delay_statement> |
        	<max_directory_depth_statement> |
        	<sockopt_statement> |
        	<known_network_statement> |
        	<network_receive_timeout_statement> |
        	<admin_user_statement> |
        	<admin_user_gsi_dn_statement> |
        	<local_user_map_statement> |
        	<local_group_map_statement> |
        	<schedule_cache_timeout_statement> |
        	<schedule_concurrency_statement> |
        	<schedule_concurrency_per_net_statement> |
        	<schedule_idle_load_thresh_statement> |
        	<schedule_busy_load_thresh_statement> |
        	<schedule_virtual_load_statement> |
        	<schedule_candidates_ratio_statement> |
        	<schedule_rtt_thresh_diff_statement> |
        	<schedule_rtt_thresh_ratio_statement> |
        	<schedule_rtt_thresh_statement> |
        	<write_local_priority_statement> |
        	<write_target_domain_statement> |
        	<minimum_free_disk_space_statement> |
        	<direct_local_access_statement> |
        	<simultaneous_replication_receivers_statement> |
        	<replication_busy_host_statement> |
        	<gfsd_connection_cache_statement> |
        	<xmlattr_size_limit_statement> |
        	<xattr_size_limit_statement> |
        	<attr_cache_limit_statement> |
        	<attr_cache_timeout_statement> |
        	<page_cache_timeout_statement> |
        	<log_level_statement> |
        	<log_message_verbose_level_statement> |
        	<log_auth_verbose_statement> |
        	<file_trace_statement> |
        	<fatal_action_statement> |
        	<debug_command_statement> |
        	<no_file_system_node_timeout_statement> |
        	<gfmd_authentication_timeout_statement> |
        	<gfmd_reconnection_timeout_statement> |
        	<gfsd_connection_timeout_statement> |
        	<atime_statement> |
        	<max_open_files_statement> |
        	<client_digest_check_statement> |
        	<client_file_bufsize_statement> |
        	<client_parallel_copy_statement> |
        	<profile_statement> |
        	<metadb_server_list_statement> |
        	<metadb_replication_statement> |
        	<synchronous_replication_timeout_statement> |
        	<synchronous_journaling_statement> |
        	<metadb_server_force_slave_statement> |
        	<metadb_server_slave_max_size_statement> |
        	<metadb_server_slave_replication_timeout_statement> |
        	<metadb_journal_dir_statement> |
        	<metadb_journal_max_size_statement> |
        	<metadb_journal_recvq_size_statement> |
        	<metadb_replica_remover_by_host_sleep_time_statement> |
        	<metadb_replica_remover_by_host_inode_step_statement> |
        	<replica_check_statement> |
        	<replica_check_remove_statement> |
        	<replica_check_remove_grace_used_space_ratio_statement> |
        	<replica_check_remove_grace_time_statement> |
        	<replica_check_reduced_log_statement> |
        	<replica_check_host_down_thresh_statement> |
        	<replica_check_sleep_time_statement> |
        	<replica_check_minimum_interval_statement> |
        	<ib_rdma_statement> |
        	<rdma_device_statement> |
        	<rdma_port_statement> |
        	<rdma_min_size_statement> |
        	<rdma_mr_reg_mode_statement> |
        	<rdma_mr_reg_static_min_size_statement> |
        	<rdma_mr_reg_static_max_size_statement> |
        	<replicainfo_statement> |
        	<write_verify_statement> |
        	<write_verify_interval_statement> |
        	<write_verify_retry_interval_statement> |
        	<write_verify_log_interval_statement>

<spool_statement> ::=

        "spool" <pathname>

<spool_server_listen_address_statement> ::=

        "spool_server_listen_address" <ipv4_address>

<spool_server_listen_backlog_statement> ::=

        "spool_server_listen_backlog" <number>

<spool_server_cred_type_statement> ::=

        "spool_server_cred_type" <cred_type>

<spool_server_cred_service_statement> ::=

        "spool_server_cred_service" <cred_service>

<spool_server_cred_name_statement> ::=

        "spool_server_cred_name" <cred_name>

<spool_server_back_channel_rcvbuf_limit_statement> ::=

        "spool_server_back_channel_rcvbuf_limit" <size_limit>

<spool_check_level_statement> ::=

        "spool_check_level" <spck_level>

<spool_check_parallel_statement> ::=

        "spool_check_parallel" <number>

<spool_check_parallel_max_statement> ::=

        "spool_check_parallel_max" <number>

<spool_check_parallel_per_capacity_statement> ::=

        "spool_check_parallel_per_capacity" <size>

<spool_check_parallel_step_statement> ::=

        "spool_check_parallel_step" <number>

<spool_base_load_statement> ::=

        "spool_base_load" <load>

<spool_digest_error_check_statement> ::=

        "spool_digest_error_check" <validity>

<metadb_server_host_statement> ::=

        "metadb_server_host" <hostname>

<metadb_server_port_statement> ::=

        "metadb_server_port" <portnumber>

<metadb_server_cred_type_statement> ::=

        "metadb_server_cred_type" <cred_type>

<metadb_server_cred_service_statement> ::=

        "metadb_server_cred_service" <cred_service>

<metadb_server_cred_name_statement> ::=

        "metadb_server_cred_name" <cred_name>

<metadb_server_listen_backlog_statement> ::=

        "metadb_server_listen_backlog" <number>

<metadb_server_max_descriptors_statement> ::=

        "metadb_server_max_descriptors" <number>

<metadb_server_stack_size_statement> ::=

        "metadb_server_stack_size" <number>

<metadb_server_thread_pool_size_statement> ::=

        "metadb_server_thread_pool_size" <number>

<metadb_server_job_queue_length_statement> ::=

        "metadb_server_job_queue_length" <number>

<metadb_server_remover_queue_length_statement> ::=

        "metadb_server_remover_queue_length" <number>

<metadb_server_remove_scan_log_interval_statement> ::=

        "metadb_server_remove_scan_log_interval" <number>

<metadb_server_remove_scan_interval_factor_statement> ::=

        "metadb_server_remove_scan_interval_factor" <number>

<metadb_server_heartbeat_interval_statement> ::=

        "metadb_server_heartbeat_interval" <number>

<metadb_server_dbq_size_statement> ::=

        "metadb_server_dbq_size" <number>

<metadb_server_back_channel_sndbuf_limit_statement> ::=

        "metadb_server_back_channel_sndbuf_limit" <size_limit>

<metadb_server_nfs_root_squash_support_statement> ::=

        "metadb_server_nfs_root_squash_support" <validity>

<ldap_server_host_statement> ::=

        "ldap_server_host" <hostname>

<ldap_server_port_statement> ::=

        "ldap_server_port" <portnumber>

<ldap_base_dn_statement> ::=

        "ldap_base_dn" <string>

<ldap_bind_dn_statement> ::=

        "ldap_bind_dn" <string>

<ldap_bind_password_statement> ::=

        "ldap_bind_password" <string>

<postgresql_server_host_statement> ::=

        "postgresql_server_host" <hostname>

<postgresql_server_port_statement> ::=

        "postgresql_server_port" <portnumber>

<postgresql_dbname_statement> ::=

        "postgresql_dbname" <string>

<postgresql_user_statement> ::=

        "postgresql_user" <string>

<postgresql_password_statement> ::=

        "postgresql_password" <string>

<postgresql_conninfo_statement> ::=

        "postgresql_conninfo" <string>

<auth_statement> ::=

        "auth" <validity> <auth_method> <hostspec>

<auth_command> ::=

        "enable" | "disable"

<auth_method> ::=

        "gsi" | "gsi_auth" | "sharedsecret"

<shared_key_file_statement> ::=

        "shared_key_file" <pathname>

<digest_statement> ::=

        "digest" <digest_type>

<directory_quota_count_per_user_limit_statement> ::=

        "directory_quota_count_per_user_limit" <number>

<directory_quota_check_start_delay_statement> ::=

        "directory_quota_check_start_delay" <number>

<max_directory_depth_statement> ::=

        "max_directory_depth" <number>

<sockopt_statement> ::=

        "sockopt" <socket_option>[=<number>] [""LISTENER" | <hostspec>]

<socket_option> ::=

        "debug" | "keepalive" | "sndbuf" | "rcvbuf" |
        	"tcp_nodelay"

<known_network_statement> ::=

        "known_network" <hostspec>

<network_receive_timeout_statement> ::=

        "network_receive_timeout" <number>

<admin_user_statement> ::=

        "admin_user" <string>

<admin_user_gsi_dn_statement> ::=

        "admin_user_gsi_dn" <string>

<local_user_map_statement> ::=

        "local_user_map" <local_user_and_group_map_spec>

<local_group_map_statement> ::=

        "local_group_map" <local_user_and_group_map_spec>

<local_user_and_group_map_spec> ::=

        <pathname> |
        		<pathname> <hostname>|
        		<pathname> <hostname> ":" <portnumber>

<schedule_cache_timeout_statement> ::=

        "schedule_cache_timeout" <number>

<schedule_concurrency_statement> ::=

        "schedule_concurrency" <number>

<schedule_concurrency_per_net_statement> ::=

        "schedule_concurrency_per_net" <number>

<schedule_idle_load_thresh_statement> ::=

        "schedule_idle_load_thresh" <load>

<schedule_busy_load_thresh_statement> ::=

        "schedule_busy_load_thresh" <load>

<schedule_virtual_load_statement> ::=

        "schedule_virtual_load" <load>

<schedule_candidates_ratio_statement> ::=

        "schedule_candidates_ratio" <floating_point_number>

<schedule_rtt_thresh_diff_statement> ::=

        "schedule_rtt_thresh_diff" <number>

<schedule_rtt_thresh_ratio_statement> ::=

        "schedule_rtt_thresh_ratio" <floating_point_number>

<schedule_rtt_thresh_statement> ::=

        "schedule_rtt_thresh" <floating_point_number>

<write_local_priority_statement> ::=

        "write_local_priority" <validity>

<write_target_domain_statement> ::=

        "write_target_domain" <string>

<minimum_free_disk_space_statement> ::=

        "minimum_free_disk_space" <size>

<direct_local_access_statement> ::=

        "direct_local_access" <validity>

<simultaneous_replication_receivers_statement> ::=

        "simultaneous_replication_receivers" <number>

<replication_busy_host_statement> ::=

        "replication_busy_host" <validity>

<gfsd_connection_cache_statement> ::=

        "gfsd_connection_cache" <number>

<xmlattr_size_limit_statement> ::=

        "xmlattr_size_limit" <size>

<xattr_size_limit_statement> ::=

        "xattr_size_limit" <size>

<attr_cache_limit_statement> ::=

        "attr_cache_limit" <number>

<attr_cache_timeout_statement> ::=

        "attr_cache_timeout" <number>

<page_cache_timeout_statement> ::=

        "page_cache_timeout" <number>

<log_level_statement> ::=

        "log_level" <log_priority>

<log_message_verbose_level_statement> ::=

        "log_message_verbose_level" <number>

<log_auth_verbose_statement> ::=

        "log_auth_verbose" <validity>

<file_trace_statement> ::=

        "file_trace" <validity>

<fatal_action_statement> ::=

        "fatal_action" <fatal_action_name>

<debug_command_statement> ::=

        "debug_command" <string_list>

<no_file_system_node_timeout_statement> ::=

        "no_file_system_node_timeout" <number>

<gfmd_authentication_timeout_statement> ::=

        "gfmd_authentication_timeout" <number>

<gfmd_reconnection_timeout_statement> ::=

        "gfmd_reconnection_timeout" <number>

<gfsd_connection_timeout_statement> ::=

        "gfsd_connection_timeout" <number>

<atime_statement> ::=

        "atime" <atime_type>

<max_open_files_statement> ::=

        "max_open_files" <number>

<client_digest_check_statement> ::=

        "client_digest_check" <validity>

<client_file_bufsize_statement> ::=

        "client_file_bufsize" <size>

<client_parallel_copy_statement> ::=

        "client_parallel_copy" <number>

<profile_statement> ::=

        "profile" <validity>

<metadb_server_list_statement> ::=

        "metadb_server_list" <metadb_server_list_spec>

<metadb_server_list_spec> ::=

        <hostname_port_spec> |
        	<hostname_port_spec> <metadb_server_list_spec>

<metadb_replication_statement> ::=

        "metadb_replication" <validity>

<synchronous_replication_timeout_statement> ::=

        "synchronous_replication_timeout" <number>

<synchronous_journaling_statement> ::=

        "synchronous_journaling" <validity>

<metadb_server_force_slave_statement> ::=

        "metadb_server_force_slave" <validity>

<metadb_server_slave_max_size_statement> ::=

        "metadb_server_slave_max_size" <number>

<metadb_server_slave_replication_timeout_statement> ::=

        "metadb_server_slave_replication_timeout" <number>

<metadb_journal_dir_statement> ::=

        "metadb_journal_dir" <pathname>

<metadb_journal_max_size_statement> ::=

        "metadb_journal_max_size" <number>

<metadb_journal_recvq_size_statement> ::=

        "metadb_journal_recvq_size" <number>

<metadb_replica_remover_by_host_sleep_time_statement> ::=

        "metadb_replica_remover_by_host_sleep_time" <number>

<metadb_replica_remover_by_host_inode_step_statement> ::=

        "metadb_replica_remover_by_host_inode_step" <number>

<replica_check_statement> ::=

        "replica_check" <validity>

<replica_check_remove_statement> ::=

        "replica_check_remove" <validity>

<replica_check_remove_grace_used_space_ratio_statement> ::=

        "replica_check_remove_grace_used_space_ratio" <number>

<replica_check_remove_grace_time> ::=

        "replica_check_remove_grace_time" <number>

<replica_check_reduced_log_statement> ::=

        "replica_check_reduced_log" <validity>

<replica_check_host_down_thresh_statement> ::=

        "replica_check_host_down_thresh" <number>

<replica_check_sleep_time_statement> ::=

        "replica_check_sleep_time" <number>

<replica_check_minimum_interval_statement> ::=

        "replica_check_minimum_interval" <number>

<string_list> ::=

        <string> |
        	<string> <string_list>

<hostspec> ::=

        <ipv4_address> | <ipv4_address> "/" <address_mask> |
        	<hostname> | "." <domain_name> | "*"

<pathname> ::=

        <pathname_character> <pathname_character>*

<pathname_character> ::=

        <hostname_character> | "," | "/" | "_"

<hostname_port_spec> ::=

        <hostname>|
        	<hostname> ":" <portnumber>

<hostname> ::=

        <hostname_character> <hostname_character>*

<hostname_character> ::=

        <alphabet> | <digit> | "-" | "."

<portnumber> ::=

        <number>

<size> ::=

        <number> [ "k" | "M" | "G" | "T" ]

<number> ::=

        <digit> [<digit>*]

<digit> ::=

        "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"

<size_limit> ::=

        <number> | "disable"

<string> ::=

        """ <double_quoted_character>* """

<double_quoted_character> ::=

        <any_character_except_backslash_and_double_quotation> |
        	"\\" | "\""

<validity> ::=

        "enable" | "disable"

<spck_level> ::=

        "disable" | "display" | "delete" | "lost_found"

<atime_type> ::=

        "disable" | "relative" | "strict"

<log_priority> ::=

        "emerg" | "alert" | "crit" | "err" | "warning" |
        	"notice" | "info" | "debug"

<fatal_action_name> ::=

        "backtrace_and_abort" | "backtrace_and_exit" |
        	"abort" | "exit"

<ib_rdma_statement> ::=

        "ib_rdma" <validity>

<rdma_device_statement> ::=

        "rdma_device" <string>

<rdma_port_statement> ::=

        "rdma_port" <number>

<rdma_min_size_statement> ::=

        "rdma_min_size" <number>

<rdma_mr_reg_mode_statement> ::=

        "rdma_mr_reg_mode" <mr_reg_mode>

<mr_reg_mode> ::=

        "static" | "dynamic" | "static" "dynamic"

<rdma_mr_reg_static_min_size_statement> ::=

        "rdma_mr_reg_static_min_size" <number>

<rdma_mr_reg_static_max_size_statement> ::=

        "rdma_mr_reg_static_max_size" <number>

<replicainfo_statement> ::=

        "replicainfo" <validity>

<write_verify_statement> ::=

        "write_verify" <validity>

<write_verify_interval_statement> ::=

        "write_verify_interval" <number>

<write_verify_retry_interval_statement> ::=

        "write_verify_retry_interval" <number>

<write_verify_log_interval_statement> ::=

        "write_verify_log_interval" <number>

EXAMPLES

以下は sharedsecret認証を使う gfarm2.conf の例です。

    metadb_server_host metadb.example.org
    metadb_server_port 601
    auth enable sharedsecret *
    sockopt keepalive

メタデータの保存にPostgreSQLを使い、IPアドレス192.168.0.0/24の ファイルシステムノードやクライアントに対して、sharedsecret認証を 使う gfmd.conf の例です。

    metadb_server_host metadb.example.org
    metadb_server_port 601
    postgresql_server_host metadb.example.org
    postgresql_server_port 5432
    postgresql_dbname gfarm
    postgresql_user gfarm
    postgresql_password "secret-postgresql-password"
    auth enable sharedsecret 192.168.0.0/24
    admin_user john
    sockopt keepalive

メタデータの保存にLDAPを使い、任意のIPアドレスを使う ファイルシステムノードやクライアントに対して、GSI認証を使う gfmd.conf の例です。

    metadb_server_host metadb.example.com
    metadb_server_port 601
    ldap_server_host metadb.example.com
    ldap_server_port 602
    ldap_base_dn "dc=example, dc=com"
    ldap_bind_dn "cn=gfarmuser, dc=example, dc=com"
    ldap_bind_password "secret-ldap-password"
    auth enable gsi *
    spool_server_cred_type host
    spool_server_cred_service gfsd
    admin_user john
    admin_user_gsi_dn "/C=JP/ST=Tokyo/L=Chuo-ku/O=Example, Inc./OU=Example Division/CN=John Doe"
    sockopt keepalive

FILES

%%SYSCONFDIR%%/gfarm2.conf

$HOME/.gfarm2rc

SEE ALSO

gfmd(8), gfsd(8), setsockopt(2)