2 Feb 2015
config-gfarm-update 8 Gfarm
config-gfarm-update Gfarmメタデータの更新
`config-gfarm-update` オプション `config-gfarm-update` --update オプション

## DESCRIPTION

`config-gfarm-update`は、 メタデータサーバにおけるバックエンドDBを アップグレード/アップデートするコマンドです。 メタデータサーバがプライベートモードで設定されている場合を除き、 このコマンドを実行するためにはroot権限が必要です。 バックエンドDBに接続するための情報を得るため、 起動時に`gfmd`の設定ファイル (`gfmd.conf`)を読み込みます。

`config-gfarm-update`は、 以下に示すバックエンドDBの機能を有効にすることができます。

- XML Path言語(XPath)のサポート [-X]

- メタデータサーバ内でメタデータの複製 [-r]

- チェックサム計算 [-d]

バックエンドDBがこれらの機能をサポートするかどうかは、 `config-gfarm`によって初期設定が 行われたときに決定されます。 初期設定後に機能を有効にしたい場合は、 `config-gfarm-update --update`に 上記の一覧中の [ ] で囲まれたオプションをつけて実行してください。

`config-gfarm-update`は、 バックエンドDBのアップグレードにも使用されます。 このコマンドを実行することにより、 データベース内のテーブルスキーマやデータが編集されます。 Gfarmは古いリリースに対して互換性がない可能性があるため、 アップグレードの必要がある場合は、`--update`オプションを付けて `config-gfarm-update`を実行してください。

メタデータサーバをアップデートやアップグレードする際、 `gfmd`を停止してから実行しなければ いけません。 また、ファイルシステム内にメターデータサーバが複数存在する場合は、 全てのメタデータサーバ上で`config-gfarm-update` を実行してください。 メタデータサーバのアップデートやアップグレード後、 ホスト上のメタデータサーバは、 このコマンドにより起動されます。

`config-gfarm`と同様に、 `config-gfarm-update`には、 全ての設定パラメータの値を表示する`-t`オプションが存在します。 このコマンドの実行例は以下の通りです。

    $ config-gfarm-update -t
    prefix [--prefix]:
    metadata backend    [-b]: postgresql
    metadata directory  [-l]: /var/gfarm-pgsql
    postgresql admin user        [-U]: postgres
    postgresql admin password    [-W]: (auto generated)
    postgresql user              [-u]: gfarm
    postgresql password          [-w]: (auto generated)
    postgresql prefix            [-P]: /usr
    postgresql version           [-V]: 8.4
    postgresql XML supported     [-X]: no
    postgresql data checksum support
                                 [-E]: no
    portmaster port              [-p]: 10602
    metadata replication         [-r]: yes
    metadata journal directory   [-j]: /var/gfarm-metadata/journal
    digest type                  [-d]: md5

アップデートやアップグレードを行う前に、 `config-gfarm-update -t` を実行することを推奨します。

バックエンドDBがPostgreSQLである場合、 かつ`config-gfarm-update`が `--update`オプション無しで処理された場合は、 `psql`コマンドが実行されます。 このコマンドは、バックエンドDBへのフロントエンドターミナルであり、 対話的にクエリを入力することができます。 `psql`はPostgreSQLへ 自動的に接続を行うので便利です。

## OPTIONS

`--prefix` パス

  `config-gfarm-update`は、 `gfmd`の設定ファイル `PREFIX/etc/gfmd.conf`を読み込みます。 デフォルトでは、 `%%SYSCONFDIR%%/etc/gfmd.conf` が読み込まれます。

`-P` インストール先のディレクトリ

  このオプションを付与した場合、 バックエンドDBに対するインストール先のディレクトリ (例えば、/usr/local)を指定することができます。 `config-gfarm-update`が`psql` などのPostgreSQLコマンドを実行する際、 指定したディレクトリの下にこのコマンドが インストールされていることを前提としています。 このオプションを省略した場合、 `config-gfarm-update`は、 環境変数`PATH`のリストからそのコマンドへのディレクトリを 探し出します。

`-l` パス

  バックエンドDBがGfarmのメタデータを記録したファイルを置く ディレクトリへのパスを指定することができます。

  バックエンドDBがPostgreSQLである場合、 指定したディレクトリは一般にPGDATAと呼ばれています。 デフォルトでは`PREFIX/var/gfarm-pgsql` が設定されており、このPREFIXは`--prefix`オプションで 与えられた値となります。

`-f` コマンドファイル

  このオプションを付与した場合、 `config-gfarm-update`がPostgreSQLへの フロントエンドターミナルとして`psql`を実行する際、 `config-gfarm-update`は `-f`オプションと与えられたファイル引数を `psql`に渡します。 そして、`psql`は、対話的にコマンドを読み込むのではなく、 このファイル内に書き込まれたコマンドを解釈します。 ただし、`--update`オプションが指定されている場合、 このオプションは無視されます。

`-o` オプション

  このオプションを付与した場合、 `config-gfarm-update`がPostgreSQLへの フロントエンドターミナルとして`psql`を実行する際、 `config-gfarm-update`は 与えられたオプションを`psql`に渡します。 ただし、`--update`オプションが指定されている場合、 このオプションは無視されます。

`-j` ジャーナルファイル用ディレクトリ

  `gfmd`によりジャーナルファイルが置かれる ディレクトリのパスを指定することができます。デフォルトでは、 `PREFIX/var/gfarm-metadata/journal` が設定されており、このPREFIXは`--prefix`オプションで 与えられた値となります。

`--help`

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

`-t`

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

`-N`

  このオプションを付与した場合、 アップデートやアップグレードを実行した後、 `gfmd`を起動/停止しません。 このオプションは`--update`オプション指定時のみ 有効となります。

`-r`

  このオプションを付与した場合、 メタデータサーバ内でメタデータの複製を有効にします。 このオプションは`--update`オプション指定時のみ 有効となります。

`-d` ダイジェストタイプ

  チェックサム計算を有効にし、チェックサムのダイジェストタイプを指定します。 引数 ダイジェストタイプ には、 そのホスト上にインストールされた OpenSSL ライブラリが対応しているタイプ名 を小文字 (たとえば "md5") で指定します。

`-X`

  このオプションを付与した場合、 拡張ファイル属性をクエリするためのXML Path言語(XPath) のサポートを有効にします。 このオプションは`--update`オプション指定時のみ 有効となります。

## FILES

`%%SYSCONFDIR%%/gfmd.conf`

  `gfmd`が参照する設定ファイル

## SEE ALSO

config-gfarm 8, gfmd 8, psql 1