GFSERVICE(1) | Gfarm | GFSERVICE(1) |
NAME¶
gfservice - リモートホストから Gfarm のサーバーを制御する。
SYNOPSIS¶
gfservice [オプション] サブコマンド [ホストID] [引数 ...]
DESCRIPTION¶
gfservice は、Gfarm の管理者がリモートホスト上の サーバー (gfmd、gfsd、PostgreSQL) を操作するためのツールです。 今のところ、OpenLDAP には対応していません。 サーバーの実行開始、停止、セットアップ (config-gfarm や config-gfsd の実行)、 サーバー廃止の後始末といったことができます。
gfservice のコマンド行は、たとえば次のようになります。
gfservice start-gfmd gfmd2
ここで、「start-gfmd」はサブコマンド、 「gfmd2」 はホストID をそれぞれ表しています。 このコマンド行を実行すると、gfservice は 「gfmd2」と名付けられたホスト上の gfmd の 実行開始を試みます。 リモートのサーバーホストを指定する際、gfservice では ホスト名の代わりにホストID を用います。 ホストID (gfmd1、 gfmd2、...) は gfservice 用 の設定ファイルで定義します。 以下に、設定ファイルの記述例を載せます。
gfmd1=metadb1.example.com gfmd1_CONFIG_GFARM_OPTIONS="-A $LOGNAME -X" gfmd2=metadb2.example.com gfmd2_CONFIG_GFARM_OPTIONS="-A $LOGNAME -X" gfsd1=spool1.example.com gfsd2=spool2.example.com
gfservice は、読み込むべき設定ファイルのパスを次の要領 で決定します。
gfservice は設定ファイルの読み込みに失敗すると、 エラーメッセージを出力して、ただちに終了します。 設定ファイルそれ自体は Bourne シェルスクリプトで、gfservice はそのファイルを自身の一部として取り込みます (正確に言えば、スクリプト として評価します)。 設定ファイルについての詳しい説明は、gfservice.conf(5) を参照して下さい。
gfservice は、リモートホストと接続するために、SSH (Secure Shell) を使用します。 サブコマンド 1 個の処理を遂行する間、何度も ssh を実行することがあるので、SSH エージェント (OpenSSH の ssh-agent など) を用いるか、パスフレーズが空の 認証キーを用いるなどして、パスフレーズを毎回入力しなくて済むように することをお薦めします。
SSH に加えて、gfservice はリモートホスト上で root 権限を得るために Sudo コマンドを使用します。 各リモートホストの sudoers ファイル (Sudo の設定 ファイル) に以下のような行を足して下さい。
user ALL=(root, _gfarmfs, _gfarmmd) NOPASSWD: gfservice-agent
ここで、user は gfservice を実行するユーザの名前です。 NOPASSWD は必須ではありませんが、省くと sudo は何度も パスワードを訊いてくることがあります。
gfservice は SSH と Sudo を用いて、リモートホスト上にある gfservice-agent というエージェントコマンドを実行します ので、gfservice コマンドで操作したいホストすべてに、 gfservice-agent をインストールしておく必要があります。
gfserviceはユーザが新しくサブコマンドを追加できるよ うに、プラグインシステムを採用しています。 詳しい説明は "PLUG-IN SYSTEM" の節を参照して下さい。
OPTIONS¶
-d
-f ファイル
-t 時間
-k
SUB-COMMANDS FOR GFMD¶
以下に挙げているのは、gfmd を操作するサブコマンドです。 コマンド行に与えるホストID は、「gfmdn」 (gfmd1, gfmd2, ...) でなくてはなりません。 それ以外の場合、gfservice はエラーを通知してただちに 終了します。
backend-db-status ホストID
gfmd-status ホストID
start-backend-db ホストID
start-gfmd ホストID
start-gfmd-master ホストID
start-gfmd-slave ホストID
start-gfarm ホストID
start-gfarm-master ホストID
start-gfarm-slave ホストID
stop-backend-db ホストID
stop-gfmd ホストID
stop-gfarm ホストID
kill-gfmd ホストID
restart-backend-db ホストID
restart-gfmd ホストID
restart-gfmd-master ホストID
restart-gfmd-slave ホストID
restart-gfarm ホストID
restart-gfarm-master ホストID
restart-gfarm-slave ホストID
promote ホストID
promote-gfmd ホストID
set-gfmd-conf ホストID 設定名称 値
設定名称 値
という行を加えます。 既に gfmd.conf に 「設定名称」という行が存在している場合、 gfservice はそれを削除してから、新たに行を追加します。
set-gfsd-conf ホストID 設定名称 値
設定名称 値
という行を加えます。 既に gfsd.conf に 「設定名称」という行が存在している場合、 gfservice はそれを削除してから、新たに行を追加します。
unset-gfmd-conf ホストID 設定名称
unset-gfsd-conf ホストID 設定名称
backup-backend-db ホストID
backup-gfmd-conf ホストID
backup-gfsd-conf ホストID
backup-usermap ホストID
restore-backend-db ホストID
restore-gfmd-conf ホストID
restore-gfsd-conf ホストID
restore-usermap ホストID
config-gfarm ホストID
config-gfarm-master ホストID
config-gfarm-slave ホストID マスターホストID
unconfig-gfarm ホストID
unconfig-gfarm-master ホストID
unconfig-gfarm-slave ホストID マスターホストID
SUB-COMMANDS FOR GFSD¶
以下に挙げているのは、gfsd を操作するサブコマンドです。 コマンド行に与えるホストID は、「gfsdn」 (gfsd1, gfsd2, ...) でなくてはなりません。 それ以外の場合、gfservice はエラーを通知してただちに 終了します。
gfsd-status ホストID
start-gfsd ホストID
stop-gfsd ホストID
restart-gfsd ホストID
set-gfsd-conf ホストID 設定名称 値
unset-gfsd-conf ホストID 設定名称
backup-gfsd-conf ホストID
backup-usermap ホストID
restore-gfsd-conf ホストID
restore-usermap ホストID
config-gfsd ホストID
unconfig-gfsd ホストID
SUB-COMMANDS FOR CLIENT¶
以下に挙げているのは、クライアントを操作するサブコマンドです。 コマンド行に与えるホストID は、「gfmdn」 (gfmd1, gfmd2, ...)、「gfsdn」(gfsd1, gfsd2, ...)、 「clientn」(client1, client2, ...) のいずれか でなくてはなりません。 それ以外の場合、gfservice はエラーを通知してただちに 終了します。
mount ホストID ディレクトリ オプション...
unmount ホストID ディレクトリ
umount ホストID ディレクトリ
set-gfarm-conf ホストID 設定名称 値
設定名称 値
という行を加えます。 既に gfarm2.conf に 「設定名称」という行が存在している場合、 gfservice はそれを削除してから、新たに行を追加します。
unset-gfarm-conf ホストID 設定名称
backup-gfarm-conf ホストID
backup-shared-key ホストID
restore-gfarm-conf ホストID
restore-shared-key ホストID
config-client ホストID
unconfig-client ホストID
gfcmd ホストID コマンド名 コマンド引数 ...
gfcmd-root ホストID コマンド名 コマンド引数 ...
grid-proxy-init host-id コマンド引数 ...
SUB-COMMANDS FOR MULTIPLE HOSTS¶
以下に挙げているのは、複数のホストを操作するサブコマンドです。 コマンド行で、ホストID を指定することはできません。
start-all
stop-all
kill-gfmd-all
restart-all
config-all
unconfig-all
PLUG-IN SYSTEM¶
gfserviceはユーザが新しくサブコマンドが追加できるよ うに、プラグインシステムを採用しています。指定されたサブコマンドを gfserviceが提供していない場合、 gfserviceコマンドは %%DATADIR%%/gfarm/gfservice 以 下のサブコマンド名のファイルを参照します。
サブコマンドのファイルは Bourneシェルスクリプトで書きます。 サブコマンド "name" のサブコマンドファイル は、gfserviceから実行される "subcmd_name"という名 前のシェル関数、 gfservice-agentから実行される "subcmd_name_agent" という名前のシェル関数が実装されている必要があります。
サブコマンドがユーザが追加した別のサブコマンドに依存している時のために、 サブコマンド "name" のサブコマンドファイル は、 "name_depends" と いう名前のシェル関数で、そのサブコマンドが依存している他のサブコマンド のリストを返す必要があります.サブコマンドのリストはスペースで区切られ たサブコマンドの文字列です.依存している他のサブコマンドがない場合は空文字列を返して 下さい。同様に、サブコマンドファイルは "name_agent_depends" という名前のシェル関数で、そのサブコマンドのエージェントが依存している 他のサブコマンドのリストを返す必要があります。
15 Feb 2013 | Gfarm |