## Name

config-gfsd — set up a file spool node of Gfarm

## Synopsis

`config-gfsd` [`options`]

## DESCRIPTION

config-gfsd is a utility to set up a file sppol node of Gfarm file system. The server program for a file spool node is named gfsd. config-gfsd is required to be run with the root privilege, unless you use the file system for private purpose such as development, evaluation or test of Gfarm.

config-gfsd assumes that the configuration file `%%SYSCONFDIR%%/gfarm2.conf` (or `%%SYSCONFDIR%%/gfsd.conf` in case of the private-mode) exists on the host. Please copy the file from the metadata server, if missing.

It performs the following processes, in that order:

1. Crerate a spool directory.

2. Update the Gfarm configuration file `%%SYSCONFDIR%%/gfarm2.conf` or `%%SYSCONFDIR%%/gfsd.conf`.

3. Create a script (or a configuration file) to start/stop gfsd.

   On most systems, config-gfsd puts a start/stop script gfsd (or gfsd-ADDRESS in case of the private mode) onto either `/etc/init.d` or `/etc/rc.d/init.d`, according to the operating system.

   On Linux with systemd such as Red Hat Enterprise Linux 7 or later, config-gfsd puts the unit configuration file `gfsd.service` (or `gfsd-ADDRESS.service` in case of the private mode) onto `/etc/systemd/system`, and then executes systemctl enable gfsd.service (or systemctl enable gfsd-ADDRESS.service respectively).

4. In case of the private mode, config-gfsd registers the host as a file spool node to the metadata server, by executing gfhost -c command. In the non-private mode, it shows how to register the host as a file spool node to the metadata server, like this:

       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. In case of the private mode, config-gfsd starts gfsd. In the non-private mode, it shows how to start gfsd, like as follows:

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

       systemctl start gfsd.service

6. Puts the script unconfig-gfsd.sh on %%SYSCONFDIR%%. The script does unconfiguration of gfsd. It stops gfsd and removes all files created by config-gfsd including unconfig-gfsd.sh itself.

Before set up a file spool node using config-gfsd, it is recommended to execute config-gfsd -t. With `-t` option, the sets up is not performed. Instead, it shows values of all configurable parameters:

    $ 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

The option name surrounded by [ ] means that you can specify a value with that option.

## OPTIONS

`--prefix` `path`

  Configure some paths related to gfsd. Specifically, the followings are affected.

  - The spool directory of gfsd. That is `PREFIX/var/gfarm-spool`.

  - The directory to put a PID file of gfsd. That is `PREFIX/var/run`.

  - The directory of configuration files. That is `PREFIX/etc`.

  - The directory of start/stop script for gfsd. That is `PREFIX/etc/init.d` or `PREFIX/rc.d/init.d/etc` which is depending on operating systems.

  - If systemd is running on the host, there is a special exception. When an empty prefix is given by `--prefix` option on such host, config-gfsd doesn't put a unit configuration file for systemd. Instead, it puts traditional start/stop script at `PREFIX/etc/init.d`.

  - The unconfiguration script unconfig-gfsd.sh. That is PREFIX/etc/unconfig-gfsd.sh.

  The default is "" (empty).

`-a` `architecture`

  Specify architecture of the host. config-gfsd gives this value to gfhost -c as an argument of `-a` option. config-gfsd guesses the architecture, and use it by default.

`-p` `port`

  Specify a TCP port number the configured gfsd listens on. The default is 10600 if the private mode, 600 otherwise.

`-h` `hostname`

  Specify a hostname of the host. config-gfsd gives this value to gfhost -c as an non-option argument. The default is the fully qualified domainname of the host on DNS.

`-l` `address`

  Specify a listen address of gfsd. By default, it listens on all local IP addresses. If this option is specified, also the following changes occur:

  - The name of start/stop script is changed from `gfsd` to `gfsd-ADDRESS`, when config-gfsd creates the script.

  - The name of unit configuration file for systemd is changed from `gfsd.service` to `gfsd-ADDRESS.service`, when config-gfsd creates the file.

  - The spool directory is changed from `PREFIX/var/gfarm-spool` to `PREFIX/var/gfarm-spool-ADDRESS`, where PREFIX is a prefix given by `--prefix` option.

`-n` `ncpu`

  Specify the number of CPUs of the host. config-gfsd gives this value to gfhost -c as an argument of `-n` option. config-gfsd guesses the number of CPUs, and use it by default.

`--help`

  Show usage, then exit.

`-S`

  Enable the private mode. config-gfsd sets up the Gfarm file system which can be run without root privilege. Specifically, config-gfsd changes the configuration procedures as follows:

  - The default listen port of gfsd (corresponding with `-p` option) is changed from 600 to 10600.

  - It updates the configuration file `%%SYSCONFDIR%%/gfsd.conf`, instead of `%%SYSCONFDIR%%/gfarm2.conf`.

  - It registers the file spool node by executing gfhost -c.

  - It starts gfsd, unless `-N` option is given.

  `-S` option never changes locations of a start/stop script and a configuration file. Since the default locations of those files are usually writable only for privilege users, config-gfsd fails to create them. To avoid this problem, also specify `--prefix` option.

`-N`

  Do not start gfsd.

`-f`

  Force overwriting an existing set up.

`-t`

  Show values of all configurable parameters in human readable format, then exit immediately.

`-T`

  Like '-t', but it shows values in KEY=VALUE format.

## FILES

`%%SYSCONFDIR%%/gfarm2.conf`

  configuration file for Gfarm clients

`%%SYSCONFDIR%%/gfsd.conf`

  configuration file for gfsd (used only in the private mode)

`/etc/init.d/gfsd`

  start/stop script for gfsd

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

  unit configuration file for gfsd, read by systemd

## SEE ALSO

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