## Name

config-gfsd — Gfarmのファイルスプールノードのセットアップ

## Synopsis

`config-gfsd` [`オプション`]

## DESCRIPTION

config-gfsdは、 Gfarmファイルシステムのファイルスプールノードを セットアップするためのユーティリティです。 なお、このファイルスプールノードに対するサーバプログラムは、 gfsdと名づけられています。 Gfarmの開発、評価、またはテストといった 私的な用途でファイルシステムを使用する場合を除き、 config-gfsdを実行するためには、 ルート権限が必要です。

config-gfsdは、設定ファイル `%%SYSCONFDIR%%/gfarm2.conf` (プライベートモードの場合は、 `%%SYSCONFDIR%%/gfsd.conf`) がホスト上に存在することを前提としています。 存在しない場合は、メタデータサーバから設定ファイルをコピーしてください。

config-gfsdは下記に示した順に実行します。

1. スプールディレクトリを作成します。

2. Gfarmの設定ファイル `%%SYSCONFDIR%%/gfarm2.conf`や `%%SYSCONFDIR%%/gfsd.conf`を更新します。

3. gfsdを起動/停止するためのスクリプト (または、設定ファイル)を作成します。

   大抵のOSにおいて、 config-gfsdは、 起動/停止スクリプトgfsd(プライベートモードの場合は、 `gfsd-ADDRESS`)を `/etc/init.d`または `/etc/rc.d/init.d`に置きます。 (どちらに置くかはOSに依存します。)

   Red Hat Enterprise Linux 7 またはそれ以降のsystemdで動作するLinuxにおいて、 config-gfsdは、 ユニット設定ファイルである`gfsd.service` (プライベートモードの場合は、 `gfsd-ADDRESS.service`)を `/etc/systemd/system`ディレクトリに 置きます。 その後、systemctl enable gfsd.service (または systemctl enable gfsd-ADDRESS.service) を実行します。

4. プライベートモードの場合、config-gfsdは、 gfhost -cを実行することにより、 メタデータサーバにファイルスプールノードであるホストを登録します。 プライベートモードではない場合、 config-gfsdは、 メタデータサーバにファイルスプールノードであるホストの登録方法を 以下に示す例のように表示します。

       Please ask admin_user to register your host by the following command:

       /usr/bin/gfhost -c -a x86_64-centos7.0-linux -p 600 -n 2 ext540

5. プライベートモードの場合、config-gfsdは gfsdを起動します。 プライベートモードではない場合、 config-gfsdは gfsdの起動方法を以下のように表示します。

       After that, start gfsd by the following command as a root:

       systemctl start gfsd.service

6. unconfig-gfsd.sh というスクリプトを %%SYSCONFDIR%% 上に作成します。 このスクリプトは、gfsd のセットアップの 取り消しを行います。 gfsd を停止し、 config-gfsd によって作成されたファイル (unconfig-gfsd.sh スクリプト自身を含む) をすべて消去します。

config-gfsdを使用して ファイルスプールノードをセットアップする前に、 config-gfsd -tを実行することを推奨します。 `-t`オプションを付けて実行することにより、 セットアップする代わりに全ての設定パラメータを表示します。

    $ config-gfsd -t

    prefix                 [--prefix]:
    hostname                     [-h]: host1.example.org
    listen address               [-l]: (all local IP addresses)
    architecture                 [-a]: x86_64-centos6.5-linux
    port                         [-p]: 600
    ncpu                         [-n]: 8
    spool directory                  : /var/gfarm-spool
    rc script                        : /etc/init.d/gfsd
    gfarm client conf file           : /etc/gfarm2.conf
    gfsd pid file                    : /var/run/gfsd.pid

[]で囲まれたオプション名は、 オプションとして指定できることを意味しています。

## OPTIONS

`--prefix` `パス`

  このオプションを付与した場合、 以下に挙げたgfsdに関連する複数のパスが 設定されます。 具体的には、以下の通りです。

  - gfsdのスプールディレクトリ: `PREFIX/var/gfarm-spool`

  - gfsdのPIDファイルを置くためのディレクトリ: `PREFIX/var/run`

  - 設定ファイルが置かれたディレクトリ: `PREFIX/etc`

  - gfsdの起動/停止スクリプトが置かれた ディレクトリ: `PREFIX/etc/init.d` か、 `PREFIX/rc.d/init.d/etc` これはOSに依存します。

  - ホスト上でsystemdが起動している場合に、特殊な例外が存在します。 そのホスト上で`--prefix`オプションとして空文字を指定する際、 config-gfsdはsystemdに ユニット設定ファイルを置きません。 その代わりに、`PREFIX/etc/init.d`に 旧形式の起動/停止スクリプトを置きます。

  - セットアップを取り消すスクリプト unconfig-gfsd.sh: PREFIX/etc/unconfig-gfsd.sh

  デフォルトでは""(空文字列)です。

