config-gfarmは、 Gfarm
ファイルシステムのメタサーバをセットアップするためのユーティリティです。
メタデータサーバのサーバプログラムは'gfmd'と呼ばれています。
Gfarmの開発、評価、またはテストといった
私的な用途でファイルシステムを使用する場合を除き、
config-gfarmを実行するためには、
ルート権限が必要です。
config-gfarmは下記に示した順に処理を実行します。
1.バックエンドDBをセットアップします。
2.Gfarmの設定ファイル
%%SYSCONFDIR%%/gfarm2.confや
%%SYSCONFDIR%%/gfsd.confを生成します。
3.バックエンドDBや、
gfmdと呼ばれる
Gfarmメタデータサーバを起動/停止するためのスクリプト(または、設定ファイル)を作成します。
大抵のOSにおいて、
config-gfarmは、
起動/停止スクリプトgfmdと
gfarm-pgsqlを /etc/init.dまたは
/etc/rc.d/init.dに置きます。
(どちらに置くのかは、OSに依存します。)
Red Hat Enterprise Linux 7
またはそれ以降のsystemdで動作するLinuxにおいて、
config-gfarmは、
ユニット設定ファイルであるgfmd.serviceや
gfarm-pgsql.serviceを
/etc/systemd/systemディレクトリに置きます。
その後、 systemctl enable
gfmd.service、 systemctl enable gfarm-pgsql.service
を順に実行します。
4.バックエンドDBや、gfmdを起動します。
5.unconfig-gfarm.sh
というスクリプトを
%%SYSCONFDIR%%
上に作成します。
このスクリプトは、メタデータサーバのセットアップの取り消しを行います。
gfmd
とバックエンドDBを停止し、
config-gfarm
によって作成されたファイル
(unconfig-gfarm.sh
スクリプト自身を含む)
をすべて消去します。
config-gfarmを使用して
メタデータサーバをセットアップする前に、
config-gfarm
-tを実行することを推奨します。
-tオプションを付けて実行することにより、
セットアップする代わりに全ての設定パラメータを表示します。
$ config-gfarm -t
prefix [--prefix]:
metadata backend [-b]: postgresql
(available backend: postgresql )
metadata directory [-l]: /var/gfarm-pgsql
metadata log directory [-L]: /var/gfarm-pgsql/pg_xlog
postgresql admin user [-U]: miles
postgresql admin password [-W]: (auto generated)
postgresql user [-u]: gfarm
postgresql password [-w]: (auto generated)
postgresql prefix [-P]: /usr
postgresql version [-V]: 9.2
postgresql XML supported [-X]: no
metadata replication [-r]: no
metaserver hostname [-h]: host1.example.org
matadata admin user [-A]: miles
matadata admin dn [-D]:
portmaster port [-p]: 10602
gfmd port [-m]: 601
auth type [-a]: sharedsecret
rc script for gfmd : /etc/init.d/gfmd
rc script for backend : /etc/init.d/gfarm-pgsql
gfmd conf file : /etc/gfmd.conf
gfarm client conf file : /etc/gfarm2.conf
gfmd pid file : /var/run/gfmd.pid
backend pid file : /var/run/postmaster.pid
[
]で囲まれたオプション名は、
オプションとして指定できることを意味しています。
--prefix パス
このオプションを与えた場合、
以下に挙げた
gfmdとバックエンドDBに関連する
複数のパスが設定されます。
具体的には、以下の通りです。
•Gfarmのメタデータを置くためのディレクトリ。
バックエンドDBがPostgreSQLである場合は、
PREFIX/var/gfarm-pgsqlとなります。
また、このパスは-Lオプションによって変更可能です。
--prefixと-lオプションを同時に指定した場合、
-lオプションが優先されます。
•Gfarmのメタデータに対するログファイルを置くためのディレクトリ。
バックエンドDBがPostgreSQLである場合は、
PREFIX/var/gfarm-pgsql/pg_xlogとなります。
また、このパスは-Lオプションによって変更可能です。
--prefixと-Lオプションを同時に指定した場合、
-Lオプションが優先されます。
•gfmdのジャーナルファイルを置くためのディレクトリ。
これは、PREFIX/var/gfarm-metadata/journalとなります。
また、このパスは-jオプションによって変更可能です。
--prefixと-jオプションを同時に指定した場合、
-jオプションが優先されます。
•gfmdとバックエンドDBのPIDファイル
を置くためのディレクトリ。
これは、PREFIX/var/runとなります。
•設定ファイルを置くためのディレクトリ。
これは、PREFIX/etcとなります。
•gfmdとバックエンドDBの起動/停止スクリプト
を置くためのディレクトリ。
これは、PREFIX/etc/init.d、または
PREFIX/rc.d/init.d/etcとなります。
(どちらに置くのかは、OSに依存します。)
•ホスト上でsystemdが起動している場合に、特殊な例外が存在します。
そのホスト上で--prefixオプションとして空文字列以外を指定すると、
config-gfarmはsystemdにユニット設定ファイルを置きません。
その代わりに、PREFIX/etc/init.dに
旧形式の起動/停止スクリプトを置きます。
•セットアップの取り消しを行うスクリプト
unconfig-gfarm.sh。
これは、PREFIX/etc/unconfig-gfarm.sh
となります。
デフォルトでは""(空文字列)です。
-b
バックエンドDB
バックエンドDBを指定することができます。
現在、"postgresql" (PostgreSQL)
だけがサポートされています。
"ldap" (LDAP)
は以前にサポートされていましたが、
サポートは継続されていません。
config-gfarm -tは、
利用可能なバックエンドDBをリスト表示します。
"postgresql"
がリストに存在する場合、PostgreSQLがデフォルトとして選択されます。
利用可能なバックエンドDBがldapのみである場合、
LDAPがデフォルトとして選択されてしまいます。
リストにないバックエンドDBをGfarmにサポートさせたい場合、
Gfarmを再度コンパイルする必要があるため、
注意してください。
-d
ダイジェストタイプ
チェックサム計算を有効するとともに、チェックサムのダイジェストタイプを
指定します。 引数
ダイジェストタイプ
には、
ホスト上にインストールされた
OpenSSL
ライブラリが対応している
ダイジェストタイプ名を小文字
(例: "md5")
で記します。
-U
Gfarmの管理ユーザ名
Gfarmファイルシステムの管理ユーザ名を指定することができます。
デフォルト値はOSによって異なるため、
config-gfarm -tを実行し、
ユーザ名を確認してください。
-u ユーザ名
このオプションを付与した場合、
セットアップしたgfmdは、
指定したユーザ名でバックエンドDBに接続します。
デフォルトは、"gfarm"です。
-P
インストール先のディレクトリ
このオプションを付与した場合、
バックエンドDBに対するインストール先のディレクトリ
(例えば、/usr/local)を指定することができます。
config-gfarmがバックエンドDBの管理コマンド
(例えば、PostgreSQLでのinitdb)を実行する際、
指定したディレクトリの下にこのコマンドが
インストールされていることを前提としています。
このオプションを省略した場合、
config-gfarmは、
環境変数PATHのリストからそのコマンドへのディレクトリを
探し出します。
-V バージョン
config-gfarmに対するバックエンドDBの
バージョンを表示することができます。
多くの場合、config-gfarmは、
正しいバージョン番号を検出することができます。
そのため、config-gfarmが
バージョン番号の検出に失敗した場合にのみ、
このオプションを使用することをお勧めします。
-l
メタデータ用ディレクトリ
バックエンドDBがGfarmのメタデータを記録したファイルを置く
ディレクトリへのパスを指定することができます。
バックエンドDBがPostgreSQLである場合、
指定したディレクトリは一般にPGDATAと呼ばれています。
デフォルトではPREFIX/var/gfarm-pgsql
が設定されており、このPREFIXは--prefixオプションで
与えられた値となります。
-L
ログファイル用ディレクトリ
バックエンドDBがログファイルを置くディレクトリへのパスを指定することができます。
バックエンドDBがPostgreSQLである場合、
デフォルトではPREFIX/var/gfarm-pgsql/pg_xlog
が設定されており、このPREFIXは--prefixオプションで
与えられた値となります。
-h ホスト名
メタデータサーバを認識するために使用されるホスト名を指定することができます。
デフォルトでは、DNS上におけるそのホストの完全修飾ドメイン名(FQDN)となります。
-j
ジャーナルファイル用ディレクトリ
gfmdがジャーナルファイルを置くディレクトリ
のパスを指定することができます。
このオプションは、-rオプションによりメタデータの複製が
有効となっている場合にのみ影響を及ぼします。デフォルトでは、
PREFIX/var/gfarm-metadata/journal
が設定されており、このPREFIXは--prefixオプションで
与えられた値となります。
-A ユーザ名
Gfarmファイルシステムの管理者を指定することができます。
このオプションを省略した場合、
config-gfarmは who am iコマンド
を実行することによりユーザ名を取得します。
-D
サブジェクトDN
グローバルユーザとしての管理者のサブジェクトDNを指定することができます。
GSI認証を行う場合、このオプションは必須です。
-p
バックエンドDB用ポート番号
設定したバックエンドDBが待ち受けるTCPポート番号を指定することができます。
デフォルトでは10602が指定されます。
-m
gfmd用ポート番号
設定したgfmdが待ち受ける
TCPポート番号を指定することができます。
デフォルトではプライベートモードの場合に10601、
それ以外では601が指定されます。
-a 認証方法
認証方法を指定することができます。
現在は、"sharedsecret"
または "gsi"
を使用することができ、
デフォルトは
"sharedsecret"となっています。
--help
このオプションを付与した場合、
config-gfarmの使用法を表示した後、
終了します。
-S
このオプションを付与した場合、
プライベートモードを有効にします。
config-gfarmは、
ルート権限なしで実行可能なGfarmファイルシステムをセットアップします。
具体的には、以下の通りに設定手順を変更します。
•gfmdのデフォルト待ち受けポート番号
(-mオプションに対応)は、601から10601に変更されます。
•ユーザマップファイル%%SYSCONFDIR%%/usermapが
作成されます。
メタデータサーバは、起動時にこのファイルを読み込みます。
プライベートモードでない場合、OS上にユーザアカウント
_gfarmmd と _gfarmfs が
作成されていなければいけません。
ユーザマップファイルがあれば、ユーザアカウントの作成は必要ありません。
このファイルは、実際のユーザアカウントに対する
Gfarmシステムユーザのマッピングを定義しています。
•gfsd設定ファイル%%SYSCONFDIR%%/gfsd.conf
が作成されます。
プライベートモードでない場合、
gfsdは、メタデータサーバと接続する全てのGfarmプログラムが読み込む前に、
gfarm設定ファイル
%%SYSCONFDIR%%/gfarm2.conf
を読み込みます。
%%SYSCONFDIR%%/gfsd.confは、
プライベートモードで起動するgfsd向けにカスタマイズされた
設定ファイルです。
-Sオプションは、起動/停止スクリプトや
設定ファイルの位置を決して変更しません。
これらのファイルのデフォルト位置は
通常では特権ユーザの場合のみ書き込み可能であるため、
config-gfarmはこれらのファイルの生成に
失敗してしまいます。この問題を回避するためには、
--prefixオプションを合わせて指定してください。
-N
このオプションを付与した場合、
gfmdとバックエンドDBを起動しません。
-f
このオプションを付与した場合、
強制的に存在しているセットアップを上書きします。
-t
このオプションを付与した場合、
人間が読みやすい形式で全ての設定パラメータの値を表示した後、
すぐに終了します。
-T
-tオプションと似ていますが、
設定値をKEY=VALUE形式で表示します。
-r
このオプションを付与した場合、
メタデータサーバ同士でのメタデータの複製を有効にします。
-W
バックエンドDB用パスワード
バックエンドDBの管理者パスワードを指定することができます。
このオプションは、ユーザ名を指定する-Uオプションに対応します。
デフォルトで、パスワードは自動的に生成されます。
-w
バックエンドDBへの接続用パスワード
設定されたgfmdは、
指定されたパスワードを使用してバックエンドDBと接続します。
このオプションは、ユーザ名を指定する-uオプションに対応します。
デフォルトで、パスワードは自動的に生成されます。
-X
このオプションを付与した場合、
拡張ファイル属性をクエリするためのXML
Path言語(XPath)
のサポートを有効にします。
-E
このオプションを付与した場合、
データチェックサムオプションを付けたPostgreSQLセットアップします。
config-gfarmは、
--data-checksumsオプションをPostgreSQLコマンド
initdbに渡します。
この機能を使用するには、PostgreSQL
9.3またはそれ以降のバージョンが必要です。
このオプションは、バックエンドDBがPostgreSQLであるときのみ機能します。
%%SYSCONFDIR%%/gfarm2.conf
Gfarmのクライアントが参照する設定ファイル
%%SYSCONFDIR%%/gfmd.conf
gfmdが参照する設定ファイル
%%SYSCONFDIR%%/gfsd.conf
gfsdが参照する設定ファイル
(プライベートモードの場合のみ使用)
%%SYSCONFDIR%%/usermap
ユーザマッピングを定義しているファイル
(プライベートモードの場合のみ使用)
/etc/init.d/gfarm-pgsql
GfarmのバックエンドDBとして動作する
PostgreSQLの起動/停止スクリプトファイル
/etc/init.d/gfmd
gfmdが参照する起動/停止スクリプトファイルです。
/etc/systemd/system/gfarm-pgsql.service
systemdにより読み込まれ、
GfarmのバックエンドDBとして動作する
PostgreSQLのユニット設定ファイル
/etc/systemd/system/gfmd.service
systemdにより読み込まれる、
gfmdのユニット設定ファイル