gfarm2.confファイルは、gfarmプログラムの設定ファイルです。 サーバー・プロセスであるgfsdは、デフォルトでは、 この/etc/gfarm2.confを設定ファイルとして参照します。 メタデータサーバー・プロセスであるgfmdは、/etc/gfmd.confを 読み込みます。gfmd.confの形式は、gfarm2.confと同一です。 なお、設定内容が読み込まれるのは起動時だけなので、 設定内容を変更した場合、サーバーを再起動する必要があります。
アプリケーションプログラムは、環境変数GFARM_CONFIG_FILEで 指定したファイルと、/etc/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"と記述すると、通信する相手に関係なく、 サーバー側(着呼側)のソケットを意味します。
文には、下記の種類があります。
パス名
パス名で指定された設定ファイルを読み込みます。
例:
include /etc/gfarm2.common.conf
制限値
include 文のネスティングの上限を指定します。 デフォルトの制限値は 20 です。
例:
include_nesting_limit 30
バージョン文字列
Gfarmクライアントは、そのバージョンがサーバーのバージョンよりも新しいと 動作しません。 しかしこの設定を行うことにより動作させることができる場合があります。
環境変数 GFARM_PROTOCOL_COMPAT にこのバージョン文字列を指定した場合も 同じ効果があります。
現在バージョン文字列として可能な設定は 2.7.13 であり、 これは gfarm-2.7.13 ないしそれよりも新しいサーバーと gfarm-2.8.0 以降のクライアントの組合せで動作させるための指定です。
この文は、クライアントが参照するgfarm2.confのみで有効です。 gfsd や gfmd は、gfarm2.conf や gfmd.conf 中のこの文を無視します。
例:
protocol_compat 2.7.13
gfsdスプール・ディレクトリ
gfsdが、gfarmファイルの実体を保持するディレクトリ名を 指定します。 複数回(最大5回まで)指定することで複数のディレクトリを指定可能です。
例:
spool /var/spool/gfarm
IPアドレス
gfsdがTCPおよびUDPの要求を受け付けるIPアドレスを指定します。 省略時は、そのホストの全てのIPアドレスで受け付けます。 このオプションは、一つのノードで複数のスプールを提供する場合に、 それぞれのスプールごとに、別々のIPアドレスを使ってgfsdを起動する ために用います。
例:
spool_server_listen_address 192.168.121.1
数
gfsd が listen(2) システムコールの第二引数に渡すバックログ・パラメータの数を指定します。 デフォルト値は、<sys/socket.h> に SOMAXCONN 定数が定義されているOSではその値 (OSに依存しますが、典型的な値は 128)、定義されてないOSでは 5 となります。
クライアント数の多い環境では、システム制限値を上げた上で、この値を増やしておくことを推奨します。
この文はgfarm2.confのみで有効であり、gfmd.confでは無視されます。
例:
spool_server_listen_backlog 128
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と組み合わせて
下記のように用います。
そのユーザが現在所持しているユーザ証明書を用いることを示します。 この指定を利用する際には、 spool_server_cred_serviceおよび spool_server_cred_nameの 指定を行ってはいけません。
ホスト証明書あるいはサービス証明書を用いることを示します。
サービス証明書を用いる場合、そのサービスの名前を
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
ユーザ証明書を用いることを示します。 ユーザのアカウント名を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
サーバの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"
cred_service
GSI認証において、spool_server_cred_typeとして 「host」を指定している場合に、gfsdが用いるサービス証明書の 種類を指定します。 sharedsecret利用時には、この指定は単に無視されます。 詳しくはspool_server_cred_typeの項を参照してください。
cred_name
GSI認証において、spool_server_cred_typeで指定した値に 応じて、gfsdが用いる証明書の設定を行います。 sharedsecret利用時には、この指定は単に無視されます。 詳しくはspool_server_cred_typeの項を参照してください。
サイズ制限値
gfsd の back channel ソケットの、SO_RCVBUF サイズの上限を指定します。 バッファ長を短くすると,メタデータサーバからの要求が過度に溜らなくなり、 gfsd の back channel 接続が切れてしまう問題を緩和できます。 引数にdisableと指定すると、制限がかからなくなります。 デフォルトの制限値は 4096バイトです。
この文は gfsd が参照する gfarm2.conf のみで有効であり、 クライアントや gfmd.conf では無視されます。
例:
spool_server_back_channel_rcvbuf_limit 16384
秒数
Gfarmファイルシステムが read only に変更された時、既にオープン され、変更されたファイルがある場合、それらのファイルは Gfarm ファイルシステムがread write 可能となるまでクローズは遅延され ます。 gfsd が Gfarmファイルシステムのモード変更の確認を行う 間隔を秒単位で指定します。
デフォルトは 60秒 (1分) です。
この文は gfsd が参照する gfarm2.conf のみで有効であり、 クライアントや gfmd.conf では無視されます。
例:
spool_server_read_only_retry_interval 600
レベル
gfsd起動時のスプールチェックを有効にします。スプールチェックでは、 メタデータに登録されている情報との一貫性を検査します。レベルはgfsdの-c オプションを指定する数に相当し、"display"は-cオプション、"delete"は-cc オプション、"lost_found"は-cccオプションと同等です。詳細はgfsdの マニュアルページを参照ください。レベル"disable"にすると、スプールチェックを 行いません。デフォルト値は"lost_found"です。
例:
spool_check_level disable
並列度
gfsd起動時のスプールチェック並列度を数字で設定します。
デフォルトでは spool_check_parallel_per_capacity を用いて 並列度を自動的に決定します。
この文はgfsdが参照するgfarm2.confのみで有効です。
例:
spool_check_parallel 16
並列度
spool_check_parallel_per_capacity を用いて並列度を自動的に決定する際の 上限値を指定します。 自動設定の場合にはこの上限よりも大きな並列度にはなりません。 spool_check_parallel で並列度が指定されていた場合は、 こちらの設定は無視されます。
デフォルトは64です。
この文はgfsdが参照するgfarm2.confのみで有効です。
例:
spool_check_parallel_max 128
バイト数
gfsd のスプール領域のディスク容量を、この設定値で割った値を、 gfsd起動時のスプールチェック並列度として用います。 ただし、spool_check_parallel で並列度が指定されていた場合は、 こちらの設定は無視されます。 指定はバイト単位で行いますが、数字の末尾に空白を開けずにk/M/G/Tを指定 することで、それぞれ1KiB/1MiB/1GiB/1TiBを単位とする ことができます。
デフォルトは64TiBです。
この文はgfsdが参照するgfarm2.confのみで有効です。
例:
spool_check_parallel_per_capacity 10T
数
gfsd起動時のスプールチェック並列処理において、 各プロセスが一度に処理する単位を設定します。 通常、この値を調整する必要はありませんが、 gfmd との間の通信遅延が大きい場合は、この値を大きくすることによって 性能が改善する可能性があります。
デフォルトは 1 です。
この文はgfsdが参照するgfarm2.confのみで有効です。
例:
spool_check_parallel_step 16
CPU負荷
指定されたCPU負荷をgfsdのCPU負荷に加えます。 このオプションはgfsdノード(ファイルシステムノード)でのみ有効です。 デフォルトは0.0です。 このオプションにより、スケジューリングの優先度を変更することができます。
例:
spool_base_load 1.0
有効性
digest文によりチェックサム計算が有効となっている場合、 ファイル読込時にチェックサムが計算されます。 チェックサムが異なる場合、つまり、ファイルが損傷している場合は lost+foundディレクトリに移動し、損傷したファイルは自動的に除かれます。 この文でdisableと指定することによって、 この移動を抑制することができます。
このオプションはgfsdノード(ファイルシステムノード)でのみ有効です。 デフォルトはenableです。
例:
spool_digest_error_check disable
gfmdホスト名
gfmdが動作しているホスト名を指定します。
この設定は必須です。
例:
metadb_server_host ldap.example.com
gfmdポート番号
gfmdが利用するTCPポートの番号を指定します。 省略時のデフォルト・ポート番号は601番です。
例:
metadb_server_port 601
cred_type
GSI認証において、gfmdが用いる証明書の種類を指定します。 sharedsecret利用時には、この指定は単に無視されます。 設定の意味についてはspool_server_cred_typeの項を 参照してください。
cred_service
GSI認証において、metadb_server_cred_typeとして 「host」を指定している場合に、gfmdが用いるサービス証明書の 種類を指定します。 sharedsecret利用時には、この指定は単に無視されます。 設定の意味についてはspool_server_cred_typeの項を 参照してください。
cred_name
GSI認証において、metadb_server_cred_typeで指定した値に 応じて、gfmdが用いる証明書の設定を行います。 sharedsecret利用時には、この指定は単に無視されます。 設定の意味についてはspool_server_cred_typeの項を 参照してください。
数
gfmd が listen(2) システムコールの第二引数に渡すバックログ・パラメータの数を指定します。 デフォルト値は、<sys/socket.h> に SOMAXCONN 定数が定義されているOSではその値 (OSに依存しますが、典型的な値は 128)、定義されてないOSでは 5 となります。
この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。
例:
metadb_server_listen_backlog 128
数
メタデータサーバgfmd用のディスクリプタ・リミット値を指定します。 省略された場合、OSのハード・リミット値と、131072 の、小さい方の値が 使われます。 大規模な構成では、この値を増やす必要がありますし、 小規模な構成では減らした方が良いでしょう。 この値の計算方法については、Gfarm FAQ を御覧ください。
この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。
例:
metadb_server_max_descriptors 262144
バイト数
メタデータサーバgfmd内の各スレッドが利用するスタックのサイズを 指定します。省略された場合OSのデフォルト値が使われます。 このパラメータは、gfmdの消費する仮想メモリ空間のサイズを節約するために 用います。
たとえば、CentOS 5/i386の場合、デフォルトのスタックサイズは10 MiBです ので、このパラメータでスタックサイズを256 KiBに抑えると、gfmdのスタック が消費する仮想メモリ空間のサイズを、1/40に減らすことができます。
この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。
例:
metadb_server_stack_size 262144
スレッド数
メタデータサーバgfmdのスレッドプールのスレッド数を指定します。 メタデータサーバノードのコア数くらいに設定すると効果的です。 デフォルト値は16です。
この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。
例:
metadb_server_thread_pool_size 16
キュー長
メタデータサーバgfmdのジョブキューのキュー長を指定します。 一度に接続する最大クライアントの数より多い値に設定すると効果的です。
この値は metadb_server_remover_queue_length + (simultaneous_replication_receivers + 1) * ファイルシステムノード数 よりも大きな値に設定する必要がありますので、 ファイルシステムノード数が 754 を越えた場合には、設定が必須となります。
デフォルト値は16000です。
この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。
例:
metadb_server_job_queue_length 21664
キュー長
メタデータサーバgfmdが、gfsdへ複製削除要求を送るジョブキューのキュー長を指定します。 metadb_server_job_queue_length よりは少ない値を設定します。 デフォルト値は160です。
この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。
例:
metadb_server_remover_queue_length 40
秒数
メタデータサーバgfmdの削除キュー処理に関する統計情報ログの、 記録頻度を秒数で指定します。 デフォルト値は3600秒です。
この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。
例:
metadb_server_remove_scan_log_interval 86400
数字
メタデータサーバgfmdの削除キュー処理が、 CPU時間をどの程度使用してよいかを調整するパラメータを指定します。 削除キュー処理は、最大でCPU時間の 1 / (metadb_server_remove_scan_interval_factor + 1) を使用することになります。 デフォルト値は5です。
この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。
例:
metadb_server_remove_scan_interval_factor 2
秒数
メタデータサーバ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
秒数
新マスターgfmdが各ファイルシステムサーバのgfsdプロセスに起動を 通知する処理を行なうまでの遅延時間を秒数で指定します。 デフォルト値はGfarm-2.7.17では5秒ですが、それ以降のバージョン では0です。
この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。
例:
failover_notify_delay 5
キュー長
メタデータサーバgfmdではメタデータの変更をバックエンドDBに 非同期的に反映しますが,そのキューの長さを指定します。 キュー長を長くすると,バックエンドDBの更新速度に律速されにくくなります。 デフォルト値は65536です。
この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。
例:
metadb_server_dbq_size 65536
サイズ制限値
メタデータサーバが gfsd back channel への接続に用いるソケットの SO_SNDBUF サイズの上限を指定します。 バッファ長を短くすると,メタデータサーバからの要求が過度に溜らなくなり、 gfsd の back channel 接続が切れてしまう問題を緩和できます。 引数にdisableと指定すると、制限がかからなくなります。 デフォルトの制限値は 4096バイトです。
この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。
例:
metadb_server_back_channel_sndbuf_limit 16384
有効性
enable の場合、gfmd はホームディレクトリの .gfarm_shared_key ファイルを 読む際に、そのホームディレクトリのオーナー権限を用います。 disable の場合、root 権限のままで読みます。
sharedsecret 認証を行なう Gfarm ユーザーのホームディレクトリを、 no_root_squash エクスポート・オプションなしの NFS を用いて共有している場合、 enable にしておく必要があります。 デフォルトはenableですが、利用環境が許すのであれば disableに変更すると、 gfmdのCPU負荷を若干低減できます。
この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。
例:
metadb_server_nfs_root_squash_support disable
LDAPサーバー・ホスト名
gfmdのバックエンド・データベースとして LDAPサーバを選択する場合、 LDAPサーバーが動作しているホスト名を指定します。 この文はgfmd.confで用いられ、gfarm2.confでは用いられません。
例:
ldap_server_host ldap.example.com
LDAPサーバー・ポート番号
LDAPサーバーが利用するTCPポートの番号を指定します。
ldap_server_hostを指定する場合には、 この設定は必須です。
例:
ldap_server_port 602
LDAP_base_distinguished_name
LDAPデータベースで保持するデータのキーの根となるノードの 名称、base distinguished nameを指定します。
ldap_server_hostを指定する場合には、 この設定は必須です。
例:
ldap_base_dn "dc=example, dc=com"
LDAP_bind_distinguished_name
LDAPデータベースに接続する際の認証に用いる名称を、distinguished nameで指定します。
例:
ldap_bind_dn "cn=gfarmuser, dc=example, dc=com"
password
LDAPデータベースに接続する際の認証パスワードを指定します。
例:
ldap_bind_password "secret-ldap-password"
PostgreSQLサーバー・ホスト名
gfmdのバックエンド・データベースとして PostgreSQLサーバを選択する場合、 PostgreSQLサーバーが動作しているホスト名を指定します。 この文はgfmd.confで用いられ、gfarm2.confでは用いられません。
例:
postgresql_server_host postgresql.example.com
PostgreSQLサーバー・ポート番号
PostgreSQLサーバーが利用するTCPポートの番号を指定します。
postgresql_server_hostを指定する場合には、 この設定は必須です。
例:
postgresql_server_port 602
dbname
PostgreSQLデータベース名を指定します。
postgresql_server_hostを指定する場合には、 この設定は必須です。
例:
postgresql_dbname gfarm
user
PostgreSQLデータベースに接続するデータベース管理下のユーザ名を指定します。
例:
postgresql_user gfarm
password
PostgreSQLデータベースに接続するデータベース管理下のユーザのパスワードを指定します。
例:
postgresql_password "secret-postgresql-password"
connection_info
PostgreSQLデータベースに接続するときの接続オプションを指定します。
例:
postgresql_conninfo "sslmode=require connect_timeout=30"
有効性
認証方法
ホスト指定
この文は、第3引数で指定したホストとの通信に用いる認証方法を設定します。
第1引数の有効性
部には、enableないしdisable
キーワードを指定します。
第2引数の認証方法
部には、
sharedsecret、
sasl_auth、
sasl、
tls_sharedsecret、
tls_client_certificate、
kerberos_auth、
kerberos、
gsi_auth、
ないし
gsi
キーワードを指定します。
第3引数には、ホスト指定
を記述します。
この文は複数指定可能です。各認証方法ごとに、先頭から順にホスト指定に 適合するかどうか調べ、有効であるとの指定に適合した場合、その認証方法が 利用候補になります。有効であるとの指定に適合しない場合や、あるいは 有効であるとの指定に適合するよりも前に無効であるとの指定に適合した 場合、その認証方法は、候補になりません。
この指定は、サーバー側とクライアント側の両方で解釈され、 双方ともで有効になっている認証方法のみが用いられます。
認証方法が異なるものに関しては、指定の順序は意味がありません。 複数の認証方法が候補となった場合、 sharedsecret、 sasl_auth、 sasl tls_sharedsecret、 tls_client_certificate、 kerberos_auth、 kerberos、 gsi_auth、 gsi 認証 の順序で試みます。 この順序は auth_trial_order ディレクティブで変更できます。
また sasl_auth および sasl はクライアント-サーバー間の認証のみで使われます。 たとえホスト指定が適合したとしてもサーバー間認証では使われません。
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認証のみを試みることになります。
認証方式
...クライアントが試行する認証方法の順序を変更します。 引数には、試行する順番で認証方法を羅列します。
クライアントが参照する gfarm2.conf に記載した場合、 クライアントと gfsd、 および クライアントと gfmd の間の接続で試行する認証方式を設定します。
gfsd が参照する gfarm2.conf に記載した場合、 gfsd と gfmd、 および gfsd どうしの間の接続で試行する認証方式を設定します。
gfmd.conf に記載した場合、 スレーブ gfmd と マスター gfmd の間の接続で試行する認証方式を設定します。
例:
auth_trial_order sharedsecret sasl_auth sasl tls_sharedsecret tls_client_certificate kerberos_auth kerberos gsi_auth gsi
上記はデフォルトと同じ順序で試行する場合の設定です。
パス名
sharedsecret認証に用いる秘密鍵ファイルのパス名を指定します。
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
数
一ユーザーあたり作成可能な dirset の最大値を指定します。
デフォルトは 100 です。
この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。
例:
directory_quota_count_per_user_limit 1000
秒
directory quota の再集計が必要となったときに、 実際に再集計を開始するまでの遅延時間(秒)を指定します。 再集計が複数回必要になった場合、何秒以内であればそれを集約して一回の集計で 済ませるかを設定します。
デフォルトは60秒です。
この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。
例:
directory_quota_check_start_delay 120
秒
directory quota の集計がメタデータ更新のために中断した時に、 集計を再開するまでの時間間隔(秒)を指定します。
メタデータ更新は通常連続して起きるため、間隔をおかずに再開しても すぐにまた中断し結果を捨ててやり直すこととなり集計作業が無駄になります。 また無駄な集計処理のために、並行して動作する replica_check の実行が きわめて遅くなります。 このパラメータに従って再開までに間隔をおくことにより、その問題を緩和します。
デフォルトは60秒です。
この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。
例:
directory_quota_check_retry_interval 120
秒
quota の集計がメタデータ更新のために中断した時に、 集計を再開するまでの時間間隔(秒)を指定します。
メタデータ更新は通常連続して起きるため、間隔をおかずに再開しても すぐにまた中断し結果を捨ててやり直すこととなり集計作業が無駄になります。 また無駄な集計処理のために、並行して動作する replica_check の実行が きわめて遅くなります。 このパラメータに従って再開までに間隔をおくことにより、その問題を緩和します。
デフォルトは60秒です。
この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。
例:
quota_check_retry_interval 120
数
directory の深さとして許される最大値を設定します。 ただし、深さの検査は厳密ではないので、この設定よりも深いディレクトリを 許容する処理もあります。
デフォルトは100です。
この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。
例:
max_directory_depth 200
オプション
[=値
] [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
ホスト指定
ファイルシステムノードのネットワークを指定します。 本ネットワークは、 ファイルシステムノード選択時のグルーピングに利用されます。 この文で指定したアドレスに適合しないIPアドレスの場合、 IPv4のクラスCネットワークが仮定されます。
複数のネットワークを指定する場合は、以下のように複数回指定します。
known_network 192.168.0.0/25
known_network 192.168.0.128/25
秒数
ネットワークを介したデータ受信のタイムアウト時間を秒単位で指定 します。 デフォルト値は60秒です。 この文は gfarm2.conf および gfmd.conf のいずれにおいても有効です。
Gfarmクライアントプログラムが指定した時間待ったもの、gfsd から のデータがまったく届かなかった場合は、その gfsd との通信を中止し、処理 を継続させるべく他の gfsd サーバとの通信を試みます。
gfmd が指定した時間待ったもの、gfsd からデータがまったく 届かなかった場合、その gfsd との通信を中止して、その gfsd はダウンした ものとみなします。
秒数
ネットワークを介したデータ送信のタイムアウト時間を秒単位で指定 します。 デフォルト値は0秒、つまりタイムアウトはありません。 この文は gfarm2.conf および gfmd.conf のいずれにおいても有効です。
データが指定した時間以上送信できない場合、その通信を中止し、再接 続を試みます。
ユーザ名
gfmd.conf内のこの文で指定されたユーザが、 デフォルトの特権ユーザとなります。
DN
gfmd.conf内のadmin_user文で指定された特権ユーザのSubject DNを指定します。
ユーザマップファイルパス名
[ホスト名
:[ポート番号
]] 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 の順番に適用します。
グループマップファイルパス名
[ホスト名
:[ポート番号
]]グローバルグループ名とローカルグループ名の対応関係を記述した グループマップファイルパス名を指定します。 このマップファイルは,ローカルシステムのグループIDを利用するgfarm2fsや Globus GridFTPのGfarm DSIなどで利用されます。 この設定は必須ではありませんが、 その場合ローカルグループ名はグローバルグループ名と等しいと仮定されます。
例:
local_group_map /etc/gfarm/gfarm-groupmap
グループマップファイルは、グローバルグループ名と ローカルグループ名を、空白で区切って各行に記述します。
メタデータサーバのホスト名/ポート番号を指定すると、 接続先のサーバごとに異なるグループマップファイルを適用します。 指定方法は local_user_map と同様です。
秒数
gfarmライブラリが内部的に保持している、ファイルシステムノード のスケジューリング処理に関わる情報、すなわちロードアベレージ、 ディスク空き容量、認証が通るか否か等のキャッシュの有効期限を秒数で指定します。 停止していたファイルシステムノードが復活したような場合、この期限が 切れるまでは、そのノードがスケジューリングされないことがあります。 デフォルトは600秒すなわち10分です。
例:
schedule_cache_timeout 60
秒数
gfarmクライアントがファイルシステムノードをスケジューリングする際の RPC通信のタイムアウト時間を秒数で指定します。 ファイルシステムノードの負荷が極めて高く、 ファイルにアクセスできない状況が発生する場合には、 このタイムアウトを伸ばしてください。
この値は gfhostコマンドが ファイルシステムノードを並行アクセスする際の 通信のタイムアウト時間としても用いられます。
デフォルトは35秒です。
例:
schedule_rpc_timeout 60
並列度
ファイルシステムノードを、スケジューリングのために並列検索する際の 並列度を指定します。 この数を増やすと並列度が高まり、スケジューリングが早く終りますが、 ファイルシステムノードの負荷は高くなります。 デフォルトは10です。
例:
schedule_concurrency 10
並列度
ファイルシステムノードのスケジューリング時に、 ファイルシステムノードが属する各ネットワークと、クライアントとの間の ネットワーク遅延を計測します。このパラメータは、各ネットワーク毎に 幾つのファイルシステムノードを対象に計測するかを指定します。 停止しているファイルシステムノードが多い場合や、 負荷の高いファイルシステムノードが多く計測誤差が大きい場合には、 このパラメータを増やした方が良いかもしれません。 このパラメータを増やした場合には、 それに応じて schedule_concurrency パラメータについても増やすことを推奨します。 デフォルトは3です。
例:
schedule_concurrency_per_net 3
CPU負荷
ファイルシステムノードのスケジューリング時に、 CPU負荷が低いとみなされるCPU負荷を指定します。 ここで指定されるCPU負荷より低いCPU負荷のファイルシステムノードが まずはスケジュール対象となります。 デフォルト値は0.1です。
例:
schedule_idle_load_thresh 0.1
CPU負荷
ファイルシステムノードのスケジューリング時に、 CPU負荷が高いとみなされるCPU負荷を指定します。 ここで指定されるCPU負荷より高いCPU負荷のファイルシステムノードは 当初スケジュール対象となりません。 デフォルト値は0.5です。
この文はクライアントおよびgfmdで有効です。
例:
schedule_busy_load_thresh 0.5
CPU負荷
ファイルシステムノードが選択されたとき、 CPU負荷のクライアントキャッシュにここで指定されるCPU負荷が加えられます。 これにより、 一度スケジュールされたファイルシステムノードが何度もスケジュールされることを防いでいます。 デフォルト値は0.3です。
例:
schedule_virtual_load 0.3
比率
ファイルシステムノードのスケジューリング時に、 ロードアベレージが schedule_busy_load_thresh 以下のノードが、 スケジューリング対象のノード数の何倍見つかったら、 検索を打ち切るかを指定します。 この値を大きくすると、より多くのノードを検索するため、 スケジューリングの精度は上がりますが、処理は遅くなります。 デフォルト値は4.0です。
例:
schedule_candidates_ratio 4.0
マイクロ秒
ファイルシステムノードのスケジューリング時に、 ファイルシステムノードが属する各ネットワークと、クライアントとの間の ネットワーク遅延が、何マイクロ秒増えたら、そのネットワークに対する スケジューリングの優先度を落すかを指定します。 同様なパラメータに schedule_rtt_thresh_ratio があり、 この2つパラメータによる計算のいずれかに当てはまると優先度が落ちます。 デフォルト値は1000マイクロ秒、すなわち 1ミリ秒です。
例:
schedule_rtt_thresh_diff 1000
比率
ファイルシステムノードのスケジューリング時に、 ファイルシステムノードが属する各ネットワークと、クライアントとの間の ネットワーク遅延が、何倍になったら、そのネットワークに対する スケジューリングの優先度を落すかを指定します。 同様なパラメータに schedule_rtt_thresh_diff があり、 この2つパラメータによる計算のいずれかに当てはまると優先度が落ちます。 デフォルト値は4.0です。
例:
schedule_rtt_thresh_ratio 4.0
比率
このパラメータは schedule_rtt_thresh_ratio と同じ意味となりますので、 そちらを利用してください。 このパラメータは以前のバージョンとの互換性のために残されています。 デフォルト値は4.0です。
例:
schedule_rtt_thresh 4.0
有効性
gfarmは、ファイルを書き込むノードを決める際、できる限りローカル ホストを優先するように動作します。この文でdisableと指定することによって、 ローカルホストを他のホストと同様に扱うように変更することができます。 デフォルトはenableです。
例:
write_local_priority disable
ドメイン名
gfarmがファイルを書き込むノードを決める際、できる限りここで 指定したドメインを優先するように動作します。 ここで指定したドメインにファイル作成可能なホストが存在しない場合や、 特にこの指定を行なわなかった場合には、全ノードが対象となります。 この指定を複数回行なっても、最初の指定のみが利用され、二番目以降は 単に無視されるので注意してください。
例:
write_target_domain example.org
バイト数
ファイルシステムノードで必要な最小限度のディスク空き容量を指定 します。このサイズ以下の空き容量しかないファイルシステムノードは、 ファイル書き込みを行う可能性のある操作を行う際に、選択されにくくなります。 指定はバイト単位で行いますが、数字の末尾に空白を開けずにk/M/G/Tを指定 することで、それぞれ1KiB/1MiB/1GiB/1TiBを単位とする ことができます。 デフォルトは512MiBです。
このパラメータは、gfarm2.confとgfmd.confの両方で指定する必要があります。 有効にするためには gfmd および Gfarmクライアントを再起動する必要があります。
例:
minimum_free_disk_space 1G
有効性
ローカルホストの gfsd が管理するファイル複製にクライアントがアクセスする場合、 オーバヘッドを削減するため、ファイルの読み書きに関しては、 通常 gfsd をバイパスして直接アクセスします。 この文でdisableと指定することによって、 このバイパスを無効化することができます。 この無効化機能は、ローカルホストのファイルアクセスに対して、 gfsdによるチェックサム計算を行うために用意されています。 詳しくは direct_local_access文の説明を参照してください。 デフォルトはenableです。
この文は、クライアントが参照するgfarm2.confのみで有効です。 gfsd や gfmd は、gfarm2.conf や gfmd.conf 中のこの文を無視します。
例:
direct_local_access disable
有効性
既存ファイルを更新する際、その実ファイルが置かれたファイルシステムノードの ディスクに空きがない場合(読込専用状態も含む)、つまり書き込み不可な ファイル複製だとしても更新できるようにします。 enable にすると、その他のファイルシステムノードにファイル複製を自動的に作成 してから、ファイルを更新します。 デフォルトはenableです。
この文は、Gfarmクライアントが参照するgfarm2.confのみで有効です。
例:
replication_at_write_open enable
有効性
Gfarmファイルシステムを read only にします。 デフォルトはdisableです。
この文はgfmdでのみ有効です。
例:
read_only enable
同時処理数
gfmd 主導の複製処理を、単一複製作成ホストに対して、 同時にいくつまで並行して行なうことを許すかを設定します。 デフォルトは 20です。
例:
simultaneous_replication_receivers 40
有効性
gfmd主導の複製先にbusyホストを含むかどうか設定します。 disableにすると、busyホストには複製は作成されません。 デフォルトはenableです。
例:
replication_busy_host disable
コネクション数
gfarmライブラリがgfsdとの通信に用いるコネクションを、いくつ までキャッシュするかを指定します。 デフォルトは16コネクションです。
例:
gfsd_connection_cache 32
バイト数
XML拡張属性の値として、何バイトまで設定可能かを指定します。 デフォルトは786432バイトです。 983040バイトよりも大きな値を指定することはできません。
この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。
例:
xmlattr_size_limit 786432
バイト数
拡張属性の値として、何バイトまで設定可能かを指定します。 デフォルトは65536バイトです。 983040バイトよりも大きな値を指定することはできません。
この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。
例:
xattr_size_limit 65536
個数
gfarmライブラリがキャッシュする属性の最大数を指定します。 デフォルトは40000個です。
例:
attr_cache_limit 100000
ミリ秒数
gfarmライブラリが属性をキャッシュしている時間を、ミリ秒単位で指定します。 デフォルトは 1000ミリ秒すなわち 1秒です。
例:
attr_cache_timeout 3600000
ミリ秒数
gfarmカーネルドライバにのみ関連する値で、ファイルデータを キャッシュしている時間を、ミリ秒単位で指定します。 デフォルトは 1000ミリ秒すなわち 1秒です。
例:
page_cache_timeout 3600000
パス名
ログファイルを指定します。
優先度レベル
どの優先度レベル以上のログを出力するかを指定します。 ここで指定したレベル未満の優先度のログは、syslogや標準エラーへ 送られません。 レベルは、優先度の高い順に"emerg", "alert", "crit", "err", "warning", "notice", "info", "debug"です。 デフォルトの出力レベルは"info"です。 "crit"以上の優先度を指定することは、お勧めできません。
例:
log_level debug
レベル
ログメッセージの冗長度を指定します。 デフォルトは0です。レベル0では、ログIDが出力されます。 レベル1では、レベル0に加えソースコードのファイル名と行番号が出力されます。 レベル2では、レベル1に加え関数名が出力されます。
例:
log_message_verbose_level 1
有効性
enableと指定した場合、認証処理に関する詳細なログを記録します。
例:
log_auth_verbose enable
有効性
enableと指定した場合、TLS処理に関する詳細なログを記録します。
例:
log_tls_verbose enable
有効性
enableと指定した場合、ファイル作成・変更・削除に関する 監査ログの出力機能を有効にします。
このパラメータは、gfarm2.confとgfmd.confの両方で有効です。
例:
file_trace enable
動作名
このパラメータでは、致命的なエラーが発生したときの動作を設定します。
デフォルトは backtrace_and_abort
です。
例:
fatal_action backtrace_and_abort
指定可能な動作名は以下の通りです:
バックトレースを出力した後、 abort(3) を呼びます。
バックトレースを出力した後、 exit(3) を呼びます。
abort(3) を呼びます。
exit(3) を呼びます。
コマンド行
Gfarmのアプリケーションプログラムがクラッシュした際 (SIGSEGV, SIGBUGを 受け取る等した場合)、このパラメータに記したデバッグコマンドが実行されます。 記述例を示します。
debug_command env DISPLAY=:0.0 xterm -e gdb %e %p
ここで、"%e", "%p" は実際のプログラム名、プロセスIDにそれぞれ展開されます。 "%" 文字自体をコマンドライン中に記述したい場合は、"%%" と書いて下さい。
このパラメータは、gfarm2.confとgfmd.confの両方で有効です。 このパラメータを指定しなかった場合、デバッグコマンドは実行されません。
秒数
利用可能なファイルシステムノードが存在しない場合, Gfarmクライアントライブラリはファイルシステムノードが利用可能になるまで試行を繰り返しますが、 そのタイムアウト時間を秒単位で指定します。 デフォルトは 30秒です。
例:
no_file_system_node_timeout 30
秒数
メタデータサーバへの接続後、認証要求への反応がない場合の タイムアウト時間を秒単位で指定します。 デフォルトは 35秒です。
例:
gfmd_authentication_timeout 45
秒数
メタデータサーバへの接続が切断された場合, メタデータサーバへの再接続を繰り返しますが, そのタイムアウト時間を秒単位で指定します。 デフォルトは 30秒です。
例:
gfmd_reconnection_timeout 30
秒数
ファイルシステムノードへの接続タイムアウトを指定します。 デフォルトは 30秒です。
例:
gfsd_connection_timeout 30
タイプ
このオプションがdisableの場合、atime(ファイルアクセス時刻)は更新されま せん。relativeの場合、mtime(ファイル修正時刻)またはctime(ファイル変更時 刻)よりも、既にセットされているatimeが早い時刻のとき、またはatimeが1日 以上更新されていないときだけ、atimeが更新されます。strictの場合、atime は常に更新されます。標準設定はrelativeです。
この文はgfmd.confのみで有効です。
例:
atime disable
ファイル数
同時にオープンできるファイル数の最大値を指定します。 デフォルトは1024です。
この文はgfmd.confのみで有効です。
例:
max_open_files 1024
有効性
このオプションがenableの場合、Gfarmクライアントライブラリ (libgfarm)は、 ファイル全体をシーケンシャルにアクセスする際、チェックサムを計算し、 そのファイルのメタデータに設定されているチェックサムと比較して検証します。 また、メタデータにチェックサムが設定されておらず、 書き込みオープンしている場合には、計算したチェックサムをメタデータに設定します。 デフォルトはdiableです。
この文は、クライアントが参照するgfarm2.confのみで有効です。 gfsd や gfmd は、gfarm2.conf や gfmd.conf 中のこの文を無視します。
例:
client_digest_check enable
バイト数
Gfarmクライアントライブラリ(libgfarm)で使われるファイルのバッファ サイズをバイト単位で指定します。デフォルトは1048576バイト(= 1MiB)です。 ファイルのバッファサイズは、遠隔ファイルアクセス性能を極端に低下させ ないためにも、デフォルト値以下である必要があります。
この文は、クライアントが参照するgfarm2.confのみで有効です。 gfsd や gfmd は、gfarm2.conf や gfmd.conf 中のこの文を無視します。
例:
client_file_bufsize 65536
並列度
gfprepコマンドと gfpcopyコマンドが並列で動作する際の 並列度を指定します。指定しない場合は4並列で動作します。
例:
client_parallel_copy 10
並列度
gfprepコマンドと gfpcopyコマンドが並列で動作する際の 最大並列度を指定します。指定しない場合は、最大16並列です。
例:
client_palallel_max 8
有効性
このオプションがenableの場合、プロファイル情報を出力します。
例:
profile enable
gfmdホスト名[:ポート番号]
...
冗長化メタデータサーバの接続先一覧をスペース区切りで指定します。 ポート番号を省略するとデフォルトの601を指定したことになります。
この文はgfarm2.confのみで有効であり、gfmd.confでは無視されます。
例:
metadb_server_list mds1 mds2:701
有効性
このオプションがenableの場合、メタデータ冗長化機能が有効になります。デフォルトは disable です。
この文はgfmd.confのみで有効です。
例:
metadb_replication enable
秒数
メタデータの同期レプリケーション実行時のタイムアウト時間を秒単位で設定します。 タイムアウト時間を過ぎた場合、同期先のスレーブgfmdとのgfmd channelの接続は切断されます。 接続が切断したスレーブgfmdへのレプリケーションは、スレーブgfmdが再接続してくるまで中断します。 デフォルトは 10 です。
この文はgfmd.confのみで有効です。
例:
synchronous_replication_timeout 30
有効性
このオプションがenableの場合、ジャーナルファイルへ更新情報を保存した後にfdatasyncを実行します。 実行するタイミングは、1つのトランザクションの開始から終了までのレコードを書き込んだ後です。 デフォルトはenableです。
この文はgfmd.confのみで有効です。
例:
synchronous_journaling disable
有効性
enable のとき、デフォルトのマスターgfmdとして設定されている場合でも、スレーブgfmdとして起動します。 デフォルトはdisableです。
この文はgfmd.confのみで有効です。
例:
metadb_server_force_slave enable
ノード数
スレーブgfmdの最大ノード数を指定します。デフォルトは16です。
この文はgfmd.confのみで有効です。
例:
metadb_server_slave_max_size 40
秒数
gfmd が SIGTERM シグナルを受けて停止する際に、 スレーブ gfmd へのメタデータ・レプリケーション完了を待つ タイムアウト時間を秒単位で設定します。 タイムアウト時間を過ぎた場合、スレーブ gfmd へのレプリケーションを諦めます。 デフォルトは 120 秒です。
この文はgfmd.confのみで有効です。
例:
metadb_server_slave_replication_timeout 180
ジャーナルディレクトリ
ジャーナルファイルの保存ディレクトリを指定します。 このオプションはconfig-gfarmで指定します。 このオプションが指定されていない場合、gfmdは起動しません。
この文はgfmd.confのみで有効です。
例:
metadb_journal_dir /var/gfarm-metadata/journal
ファイルサイズ
ジャーナルファイルの最大サイズを指定します。 サイズが大きいほど、gfmdが起動完了するまでの時間が長くなることに注意してください。 デフォルトは 33554432 (32 MiB)です。
この文はgfmd.confのみで有効です。
例:
metadb_journal_max_size 8388608
キュー長
スレーブgfmdが、マスターgfmdから受け取るジャーナルデータに関して、 メモリ上に保持する最大レコード数を指定します。 このサイズを越えて保持する必要が生じた場合には、バックエンド・データベース への反映に遅延が生じていると見なし、スレーブとしての動作を諦めて終了します。 デフォルトは100000です。
この文はgfmd.confのみで有効です。
例:
metadb_journal_recvq_size 100000
有効性
metadb_replication が enable の場合、gfmd は起動時にジャーナルファイルの 内容をバックエンドデータベースへ反映しますが、 この反映時にバックエンドデータベース側で同期コミットを行なうか否かを このディレクティブで制御します。 この設定が disable だと非同期にコミットを行なうため gfmd の起動が 高速化します。 デフォルトは disable です。 このディレクティブは現在 PostgreSQL バックエンドのみで実装されています。
この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。
例:
metadb_backend_sync_commit_at_initialization disable
ナノ秒
ファイルシステムノード削除時のレプリカ削除処理が、 gfmdが忙しい場合に処理を休む時間をナノ秒で指定します。 この値を増やすと、この処理の優先度が下がり、ゆっくり動作します。 デフォルトは20000000ナノ秒(20ミリ秒)です。 最大値は1000000000ナノ秒(1秒)です。
この文はgfmd.confのみで有効です。
例:
metadb_replica_remover_by_host_sleep_time 20000000
個数
ファイルシステムノード削除時のレプリカ削除処理が、 一度に処理するi-nodeの数を指定します。 この値を減らすと、この処理の優先度が下がり、ゆっくり動作します。 デフォルトは1024個です。
この文はgfmd.confのみで有効です。
例:
metadb_replica_remover_by_host_inode_step 1024
有効性
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 enableの場合に効果があります。enableと指定 した場合、replica_check機能が余剰ファイル複製を自動的に削除します。例 外として、ファイルがハードリンクされていて (nlink >= 2)、そのファイル 自身に複製数の設定 (gfarm.ncopyまたはgfarm.replicainfo)がされていない 場合、そのファイルの余剰ファイル複製は削除されません。デフォルトは enableです。
gfrepcheck remove コマンドを使うと、 この値を動的に変更したり、statusで現在の値を取得できます。
この文はgfmd.confのみで有効です。
例:
replica_check_remove disable
パーセント
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が有効な場合に効果があります。 猶予容量使用率が replica_check_remove_grace_used_space_ratioを超えた場 合に、余剰ファイル複製が削除されるまでの猶予期間を指定します。 猶予期間としてファイルのアクセス時間(atime)からの経過時間を秒数で指定します。 デフォルトは0です。
gfrepcheck remove_grace_time コマンドを使うと、 この値を動的に変更したり、statusで現在の値を取得できます。
この文はgfmd.confのみで有効です。
例:
replica_check_remove_grace_time 604800
有効性
enableと指定した場合、 replica_check機能が出力するログメッセージの数を削減することができます。 デフォルトはenableです。
gfrepcheck reduced_log コマンドを使うと、 この値を動的に変更したり、statusで現在の値を取得できます。
この文はgfmd.confのみで有効です。
例:
replica_check_reduced_log disable
秒数
gfsdが停止した場合、ここで指定した秒数までそのgfsdが停止していない(そ のgfsd上のファイル複製は正常である)とreplica_checkがみなします。これは gfsdを保守するために有用です。デフォルトは10800秒(3時間)です。
gfrepcheck host_down_thresh コマンドを使うと、 この値を動的に変更したり、statusで現在の値を取得できます。
この文はgfmd.confのみで有効です。
例:
replica_check_host_down_thresh 3600
ナノ秒
この値を増やすと、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が次回動作するまでの最小間隔(秒)を指定します。 デフォルトは10秒です。
gfrepcheck minimum_interval コマンドを使うと、 この値を動的に変更したり、statusで現在の値を取得できます。
この文はgfmd.confのみで有効です。
例:
replica_check_minimum_interval 5
有効性
enableと指定した場合、 gfarm.replicainfo拡張属性に従って複製を自動的に配置します。 disableと指定した場合、 gfarm.replicainfo拡張属性のホストグループごとの複製数の指定を無視して、 その合計数またはgfarm.ncopy拡張属性の値が大きい方を目標の複製数として 複製を配置します。 gfarm.replicainfo拡張属性については、 gfncopyのマニュアルを参照してください。 デフォルトは enable です。
gfstatus -Mm 'replicainfo disable' により、一時的に無効にすることができます。
この文はgfmd.confのみで有効です。
例:
replicainfo disable
有効性
enableと指定した場合、 ファイル書き込み後しばらく後に、gfsd がデータを読み直してチェックサムを 再確認する write_verify 機能が有効になります。 デフォルトは disable です。
この文は gfmd.conf のみで有効です。 gfarm2.confでは無視されます。 gfsd はその起動時に、gfmd に対して、この設定を問い合わせて動作します。
例:
write_verify enable
秒数
ファイルへの書き込み完了後、どの程度時間をおいて、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 を試みたが、対象ファイルが書き込みオープンされていて 実施できなかった場合に、どれだけの時間待ってから、再度 write_verify を 試みるかを指定します。
この設定値は、write_verify_interval で指定した時間より十分短い時間と することを推奨します。 デフォルトは 600秒 (10分) です。
この文は gfmd.conf のみで有効です。 gfarm2.confでは無視されます。 gfsd はその起動時に、gfmd に対して、この設定を問い合わせて動作します。
例:
write_verify_retry_interval 600
秒数
write_verify に関する統計情報をログ出力する間隔を指定します。 設定した値以上の時間が経過して、ファイルシステムノードでファイルが 更新されると、統計情報がそのファイルシステムノードのログに記録されます。
デフォルトは 3600秒 (1時間) です。
この文は gfmd.conf のみで有効です。 gfarm2.confでは無視されます。 gfsd はその起動時に、gfmd に対して、この設定を問い合わせて動作します。
例:
write_verify_log_interval 3600
有効性
クライアントとgfsd がデータ転送の際にrdmaを用いるかを指定します。 InfiniBand が装備されているノードでのみ有効です。
デフォルトはconfigureの際に--with-infiniband を指定していれば enable です。 それ以外はdisableで、enable にしても効果はありません。
環境変数で GFARM_RDMA_DISABLE が設定されていればrdma機能は使用されません。
例:
ib_rdma disable
デバイス名
クライアントとgfsd とのrdma 転送に使用するデバイスを指定します。 InfiniBand が装備されているノードでのみ有効です。
デフォルトは ibv_get_device_list() で見つかった最初の有効なデバイスです。
例:
rdma_device mlx4_1
ポート番号
クライアントとgfsd とのrdma 転送に使用するデバイスのポート番号を指定します。 InfiniBand が装備されているノードでのみ有効です。
デフォルトは 有効なデバイスの中の最初の有効なポートです。
例:
rdma_port 2
gid インデクス番号
クライアントとgfsd とのrdma 転送をGRHを用いて行うことを指定すると同時に、 その場合の gid のインデクスを指定します。 InfiniBand が装備されているノードでのみ有効です。
デフォルトは -1 でGRH を使わずローカルIDで転送します。
この文は gfsd.conf のみで有効です。 gfarm2.confでは無視されます。
例:
rdma_gid_index 0
バイト数
クライアントとgfsd とのrdma 転送を行う最小の転送サイズを指定します。 InfiniBand が装備されているクライアントノードでのみ有効です。
デフォルトは65536バイトです。
例:
rdma_min_size 4096
モード
クライアントのRDMA転送バッファの登録方法を指定します。 指定可能なモードには次のものがあります。
static 接続したgfsd 毎に一つの転送バッファを登録するモードです。
dynamic 転送の度に登録と解除を繰り返すモードです。
static のほうが登録の回数が少ないので若干速いメリットはありますが、 登録したバッファがずっとメモリロックされるため、接続gfsdが多いとメモリ負荷が 高くなり、登録に失敗する場合もあります。 両方を指定すると、static バッファを登録したうえで、 そのサイズを越えたIOの場合は dynamic が試みられます。
デフォルトは static です。
例:
rdma_mr_reg_mode static
rdma_mr_reg_mode static dynamic
バイト数
rdma_mr_reg_mode
で static
を
指定した時の初期登録サイズを指定します。
デフォルトは1 MiBです。
例:
rdma_mr_reg_static_min_size 1048576
バイト数
rdma_mr_reg_mode
で static
を
指定した時の最大拡張登録サイズを指定します。
転送を要求されたサイズが登録サイズより大きい時、このサイズまで拡張します。
デフォルトは16 MiBです。
例:
rdma_mr_reg_static_max_size 16777216
メカニズムリスト...
SASL認証で利用するメカニズムをスペースで区切って指定します。 指定可能な値は Cyrus SASL のドキュメント https://www.cyrusimap.org/sasl/sasl/authentication_mechanisms.html を参照してください。 cyrus-sasl-xoauth2-idp パッケージを導入している場合は、 これらに加えて XOAUTH2 も指定可能です。
サーバー側ではこの指定を省略することもでき、 その場合は Cyrus SASL の設定に応じたメカニズムが選択されます。
環境変数 GFARM_SASL_MECHANISMS が設定されている場合は、それがこのディレクティブよりも優先されます。
例:
sasl_mechanisms "PLAIN XOAUTH2"
ユーザー名
SASL 認証のユーザー名を指定します。
環境変数 GFARM_SASL_USER が設定されている場合は、それがこのディレクティブよりも優先されます。
例:
sasl_user "MyAccount"
パスワード文字列
SASL 認証の LOGIN や PLAIN 等のメカニズムで利用するパスワードを指定します。 XOAUTH2 メカニズムの場合ののトークンもこれで指定できます。
環境変数 GFARM_SASL_PASSWORD が設定されている場合は、それがこのディレクティブよりも優先されます。
なお、この設定がない場合、環境変数 JWT_USER_PATH が指すファイル、 あるいは環境変数も設定されていない場合は ファイル /tmp/jwt_user_u<ユーザーID>/token.jwt の内容をパスワードとして利用します。 ファイルから読むのは XOAUTH2 メカニズムでの利用を想定した機能ですが、 LOGIN や PLAIN といった XOAUTH2 以外のメカニズムを利用した場合でも、 パスワードをこのファイルから読むので注意してください。
例:
sasl_password "MyPasswordString"
暗号スイート
TLS認証で利用する暗号スイートをコロンで区切って指定します。 指定可能な値は https://www.openssl.org/docs/man1.1.1/man3/SSL_set_ciphersuites.html を参照してください。
例:
tls_cipher_suite "TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256"
ディレクトリ
TLS認証で利用する認証局のCA証明書を置くディレクトリを指定します。 このディレクトリへの証明書ファイルの設置方法は、以下の文書の CApath の項を参照してください。 https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_load_verify_locations.html
デフォルト値は /etc/pki/tls/certs/gfarm
です。
例:
tls_ca_certificate_path /etc/pki/tls/certs/gfarm
ディレクトリ
TLS認証で利用する認証局から提供されたCRLを置くディレクトリを指定します。
デフォルト値は /etc/pki/tls/certs/gfarm
です。
例:
tls_ca_revocation_path /etc/pki/tls/certs/gfarm
ディレクトリ
TLS認証で、通信相手の提示する証明書に署名する中間証明書を限定したい場合に設定します。 この設定がある場合、このディレクトリに置かれた以外の中間証明書は受け入れません。
デフォルトは未設定です。
例:
tls_ca_peer_verify_chain_path /etc/pki/tls/certs/gfarm.chain
ファイル名
TLS認証で自分自身を表す証明書のファイル名を指定します。
環境変数 X509_USER_CERT が設定されている場合は、それがこのディレクティブよりも優先されます。
さもなくば、クライアントの場合 ``$HOME/.gfarm/usercert.pem
''、
gfmd の場合 ``/etc/pki/tls/certs/gfmd.crt
''、
gfsd の場合 ``/etc/pki/tls/certs/gfsd.crt
''
がデフォルト値となります。
例:
tls_certificate_file /etc/pki/tls/certs/myself.crt
ファイル名
TLS認証で自身の証明書に署名した中間認証局の証明書を置くファイル名を指定します。 なお、中間証明書は必ずしも別ファイルに分離する必要はなく、 tls_certificate_file で指定したファイルにまとめて記述することも可能です。
デフォルトは未設定です。
例:
tls_certificate_chain_file /etc/pki/tls/certs/myself_intermediate.crt
ファイル名
TLS認証で自身が利用する証明書に対応する秘密鍵のファイル名を指定します。
環境変数 X509_USER_KEY が設定されている場合は、それがこのディレクティブよりも優先されます。
さもなくば、クライアントの場合 ``$HOME/.gfarm/userkey.pem
''、
gfmd の場合 ``/etc/pki/tls/private/gfmd.key
''、
gfsd の場合 ``/etc/pki/tls/private/gfsd.key
''
がデフォルト値となります。
例:
tls_key_file /etc/pki/tls/certs/myself.key
有効性
TLS通信において、ルート証明書に対応するCRLファイルの存在を必須としたい場合に disable と設定します。
デフォルトは enable であり、CRLファイルが存在しなくても構いません。 これは Apache httpd における ``SSLCARevocationCheck chain no_crl_for_cert_ok'' 設定と同様な動作となります。
例:
tls_allow_no_crl disable
有効性
TLS通信の traffic key 更新機能を抑制したい場合に disable と設定します。
デフォルトは enable です。
例:
tls_key_update disable
有効性
TLS通信で自身の証明書を提示する際に、 自身で証明書チェインの構築を行なって通信相手に送る場合 enable と設定します。
デフォルトは disable であり、通信相手が証明書チェインの構築を行ないます。
例:
tls_build_chain_local enable
有効性
TLS通信において、proxy 証明書の利用を禁止したい場合に disable と設定します。
デフォルトは enable です。 この場合、以下の順序でクライアント証明書を探します。
環境変数 $X509_USER_PROXY でファイル名を指定した proxy certificate
ファイル /tmp/x509up_uユーザーID
に置かれた proxy certificate
tls_certificate_file / tls_key_file で指定されたファイルにある証明書・秘密鍵ペア
例:
tls_proxy_certificate disable
数
OpenSSL の security_level 機能の数値を指定します。 指定可能な値とそれぞれの意味は OpenSSL のドキュメント https://www.cyrusimap.org/sasl/sasl/authentication_mechanisms.html を参照してください。
このパラメータのデフォルトは OpenSSL のコンパイル時に決まります。
例:
tls_security_level 2
gfarm2.confの文法をBNFで記述すると、下記のようになります。
<include_statement> |
<include_nesting_limit_statement> |
<protocol_compat_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_server_read_only_retry_interval_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_failover_notify_delay_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> |
<auth_trial_order_statement> |
<shared_key_file_statement> |
<digest_statement> |
<directory_quota_count_per_user_limit_statement> |
<directory_quota_check_start_delay_statement> |
<directory_quota_check_retry_interval_statement> |
<quota_check_retry_interval_statement> |
<max_directory_depth_statement> |
<sockopt_statement> |
<known_network_statement> |
<network_receive_timeout_statement> |
<network_send_timeout_statement> |
<admin_user_statement> |
<admin_user_gsi_dn_statement> |
<local_user_map_statement> |
<local_group_map_statement> |
<schedule_cache_timeout_statement> |
<schedule_rpc_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> |
<replication_at_write_open_statement> |
<read_only_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_file_statement> |
<log_level_statement> |
<log_message_verbose_level_statement> |
<log_auth_verbose_statement> |
<log_tls_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_backend_sync_commit_at_initialization_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_gid_index_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> |
<sasl_mechanisms_statement> |
<sasl_user_statement> |
<sasl_password_statement> |
<tls_cipher_suite_statement> |
<tls_ca_certificate_path_statement> |
<tls_ca_revocation_path_statement> |
<tls_ca_peer_verify_chain_path_statement> |
<tls_certificate_file_statement> |
<tls_certificate_chain_file_statement> |
<tls_key_file_statement> |
<tls_allow_no_crl_statement> |
<tls_key_update_statement> |
<tls_build_chain_local_statement> |
<tls_proxy_certificate_statement> |
<tls_security_level_statement>
"include" <pathname>
"include_nesting_limit" <number>
"protocol_compat" <version_string>
"spool" <pathname>
"spool_server_listen_address" <ipv4_address>
"spool_server_listen_backlog" <number>
"spool_server_cred_type" <cred_type>
"spool_server_cred_service" <cred_service>
"spool_server_cred_name" <cred_name>
"spool_server_back_channel_rcvbuf_limit" <size_limit>
"spool_server_read_only_retry_interval" <number>
"spool_check_level" <spck_level>
"spool_check_parallel" <number>
"spool_check_parallel_max" <number>
"spool_check_parallel_per_capacity" <size>
"spool_check_parallel_step" <number>
"spool_base_load" <load>
"spool_digest_error_check" <validity>
"metadb_server_host" <hostname>
"metadb_server_port" <portnumber>
"metadb_server_cred_type" <cred_type>
"metadb_server_cred_service" <cred_service>
"metadb_server_cred_name" <cred_name>
"metadb_server_listen_backlog" <number>
"metadb_server_max_descriptors" <number>
"metadb_server_stack_size" <number>
"metadb_server_thread_pool_size" <number>
"metadb_server_job_queue_length" <number>
"metadb_server_remover_queue_length" <number>
"metadb_server_remove_scan_log_interval" <number>
"metadb_server_remove_scan_interval_factor" <number>
"metadb_server_heartbeat_interval" <number>
"failover_notify_delay" <number>
"metadb_server_dbq_size" <number>
"metadb_server_back_channel_sndbuf_limit" <size_limit>
"metadb_server_nfs_root_squash_support" <validity>
"ldap_server_host" <hostname>
"ldap_server_port" <portnumber>
"ldap_base_dn" <string>
"ldap_bind_dn" <string>
"ldap_bind_password" <string>
"postgresql_server_host" <hostname>
"postgresql_server_port" <portnumber>
"postgresql_dbname" <string>
"postgresql_user" <string>
"postgresql_password" <string>
"postgresql_conninfo" <string>
"auth" <validity> <auth_method> <hostspec>
"auth_trial_order" <validity> <auth_method> ...
"enable" | "disable"
"sharedsecret" | "sasl_auth" | "sasl" | "tls_sharedsecret" | "tls_client_certificate" | "kerberos_auth" | "kerberos" | "gsi_auth" | "gsi"
"shared_key_file" <pathname>
"digest" <digest_type>
"directory_quota_count_per_user_limit" <number>
"directory_quota_check_start_delay" <number>
"directory_quota_check_retry_interval" <number>
"quota_check_retry_interval" <number>
"max_directory_depth" <number>
"sockopt" <socket_option>[=<number>] [""LISTENER" | <hostspec>]
"debug" | "keepalive" | "sndbuf" | "rcvbuf" |
"tcp_nodelay"
"known_network" <hostspec>
"network_receive_timeout" <number>
"network_send_timeout" <number>
"admin_user" <string>
"admin_user_gsi_dn" <string>
"local_user_map" <local_user_and_group_map_spec>
"local_group_map" <local_user_and_group_map_spec>
<pathname> |
<pathname> <hostname>|
<pathname> <hostname> ":" <portnumber>
"schedule_cache_timeout" <number>
"schedule_rpc_timeout" <number>
"schedule_concurrency" <number>
"schedule_concurrency_per_net" <number>
"schedule_idle_load_thresh" <load>
"schedule_busy_load_thresh" <load>
"schedule_virtual_load" <load>
"schedule_candidates_ratio" <floating_point_number>
"schedule_rtt_thresh_diff" <number>
"schedule_rtt_thresh_ratio" <floating_point_number>
"schedule_rtt_thresh" <floating_point_number>
"write_local_priority" <validity>
"write_target_domain" <string>
"minimum_free_disk_space" <size>
"direct_local_access" <validity>
"replication_at_write_open" <validity>
"read_only" <validity>
"simultaneous_replication_receivers" <number>
"replication_busy_host" <validity>
"gfsd_connection_cache" <number>
"xmlattr_size_limit" <size>
"xattr_size_limit" <size>
"attr_cache_limit" <number>
"attr_cache_timeout" <number>
"page_cache_timeout" <number>
"log_file" <pathname>
"log_level" <log_priority>
"log_message_verbose_level" <number>
"log_auth_verbose" <validity>
"log_tls_verbose" <validity>
"file_trace" <validity>
"fatal_action" <fatal_action_name>
"debug_command" <string_list>
"no_file_system_node_timeout" <number>
"gfmd_authentication_timeout" <number>
"gfmd_reconnection_timeout" <number>
"gfsd_connection_timeout" <number>
"atime" <atime_type>
"max_open_files" <number>
"client_digest_check" <validity>
"client_file_bufsize" <size>
"client_parallel_copy" <number>
"profile" <validity>
"metadb_server_list" <metadb_server_list_spec>
<hostname_port_spec> |
<hostname_port_spec> <metadb_server_list_spec>
"metadb_replication" <validity>
"synchronous_replication_timeout" <number>
"synchronous_journaling" <validity>
"metadb_server_force_slave" <validity>
"metadb_server_slave_max_size" <number>
"metadb_server_slave_replication_timeout" <number>
"metadb_journal_dir" <pathname>
"metadb_journal_max_size" <number>
"metadb_journal_recvq_size" <number>
"metadb_backend_sync_commit_at_initialization" <validity>
"metadb_replica_remover_by_host_sleep_time" <number>
"metadb_replica_remover_by_host_inode_step" <number>
"replica_check" <validity>
"replica_check_remove" <validity>
"replica_check_remove_grace_used_space_ratio" <number>
"replica_check_remove_grace_time" <number>
"replica_check_reduced_log" <validity>
"replica_check_host_down_thresh" <number>
"replica_check_sleep_time" <number>
"replica_check_minimum_interval" <number>
<string> |
<string> <string_list>
<ipv4_address> | <ipv4_address> "/" <address_mask> |
<hostname> | "." <domain_name> | "*"
<pathname_character> <pathname_character>*
<hostname_character> | "," | "/" | "_"
<hostname>|
<hostname> ":" <portnumber>
<hostname_character> <hostname_character>*
<alphabet> | <digit> | "-" | "."
<number>
<number> [ "k" | "M" | "G" | "T" ]
<digit> [<digit>*]
"0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
<number> | "disable"
""" <double_quoted_character>* """
<any_character_except_backslash_and_double_quotation> |
"\\" | "\""
"enable" | "disable"
"disable" | "display" | "delete" | "lost_found"
"disable" | "relative" | "strict"
"emerg" | "alert" | "crit" | "err" | "warning" |
"notice" | "info" | "debug"
"backtrace_and_abort" | "backtrace_and_exit" |
"abort" | "exit"
"ib_rdma" <validity>
"rdma_device" <string>
"rdma_port" <number>
"rdma_gid_index" <number>
"rdma_min_size" <number>
"rdma_mr_reg_mode" <mr_reg_mode>
"static" | "dynamic" | "static" "dynamic"
"rdma_mr_reg_static_min_size" <number>
"rdma_mr_reg_static_max_size" <number>
"replicainfo" <validity>
"write_verify" <validity>
"write_verify_interval" <number>
"write_verify_retry_interval" <number>
"write_verify_log_interval" <number>
"sasl_mechanisms" <string>
"sasl_user" <string>
"sasl_password" <string>
"tls_cipher_suite" <string>
"tls_ca_certificate_path" <pathname>
"tls_ca_revocation_path" <pathname>
"tls_ca_peer_verify_chain_path" <pathname>
"tls_certificate_file" <pathname>
"tls_certificate_chain_file" <pathname>
"tls_key_file" <pathname>
"tls_allow_no_crl" <validity>
"tls_key_update" <validity>
"tls_build_chain_local" <validity>
"tls_proxy_certificate" <validity>
"tls_security_level" <number>
以下は 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