`-a` `アーキテクチャ`

  ホストのアーキテクチャを指定します。 config-gfsdは、 指定されたアーキテクチャをgfhost -c コマンドに`-a`オプションの引数 として渡します。デフォルトで、 config-gfsdはアーキテクチャを推測しそれを使用します。

`-p` `ポート番号`

  gfsdが待ち受けるTCPポート番号を指定します。 デフォルトではプライベートモードの場合に10600、 それ以外では600が指定されます。

`-h` `ホスト名`

  ホスト名を指定することができます。 config-gfsdは、 指定されたホスト名をgfhost -c コマンドに非オプションの引数として渡します。 デフォルトでは、DNS上におけるそのホストの完全修飾ドメイン名(FQDN)となります。

`-l` `IPアドレス`

  gfsdの待ち受けるアドレスを指定すること ができます。 デフォルトでは、全てのローカルIPアドレスで待ち受けます。 オプションが指定された場合、以下に挙げた変更が生じます。

  - config-gfsdが起動/停止スクリプトを 作成する際、そのスクリプト名は、`gfsd` から`gfsd-ADDRESS`に変更されます。

  - config-gfsdがsystemdの設定ファイルを 作成する際、そのファイル名は、 `gfsd.service`から `gfsd-ADDRESS.service`に変更されます。

  - スプールディレクトリは、 `PREFIX/var/gfarm-spool`から `PREFIX/var/gfarm-spool-ADDRESS` に変更されます。 ただし、PREFIXは`--prefix`で指定された接頭辞です。

`-n` `cpu数`

  ホストのCPU数を指定することができます。 config-gfsdは、 指定されたCPU数をgfhost -c コマンドに`-n`オプションの引数 として渡します。 デフォルトでは、 config-gfsdはCPU数を推測しその値を与えます。

`--help`

  このコマンドの使用法を表示して、終了します。

`-S`

  このオプションを付与した場合、 プライベートモードを有効にします。 config-gfsdは、 ルート権限なしで実行可能なGfarmファイルシステムをセットアップします。 具体的には、以下の通りに設定手順を変更します。

  - gfsdにおけるデフォルトの待ち受け ポート番号(`-p`に対応)が、600から10600に変更されます。

  - `%%SYSCONFDIR%%/gfarm2.conf`の代わりに、 `%%SYSCONFDIR%%/gfsd.conf`設定ファイル を更新します。

  - gfhost -cコマンドを実行することにより、 ファイルスプールノードを登録します。

  - `-N`オプションが付与されているかに関わらず、 gfsdを起動します。

  `-S`オプションは、起動/停止スクリプトや 設定ファイルの位置を決して変更しません。 これらのファイルのデフォルト位置は 通常では特権ユーザの場合のみ書き込み可能であるため、 config-gfsdはこれらのファイルの生成に 失敗してしまいます。この問題を回避するためには、 `--prefix`オプションを合わせて指定してください。

`-N`

  このオプションを付与した場合、 gfsdを起動しません。

`-f`

  このオプションを付与した場合、 強制的に存在しているセットアップを上書きします。

`-t`

  このオプションを付与した場合、 人間が読みやすい形式で全ての設定パラメータの値を表示した後、 すぐに終了します。

`-T`

  `-t`オプションと似ていますが、 設定値をKEY=VALUE形式で表示します。

## FILES

`%%SYSCONFDIR%%/gfarm2.conf`

  クライアント側のGfarmが参照する設定ファイル

`%%SYSCONFDIR%%/gfsd.conf`

  gfsdが参照する設定ファイル (プライベートモードの場合のみ使用されます)

`/etc/init.d/gfsd`

  gfsdが参照する起動/停止スクリプト ファイル

`/etc/systemd/system/gfsd.service`

  systemdにより読み込まれる、 gfsdのユニット設定ファイル

## SEE ALSO

gfarm2.conf(5), config-gfarm(8), gfsd(8)