## Name

gfservice.conf — gfservice の設定ファイル

## DESCRIPTION

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 「gfs`n`」と「client`n`」 をそれぞれ使用します。

# 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` の値に展開されます。

## VARIABLES ABOUT GFMD

変数「gfmd`n`」(gfmd1, gfmd2, ...) は、gfmd サーバーを定義するために用います。 名前が「gfmd`n`_」で始まる変数 (たとえば `gfmd1_SSH`) は、対応する 「gfmd`n`」サーバーの設定パラメタをセットするため に用います。 gfservice が現在のところ認識する変数は、以下の通りです。

`gfmd`n``

  gfmd サーバーを登録します。 変数の値は、サーバーホストのホスト名 (もしくは IP アドレス) を表します。 gfservice は、この値を SSH 接続先ホストとしてしか 使用しないので注意して下さい。 Gfarm システム内で使用されるホスト名を指定するには、代わりに `gfmd`n`_CONFIG_GFARM_OPTOINS` という変数の中で、`-h` オプションを使用して下さい。

  gfmd1=md1-ctl.example.org
  gfmd1_CONFIG_GFARM_OPTIONS="-h md1.example.org"

`gfmd`n`_GFBINDIR`

  gfmd サーバー上で gfservice-agent コマンドが インストールされているディレクトリへのパスを指定します。 この変数が宣言されていると gfservice は、 「`$gfmd`n`_GFBINDIR`/gfservice-agent」を実行します。 宣言されていない場合は、「gfservice-agent」を実行します。

`gfmd`n`_CONFIG_GFARM_OPTIONS`

  config-gfarm コマンドのオプションを指定します。 デフォルト値は、空文字列 (オプションなし) です。 gfservice は config-gfarm サブコマンド およびその他多くのサブコマンドを実行する際に、この変数を参照します。 config-gfarm が完了した後であっても、この変数の宣言を 削除したり、編集したりはしないで下さい。

`gfmd`n`_PRIVATE_MODE`

  リモートホスト上の gfmd をプライベートモードで動作させる場合は、この 変数に「true」をセットします。

`gfmd`n`_AUTH_TYPE`

  認証タイプ ("sharedsecret", "gsi", "gsi_auth" のいずれか) を指定します。 この変数が定義されていない場合は、gfmd1 上で config-gfarm を実行したときの `AUTH_TYPE` の値が採用されます。 (変数 `gfmd1_CONFIG_GFARM_OPTIONS` の値によって、この ときの `AUTH_TYPE` の値は変わるので、注意して下さい。)

`gfmd`n`_CLUSTER_NAME`

  gfmd サーバのクラスタ名を指定します。 デフォルトは「」(空文字列) で、これはこのサーバがデフォルトのクラスタに 属することを意味します。

`gfmd`n`_SSH`

  SSH クライアントコマンドのパスおよびオプションを指定します。 gfservice が gfmd サーバーに接続するために SSH クライアントコマンドを実行する際、この変数が利用されます。 デフォルトは「ssh」です。

`gfmd`n`_SUDO`

  Sudo コマンドのパスおよびオプションを指定します。 gfservice が SSH を介して gfmd サーバー上で Sudo コマンドを実行する際、この変数が利用されます。 デフォルトは「sudo」です。

## VARIABLES ABOUT GFSD

変数「gfsd`n`」(gfsd1, gfsd2, ...) は、gfsd サーバーを定義するために用います。 名前が「gfsd`n`_」で始まる変数 (たとえば `gfsd1_SSH`) は、対応する 「gfsd`n`」サーバーの設定パラメタをセットするため に用います。 gfservice が現在のところ認識する変数は、以下の通りです。

`gfsd`n``

  gfsd サーバーを登録します。 変数の値は、サーバーホストのホスト名 (もしくは IP アドレス) を表します。 gfservice は、この値を SSH 接続先ホストとしてしか 使用しないので注意して下さい。 Gfarm システム内で使用されるホスト名を指定するには、代わりに `gfsd`n`_CONFIG_GFSD_OPTOINS` という変数の中で、`-h` オプションを使用して下さい。

  gfsd1=fs2-ctl.example.org
  gfsd1_CONFIG_GFSD_OPTIONS="-h fs2.example.org"

`gfsd`n`_GFBINDIR`

  gfsd サーバー上で gfservice-agent コマンドが インストールされているディレクトリへのパスを指定します。 この変数が宣言されていると gfservice は、 「`$gfsd`n`_GFBINDIR`/gfservice-agent」を実行します。 宣言されていない場合は、「gfservice-agent」を実行します。

