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は、一行に一文の形式で設定します。 ただし、行末に文字``\''を記述することによって、行を継続させることが できます。また、文字``#''から行末までは、コメントとして扱われ、無視 されます。
引数として、ホスト指定を記述できる文がいくつかありますが、 この場合、ホスト指定には、下記のいずれかを記述できます。
"."で区切られた0〜255までの数字4つで、IPアドレスを指定します。
IPアドレスと、"/"で区切られた0〜31までの数字で、ネットワークを 指定します。"/"以降の数字はnetmaskのビット長です。
ホスト名をドメイン名で指定します。
ドメイン名の先頭が"."ではじまる場合、このドメイン名に所属する全ての ホストを意味します。
"*"と記述されている場合、全てのホストを意味します。
全て大文字で"LISTENER"と記述すると、通信する相手に関係なく、 サーバー側(着呼側)のソケットを意味します。
文には、下記の種類があります。
gfsdが、gfarmファイルの実体を保持するディレクトリ名を 指定します。
例:
spool /var/spool/gfarm
gfsdがTCPおよびUDPの要求を受け付けるIPアドレスを指定します。 省略時は、そのホストの全てのIPアドレスで受け付けます。 このオプションは、一つのノードで複数のスプールを提供する場合に、 それぞれのスプールごとに、別々のIPアドレスを使ってgfsdを起動する ために用います。
例:
spool_server_listen_address 192.168.121.1
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"
GSI認証において、spool_server_cred_typeとして 「host」を指定している場合に、gfsdが用いるサービス証明書の 種類を指定します。 sharedsecret利用時には、この指定は単に無視されます。 詳しくはspool_server_cred_typeの項を参照してください。
GSI認証において、spool_server_cred_typeで指定した値に 応じて、gfsdが用いる証明書の設定を行います。 sharedsecret利用時には、この指定は単に無視されます。 詳しくはspool_server_cred_typeの項を参照してください。
gfmdが動作しているホスト名を指定します。
この設定は必須です。
例:
metadb_server_host ldap.example.com
gfmdが利用するTCPポートの番号を指定します。 省略時のデフォルト・ポート番号は601番です。
例:
metadb_server_port 601
GSI認証において、gfmdが用いる証明書の種類を指定します。 sharedsecret利用時には、この指定は単に無視されます。 設定の意味についてはspool_server_cred_typeの項を 参照してください。
GSI認証において、metadb_server_cred_typeとして 「host」を指定している場合に、gfmdが用いるサービス証明書の 種類を指定します。 sharedsecret利用時には、この指定は単に無視されます。 設定の意味についてはspool_server_cred_typeの項を 参照してください。
GSI認証において、metadb_server_cred_typeで指定した値に 応じて、gfmdが用いる証明書の設定を行います。 sharedsecret利用時には、この指定は単に無視されます。 設定の意味についてはspool_server_cred_typeの項を 参照してください。
メタデータサーバgfmd内の各スレッドが利用するスタックのサイズを 指定します。省略された場合OSのデフォルト値が使われます。 このパラメータは、gfmdの消費する仮想メモリ空間のサイズを節約するために 用います。
たとえば、CentOS 5/i386の場合、デフォルトのスタックサイズは10MBです ので、このパラメータでスタックサイズを256KBに抑えると、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のジョブキューのキュー長を指定します。 一度に接続する最大クライアントの数くらいに設定すると効果的です。 デフォルト値は16000です。
この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。
例:
metadb_server_job_queue_length 160
メタデータサーバ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ではメタデータの変更をバックエンドDBに 非同期的に反映しますが,そのキューの長さを指定します。 キュー長を長くすると,バックエンドDBの更新速度に律速されにくくなります。 デフォルト値は65536です。
この文はgfmd.confのみで有効であり、gfarm2.confでは無視されます。
例:
metadb_server_dbq_size 65536
gfmdのバックエンド・データベースとして LDAPサーバを選択する場合、 LDAPサーバーが動作しているホスト名を指定します。 この文はgfmd.confで用いられ、gfarm2.confでは用いられません。
例:
ldap_server_host ldap.example.com
LDAPサーバーが利用するTCPポートの番号を指定します。
ldap_server_hostを指定する場合には、 この設定は必須です。
例:
ldap_server_port 602
LDAPデータベースで保持するデータのキーの根となるノードの 名称、base distinguished nameを指定します。
ldap_server_hostを指定する場合には、 この設定は必須です。
例:
ldap_base_dn "dc=example, dc=com"
LDAPデータベースに接続する際の認証に用いる名称を、distinguished nameで指定します。
例:
ldap_bind_dn "cn=gfarmuser, dc=example, dc=com"
LDAPデータベースに接続する際の認証パスワードを指定します。
例:
ldap_bind_password "secret-ldap-password"
gfmdのバックエンド・データベースとして PostgreSQLサーバを選択する場合、 PostgreSQLサーバーが動作しているホスト名を指定します。 この文はgfmd.confで用いられ、gfarm2.confでは用いられません。
例:
postgresql_server_host postgresql.example.com
PostgreSQLサーバーが利用するTCPポートの番号を指定します。
postgresql_server_hostを指定する場合には、 この設定は必須です。
例:
postgresql_server_port 602
PostgreSQLデータベース名を指定します。
postgresql_server_hostを指定する場合には、 この設定は必須です。
例:
postgresql_dbname gfarm
PostgreSQLデータベースに接続するデータベース管理下のユーザ名を指定します。
例:
postgresql_user gfarm
PostgreSQLデータベースに接続するデータベース管理下のユーザのパスワードを指定します。
例:
postgresql_password "secret-postgresql-password"
PostgreSQLデータベースに接続するときの接続オプションを指定します。
例:
postgresql_conninfo "sslmode=require connect_timeout=30"
この文は、第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認証のみを試みることになります。
通信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/24
gfmd.conf内のこの文で指定されたユーザが、 デフォルトの特権ユーザとなります。
gfmd.conf内のadmin_user文で指定された特権ユーザのSubject DNを指定します。
sharedsecret認証において、 グローバルユーザ名とローカルユーザ名の対応関係を記述した ユーザマップファイルパス名を指定します。 この設定は必須ではありませんが、 その場合ローカルユーザ名がグローバルユーザ名に変換されます。
同一ユーザーに対して、 異なるローカルアカウント名を与えているファイルシステムノードがある場合や、 ローカルユーザ名とは異なるグローバルユーザ名を利用したい場合、 このファイルで、各ノードのローカルなユーザ名に対して、単一の グローバルユーザ名を定義します。
例:
local_user_map /etc/gfarm/gfarm-usermap
ユーザーマップファイルは、グローバルユーザー名と ローカルユーザー名を、空白で区切って各行に記述します。
ユーザマップファイルの内容例:
foobar foo
quux baz
この例の1行目の指定では、このノードのローカルユーザ名fooに 対してグローバルユーザ名foobarが定義されています。
グローバルグループ名とローカルグループ名の対応関係を記述した グループマップファイルパス名を指定します。 このマップファイルは,ローカルシステムのグループIDを利用するgfarm2fsや Globus GridFTPのGfarm DSIなどで利用されます。 この設定は必須ではありませんが、 その場合ローカルグループ名はグローバルグループ名と等しいと仮定されます。
例:
local_group_map /etc/gfarm/gfarm-groupmap
グループマップファイルは、グローバルグループ名と ローカルグループ名を、空白で区切って各行に記述します。
gfarmライブラリが内部的に保持している、ファイルシステムノード のスケジューリング処理に関わる情報、すなわちロードアベレージ、 ディスク空き容量、認証が通るか否か等のキャッシュの有効期限を秒数で指定します。 停止していたファイルシステムノードが復活したような場合、この期限が 切れるまでは、そのノードがスケジューリングされないことがあります。 デフォルトは600秒すなわち10分です。
例:
schedule_cache_timeout 60
ファイルシステムノードのスケジューリング時に、 CPU負荷が低いとみなされるCPU負荷を指定します。 ここで指定されるCPU負荷より低いCPU負荷のファイルシステムノードが まずはスケジュール対象となります。 デフォルト値は0.1です。
例:
schedule_idle_load_thresh 0.1
ファイルシステムノードのスケジューリング時に、 CPU負荷が高いとみなされるCPU負荷を指定します。 ここで指定されるCPU負荷より高いCPU負荷のファイルシステムノードは 当初スケジュール対象となりません。 デフォルト値は0.5です。
例:
schedule_busy_load_thresh 0.5
ファイルシステムノードが選択されたとき、 CPU負荷のクライアントキャッシュにここで指定されるCPU負荷が加えられます。 これにより、 一度スケジュールされたファイルシステムノードが何度もスケジュールされることを防いでいます。 デフォルト値は0.3です。
例:
schedule_virtual_load 0.3
ファイルシステムノードで必要な最小限度のディスク空き容量を指定 します。このサイズ以下の空き容量しかないファイルシステムノードは、 ファイル書き込みを行う可能性のある操作を行う際に、選択されにくくなります。 指定はバイト単位で行いますが、数字の末尾に空白を開けずにk/M/G/Tを指定 することで、それぞれ1kバイト/1Mバイト/1Gバイト/1Tバイトを単位とする ことができます。 デフォルトは128Mバイトです。
このパラメータは、gfarm2.confとgfmd.confの両方で指定する必要があります。 有効にするためには gfmd および Gfarmクライアントを再起動する必要があります。
例:
minimum_free_disk_space 1G
gfmd 主導の複製処理を、単一複製作成ホストに対して、 同時いくつまで並行して行なうことを許すかを設定します。 デフォルトは 20です。
例:
simultaneous_replication_receivers 40
gfarmライブラリがgfsdとの通信に用いるコネクションを、いくつ までキャッシュするかを指定します。 デフォルトは16コネクションです。
例:
gfsd_connection_cache 32
gfarmライブラリがキャッシュする属性の最大数を指定します。 デフォルトは40000個です。
例:
attr_cache_limit 100000
gfarmライブラリが属性をキャッシュしている時間を、ミリ秒単位で指定します。 デフォルトは 1000ミリ秒すなわち 1秒です。
例:
attr_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
利用可能なファイルシステムノードが存在しない場合, Gfarmクライアントライブラリはファイルシステムノードが利用可能になるまで試行を繰り返しますが、 そのタイムアウト時間を秒単位で指定します。 デフォルトは 30秒です。
例:
no_file_system_node_timeout 30
メタデータサーバへの接続が切断された場合, メタデータサーバへの再接続を繰り返しますが, そのタイムアウト時間を秒単位で指定します。 デフォルトは 30秒です。
例:
gfmd_reconnection_timeout 30
gfarm2.confの文法をBNFで記述すると、下記のようになります。
<statement> ::=
��<spool_statement> |
��<spool_server_listen_address_statement> |
��<spool_server_cred_type_statement> |
��<spool_server_cred_service_statement> |
��<spool_server_cred_name_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_stack_size_statement> |
��<metadb_server_thread_pool_size_statement> |
��<metadb_server_job_queue_length_statement> |
��<metadb_server_heartbeat_interval_statement> |
��<metadb_server_dbq_size_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> |
��<sockopt_statement> |
��<known_network_statement> |
��<admin_user_statement> |
��<admin_user_gsi_dn_statement> |
��<local_user_map_statement> |
��<local_group_map_statement> |
��<schedule_cache_timeout_statement> |
��<schedule_idle_load_thresh_statement> |
��<schedule_busy_load_thresh_statement> |
��<schedule_virtual_load_statement> |
��<minimum_free_disk_space_statement> |
��<simultaneous_replication_receivers> |
��<gfsd_connection_cache_statement> |
��<attr_cache_limit_statement> |
��<attr_cache_timeout_statement> |
��<log_level_statement> |
��<log_message_verbose_level_statement>
<spool_statement> ::= "spool" <pathname>
<spool_server_listen_address_statement> ::=
��"spool_server_listen_address" <ipv4_address>
<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>
<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_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_heartbeat_interval_statement> ::=
��"metadb_server_heartbeat_interval" <number>
<metadb_server_dbq_size_statement> ::=
��"metadb_server_dbq_size" <number>
<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"
<sockopt_statement> ::=
��"sockopt" <socket_option>[=<number>] [""LISTENER" | <hostspec>]
<socket_option> = "debug" | "keepalive" | "sndbuf" | "rcvbuf" |
��"tcp_nodelay"
<known_network_statement> ::= "known_network" <hostspec>
<admin_user_statement> ::= "admin_user" <string>
<admin_user_gsi_dn_statement> ::= "admin_user_gsi_dn" <string>
<local_user_map_statement> ::= "local_user_map" <pathname>
<local_group_map_statement> ::= "local_group_map" <pathname>
<schedule_cache_timeout_statement> ::= "schedule_cache_timeout" <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>
<minimum_free_disk_space_statement> ::=
��"minimum_free_disk_space" <size>
<simultaneous_replication_receivers> ::= "simultaneous_replication_receivers" <number>
<gfsd_connection_cache_statement> ::= "gfsd_connection_cache" <number>
<attr_cache_limit_statement> ::= "attr_cache_limit" <number>
<attr_cache_timeout_statement> ::= "attr_cache_timeout" <number>
<log_level_statement> ::= "log_level" <log_priority>
<log_message_verbose_level_statement> ::= "log_message_verbose_level" <number>
<no_file_system_node_timeout_statement> ::= "no_file_system_node_timeout" <number>
<gfmd_reconnection_timeout_statement> ::= "gfmd_reconnection_timeout" <number>
<hostspec> ::= <ipv4_address> | <ipv4_address> "/" <address_mask> |
��<hostname> | "." <domain_name> | "*"
<pathname> ::= <pathname_character> <pathname_character>*
<pathname_character> ::= <hostname_character> | "," | "/" | "_"
<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"
<string> ::= """ <double_quoted_character>* """
<double_quoted_character> ::=
��<any_character_except_backslash_and_double_quotation> |
��"\\" | "\""
<validity> ::= "enable" | "disable"
<log_priority> ::= "emerg" | "alert" | "crit" | "err" | "warning" |
��"notice" | "info" | "debug"
メタデータの保存にPostgreSQLを使い、IPアドレス192.168.0.0/24の ファイルシステムノードやクライアントに対して、sharedsecret認証を 使う例です。
spool /var/spool/gfarm
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
sockopt keepalive
メタデータの保存にLDAPを使い、任意のIPアドレスを使う ファイルシステムノードやクライアントに対して、GSI認証を使う例です。
spool /var/spool/gfarm
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 *
sockopt keepalive