gfarm2.conf

Autres langues

Langue: ja

Version: 25 March 2010 (ubuntu - 25/10/10)

Section: 5 (Format de fichier)

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ファイルの実体を保持するディレクトリ名を 指定します。

例:

         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_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の項を参照してください。
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_stack_size バイト数
メタデータサーバgfmd内の各スレッドが利用するスタックのサイズを 指定します。省略された場合OSのデフォルト値が使われます。 このパラメータは、gfmdの消費する仮想メモリ空間のサイズを節約するために 用います。

たとえば、CentOS 5/i386の場合、デフォルトのスタックサイズは10MBです ので、このパラメータでスタックサイズを256KBに抑えると、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のジョブキューのキュー長を指定します。 一度に接続する最大クライアントの数くらいに設定すると効果的です。 デフォルト値は160です。

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

例:

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

Gfarm-2.3.0まではこの文はgfmd.confのみで有効であり、gfarm2.confでは 無視されていましたが、Gfarm-2.3.1以降は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
 
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認証のみを試みることになります。

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
 
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が定義されています。

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

例:

         local_group_map /etc/gfarm/gfarm-groupmap
 

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

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

例:

         schedule_cache_timeout 60
 
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です。

例:

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

例:

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

例:

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

例:

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

例:

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

例:

         attr_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
 

GRAMMAR

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> |
                 ~~<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> |
                 ~~<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"
         <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>
         <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>
         <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"
 

EXAMPLES

メタデータの保存に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
 

FILES

%%SYSCONFDIR%%/gfarm2.conf
$HOME/.gfarm2rc

SEE ALSO

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