`gfsd`n`_CONFIG_GFSD_OPTIONS`

  config-gfsd コマンドのオプションを指定します。 デフォルト値は、空文字列 (オプションなし) です。 gfservice は config-gfsd サブコマンド およびその他多くのサブコマンドを実行する際に、この変数を参照します。 config-gfsd が完了した後であっても、この変数の宣言を 削除したり、編集したりはしないで下さい。

`gfsd`n`_PRIVATE_MODE`

  リモートホスト上の gfsd をプライベートモードで動作させる場合は、この 変数に「true」をセットします。

`gfsd`n`_AUTH_TYPE`

  認証タイプ ("sharedsecret", "gsi", "gsi_auth" のいずれか) を指定します。 この変数が定義されていない場合は、gfmd1 上で config-gfarm を実行したときの `AUTH_TYPE` の値が採用されます。 (変数 `gfmd1_CONFIG_GFARM_OPTIONS` の値によって、この ときの `AUTH_TYPE` の値は変わるので、注意して下さい。)

`gfsd`n`_SSH`

  SSH クライアントコマンドのパスおよびオプションを指定します。 gfservice が gfsd サーバーに接続するために SSH クライアントコマンド実行する際、この変数が利用されます。 デフォルトは「ssh」です。

`gfsd`n`_SUDO`

  Sudo コマンドのパスおよびオプションを指定します。 gfservice が SSH を介して gfsd サーバー上で Sudo コマンドを実行する際、この変数が利用されます。 デフォルトは「sudo」です。

## VARIABLES ABOUT CLIENT

変数「client`n`」(client1, client2, ...) は、 client サーバーを定義するために用います。 名前が「client`n`_」で始まる変数 (たとえば `client1_SSH`) は、対応する 「client`n`」サーバーの設定パラメタをセットする ために用います。 gfservice が現在のところ認識する変数は、以下の通りです。

`client`n``

  クライアントホストを登録します。 変数の値は、クライアントホストのホスト名 (もしくは IP アドレス) を 表します。

`client`n`_GFBINDIR`

  クライアントホスト上で gfservice-agent コマンドが インストールされているディレクトリへのパスを指定します。 この変数が宣言されていると gfservice は、 「`$client`n`_GFBINDIR`/gfservice-agent」を実行します。 宣言されていない場合は、「gfservice-agent」を実行します。

`client`n`_MOUNT_GFARM2FS`

  mount.gfarm2fs コマンドのパスおよび オプションを指定します。 gfservice がクライアントホスト上で mount.gfarm2fs コマンドを実行してファイルシステムを マウントする際、この変数が利用されます。 デフォルトは「%%BINDIR%%/mount.gfarm2fs」です。

`client`n`_UMOUNT_GFARM2FS`

  umount.gfarm2fs コマンドのパスおよび オプションを指定します。 gfservice がクライアントホスト上で umount.gfarm2fs コマンドを実行してファイルシステムを アンマウントする際、この変数が利用されます。 デフォルトは「%%BINDIR%%/umount.gfarm2fs」です。

`client`n`_SSH`

  SSH クライアントコマンドのパスおよびオプションを指定します。 gfservice がクライアントホストに接続するために SSH クライアントコマンド実行する際、この変数が利用されます。 デフォルトは「ssh」です。

`client`n`_SUDO`

  Sudo コマンドのパスおよびオプションを指定します。 gfservice が SSH を介してクライアントホスト上で Sudo コマンドを実行する際、この変数が利用されます。 デフォルトは「sudo」です。

`client`n`_GFARM_CONF`

  gfarm2.confファイルのパスを絶対パスで指定します。 この値が設定されていない場合、gfserviceはgfmd1の gfarm2.confファイルのパスと同じパスを使用します(gfarm2.confファイルの パスは「gfmd1_CONFIG_GFARM_OPTIONS」シェル変数の値を基に決定されます)。

`client`n`_PRIVATE_MODE`

  この変数に「true」をセットすると、gfservice が サブコマンド config-client を実行する際、クライアント ホスト側の処理は root 権限を持たずに行います。

`client`n`_AUTH_TYPE`

  認証タイプ ("sharedsecret", "gsi", "gsi_auth" のいずれか) を指定します。 この変数が定義されていない場合は、gfmd1 上で config-gfarm を実行したときの `AUTH_TYPE` の値が採用されます。 (変数 `gfmd1_CONFIG_GFARM_OPTIONS` の値によって、この ときの `AUTH_TYPE` の値は変わるので、注意して下さい。)