8 Mar 2013
gfservice.conf 5 Gfarm
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 「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` の値に展開されます。

## VARIABLES ABOUT GFMD

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

`gfmdn`

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

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

`gfmdn_GFBINDIR`

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

`gfmdn_CONFIG_GFARM_OPTIONS`

  `config-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_NAME`

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

`gfmdn_SSH`

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

`gfmdn_SUDO`

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

## VARIABLES ABOUT GFSD

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

`gfsdn`

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

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

`gfsdn_GFBINDIR`

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

`gfsdn_CONFIG_GFSD_OPTIONS`

  `config-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_SSH`

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

`gfsdn_SUDO`

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

## VARIABLES ABOUT CLIENT

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

`clientn`

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

`clientn_GFBINDIR`

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

`clientn_MOUNT_GFARM2FS`

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

`clientn_UMOUNT_GFARM2FS`

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

`clientn_SSH`

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

`clientn_SUDO`

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

`clientn_GFARM_CONF`

  gfarm2.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` の値は変わるので、注意して下さい。)