gfservice は、設定をファイルから読み込みます。 (gfservice-agent は設定ファイルを読みません。)
設定ファイルはそれ自体が、Bourne シェルスクリプトになっています。 ファイルは、gfservice によって スクリプトとして評価されます。 以下に、設定ファイルの記述例を示します。
# gfmd サーバー
gfmd1=db1.example.com
gfmd2=db2.example.com
Bourne シェルと同様に、「#」で始まる行や空行は無視されます。
それ以外の行では、シェル変数を宣言します。
この例では、変数 gfmd1 を
db1.example.com という値にセットし、
変数 gfmd2 には
db12.example.com という値をそれぞれセット
しています。
「=」の前後に空白文字を置くことはできないので、注意して下さい。
変数 gfmd1 と gfmd2
は「ホスト ID」として使用します。
gfservice では、ホストを指定する際にホスト名ではなく、
ホスト IDを使用します。
gfservice start-gfmd gfmd2
上記のコマンドを実行すると、gfservice はサーバー
gfmd2 、つまり metadb2.example.com 上の gfmd
を起動します。
ホスト ID の末尾の数は 1 から、連続して割り当てなくてはなりません。
gfsd サーバーとクライアントホストを指定するには、ホスト ID
「gfsn」と「clientn」
をそれぞれ使用します。
# gfsd サーバー
gfsd1=fs1.example.com
# クライアント
client1=pc1.example.com
client2=pc2.example.com
client3=pc2.example.com
ホスト ID 変数に加え、gfservice はホスト ID に関連する 変数をいくつか認識します。
# gfmd1 に関する設定
gfmd1_CONFIG_GFARM_OPTIONS="-X -A $LOGNAME"
gfmd1_SSH="ssh -i $HOME/.ssh/id_rsa_gfservice"
gfmd1_SUDO=/usr/local/bin/sudo
この例で示しているように、空白文字を含む値をセットするには、引用符を使用
します。
$VARNAME は、シェル変数もしくは環境変数
VARNAME の値に展開されます。
変数「gfmdn」(gfmd1, gfmd2, ...) は、gfmd
サーバーを定義するために用います。
名前が「gfmdn_」で始まる変数 (たとえば
gfmd1_SSH) は、対応する
「gfmdn」サーバーの設定パラメタをセットするため
に用います。
gfservice が現在のところ認識する変数は、以下の通りです。
gfmdn
gfmd サーバーを登録します。
変数の値は、サーバーホストのホスト名 (もしくは IP アドレス) を表します。
gfservice は、この値を SSH 接続先ホストとしてしか
使用しないので注意して下さい。
Gfarm システム内で使用されるホスト名を指定するには、代わりに
gfmd
という変数の中で、n_CONFIG_GFARM_OPTOINS-h オプションを使用して下さい。
gfmd1=md1-ctl.example.org
gfmd1_CONFIG_GFARM_OPTIONS="-h md1.example.org"
gfmdn_GFBINDIR
gfmd サーバー上で gfservice-agent コマンドが
インストールされているディレクトリへのパスを指定します。
この変数が宣言されていると gfservice は、
「$gfmd/gfservice-agent」を実行します。
宣言されていない場合は、「gfservice-agent」を実行します。
n_GFBINDIR
gfmdn_CONFIG_GFARM_OPTIONSconfig-gfarm コマンドのオプションを指定します。 デフォルト値は、空文字列 (オプションなし) です。 gfservice は config-gfarm サブコマンド およびその他多くのサブコマンドを実行する際に、この変数を参照します。 config-gfarm が完了した後であっても、この変数の宣言を 削除したり、編集したりはしないで下さい。
gfmdn_PRIVATE_MODEリモートホスト上の gfmd をプライベートモードで動作させる場合は、この 変数に「true」をセットします。
gfmdn_AUTH_TYPE
認証タイプ ("sharedsecret", "gsi", "gsi_auth" のいずれか) を指定します。
この変数が定義されていない場合は、gfmd1 上で
config-gfarm を実行したときの
AUTH_TYPE の値が採用されます。
(変数 gfmd1_CONFIG_GFARM_OPTIONS の値によって、この
ときの AUTH_TYPE の値は変わるので、注意して下さい。)
gfmdn_CLUSTER_NAMEgfmd サーバのクラスタ名を指定します。 デフォルトは「」(空文字列) で、これはこのサーバがデフォルトのクラスタに 属することを意味します。
gfmdn_SSHSSH クライアントコマンドのパスおよびオプションを指定します。 gfservice が gfmd サーバーに接続するために SSH クライアントコマンドを実行する際、この変数が利用されます。 デフォルトは「ssh」です。
gfmdn_SUDOSudo コマンドのパスおよびオプションを指定します。 gfservice が SSH を介して gfmd サーバー上で Sudo コマンドを実行する際、この変数が利用されます。 デフォルトは「sudo」です。
変数「gfsdn」(gfsd1, gfsd2, ...) は、gfsd
サーバーを定義するために用います。
名前が「gfsdn_」で始まる変数 (たとえば
gfsd1_SSH) は、対応する
「gfsdn」サーバーの設定パラメタをセットするため
に用います。
gfservice が現在のところ認識する変数は、以下の通りです。
gfsdn
gfsd サーバーを登録します。
変数の値は、サーバーホストのホスト名 (もしくは IP アドレス) を表します。
gfservice は、この値を SSH 接続先ホストとしてしか
使用しないので注意して下さい。
Gfarm システム内で使用されるホスト名を指定するには、代わりに
gfsd
という変数の中で、n_CONFIG_GFSD_OPTOINS-h オプションを使用して下さい。
gfsd1=fs2-ctl.example.org
gfsd1_CONFIG_GFSD_OPTIONS="-h fs2.example.org"
gfsdn_GFBINDIR
gfsd サーバー上で gfservice-agent コマンドが
インストールされているディレクトリへのパスを指定します。
この変数が宣言されていると gfservice は、
「$gfsd/gfservice-agent」を実行します。
宣言されていない場合は、「gfservice-agent」を実行します。
n_GFBINDIR
gfsdn_CONFIG_GFSD_OPTIONSconfig-gfsd コマンドのオプションを指定します。 デフォルト値は、空文字列 (オプションなし) です。 gfservice は config-gfsd サブコマンド およびその他多くのサブコマンドを実行する際に、この変数を参照します。 config-gfsd が完了した後であっても、この変数の宣言を 削除したり、編集したりはしないで下さい。
gfsdn_PRIVATE_MODEリモートホスト上の gfsd をプライベートモードで動作させる場合は、この 変数に「true」をセットします。
gfsdn_AUTH_TYPE
認証タイプ ("sharedsecret", "gsi", "gsi_auth" のいずれか) を指定します。
この変数が定義されていない場合は、gfmd1 上で
config-gfarm を実行したときの
AUTH_TYPE の値が採用されます。
(変数 gfmd1_CONFIG_GFARM_OPTIONS の値によって、この
ときの AUTH_TYPE の値は変わるので、注意して下さい。)
gfsdn_SSHSSH クライアントコマンドのパスおよびオプションを指定します。 gfservice が gfsd サーバーに接続するために SSH クライアントコマンド実行する際、この変数が利用されます。 デフォルトは「ssh」です。
gfsdn_SUDOSudo コマンドのパスおよびオプションを指定します。 gfservice が SSH を介して gfsd サーバー上で Sudo コマンドを実行する際、この変数が利用されます。 デフォルトは「sudo」です。
変数「clientn」(client1, client2, ...) は、
client サーバーを定義するために用います。
名前が「clientn_」で始まる変数 (たとえば
client1_SSH) は、対応する
「clientn」サーバーの設定パラメタをセットする
ために用います。
gfservice が現在のところ認識する変数は、以下の通りです。
clientnクライアントホストを登録します。 変数の値は、クライアントホストのホスト名 (もしくは IP アドレス) を 表します。
clientn_GFBINDIR
クライアントホスト上で gfservice-agent コマンドが
インストールされているディレクトリへのパスを指定します。
この変数が宣言されていると gfservice は、
「$client/gfservice-agent」を実行します。
宣言されていない場合は、「gfservice-agent」を実行します。
n_GFBINDIR
clientn_MOUNT_GFARM2FSmount.gfarm2fs コマンドのパスおよび オプションを指定します。 gfservice がクライアントホスト上で mount.gfarm2fs コマンドを実行してファイルシステムを マウントする際、この変数が利用されます。 デフォルトは「%%BINDIR%%/mount.gfarm2fs」です。
clientn_UMOUNT_GFARM2FSumount.gfarm2fs コマンドのパスおよび オプションを指定します。 gfservice がクライアントホスト上で umount.gfarm2fs コマンドを実行してファイルシステムを アンマウントする際、この変数が利用されます。 デフォルトは「%%BINDIR%%/umount.gfarm2fs」です。
clientn_SSHSSH クライアントコマンドのパスおよびオプションを指定します。 gfservice がクライアントホストに接続するために SSH クライアントコマンド実行する際、この変数が利用されます。 デフォルトは「ssh」です。
clientn_SUDOSudo コマンドのパスおよびオプションを指定します。 gfservice が SSH を介してクライアントホスト上で Sudo コマンドを実行する際、この変数が利用されます。 デフォルトは「sudo」です。
clientn_GFARM_CONFgfarm2.confファイルのパスを絶対パスで指定します。 この値が設定されていない場合、gfserviceはgfmd1の gfarm2.confファイルのパスと同じパスを使用します(gfarm2.confファイルの パスは「gfmd1_CONFIG_GFARM_OPTIONS」シェル変数の値を基に決定されます)。
clientn_PRIVATE_MODEこの変数に「true」をセットすると、gfservice が サブコマンド config-client を実行する際、クライアント ホスト側の処理は root 権限を持たずに行います。
clientn_AUTH_TYPE
認証タイプ ("sharedsecret", "gsi", "gsi_auth" のいずれか) を指定します。
この変数が定義されていない場合は、gfmd1 上で
config-gfarm を実行したときの
AUTH_TYPE の値が採用されます。
(変数 gfmd1_CONFIG_GFARM_OPTIONS の値によって、この
ときの AUTH_TYPE の値は変わるので、注意して下さい。)