Provided by: gfarm-client_2.7.20+dfsg-1.2_amd64 bug

NAME

       gfservice - リモートホストから Gfarm のサーバーを制御する。

SYNOPSIS


       gfservice [オプション] サブコマンド [ホストID] [引数 ...]

DESCRIPTION

       gfservice は、Gfarm の管理者がリモートホスト上の サーバー (gfmdgfsd、PostgreSQL) を操作するためのツール
       です。 今のところ、OpenLDAP には対応していません。 サーバーの実行開始、停止、セットアップ (config-gfarmconfig-gfsd の実行)、 サーバー廃止の後始末といったことができます。

       gfservice のコマンド行は、たとえば次のようになります。

                gfservice start-gfmd gfmd2

       ここで、「start-gfmd」はサブコマンド、 「gfmd2」 はホストID をそれぞれ表しています。 このコマンド行を実行
       すると、gfservice は 「gfmd2」と名付けられたホスト上の gfmd の 実行開始を試みます。 リモートのサーバーホ
       ストを指定する際、gfservice では ホスト名の代わりにホストID を用います。 ホストID (gfmd1gfmd2、...) は
       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 は、読み込むべき設定ファイルのパスを次の要領 で決定します。

        1. 「-f ファイル」オプションが指定 されていれば、そのファイルを読み込みます。

        2. 上記以外の場合で、環境変数 GFSERVICE_CONF が定義され、 かつ値が空文字列でなければ、値として記された
           ファイルを読み込みます。

        3. 上記以外の場合は、$HOME/.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

       ここで、usergfservice を実行するユーザの名前です。 NOPASSWD は必須ではありませんが、省くと sudo は何
       度も パスワードを訊いてくることがあります。

       gfservice は SSH と Sudo を用いて、リモートホスト上にある gfservice-agent というエージェントコマンドを実
       行します ので、gfservice コマンドで操作したいホストすべてに、 gfservice-agent をインストールしておく必要
       があります。

       gfserviceはユーザが新しくサブコマンドを追加できるよ うに、プラグインシステムを採用しています。 詳しい説明
       は "PLUG-IN SYSTEM" の節を参照して下さい。

OPTIONS

       -d
           デバッグ情報を出力します。 gfservice は、このオプションを gfservice-agent に渡しますので、
           gfservice-agent からもデバッグ情報が出力されます。

       -f ファイル
           デフォルトの設定ファイルの代わりに、「ファイル」を 読み込みます。

       -t 時間
           操作のタイムアウトを、「時間」秒とします。 gfservice がサーバープログラム (gfmd、gfsd、バックエンド
           データベース) の実行開始ないし終了を試みる際、処理が完了するか、もしくは gfservice の指定時間が経過す
           るかまで待ちます。 「時間」として 「no」を指定すると、タイムアウトは 起きなくなります。 デフォルト値
           は、「no」です。

       -k
           このオプションがconfig-gfarm サブコマンドもしくは config-gfarm-master サブコマンドと共に指定された場
           合、 gfservicegfkey コマンドを用いて 共有秘密鍵ファイルを作成します。

SUB-COMMANDS FOR GFMD

       以下に挙げているのは、gfmd を操作するサブコマンドです。 コマンド行に与えるホストID は、「gfmdn」 (gfmd1,
       gfmd2, ...) でなくてはなりません。 それ以外の場合、gfservice はエラーを通知してただちに 終了します。

       backend-db-status ホストID
           バックエンドデータベースが実行中であれば、終了コード 0 で終了します。 それ以外の場合は、1 で終了しま
           す。

       gfmd-status ホストID
           gfmd が実行中であれば、終了コード 0 で終了します。 それ以外の場合は、1 で終了します。

       start-backend-db ホストID
           バックエンドデータベースが実行中でなければ、実行を開始します。

       start-gfmd ホストID
           gfmd が実行中でなければ、実行を開始します。

       start-gfmd-master ホストID
           サブコマンド start-gfmd の別名です。

       start-gfmd-slave ホストID
           サブコマンド start-gfmd と同じですが、gfmd には -S オプションが付与されます。

       start-gfarm ホストID
           バックエンドデータベースおよび gfmd が実行中でなければ、 実行を開始します。

       start-gfarm-master ホストID
           サブコマンド start-gfarm の別名です。

       start-gfarm-slave ホストID
           サブコマンド start-gfarm と同じですが、gfmd には -S オプションが付与されます。

       stop-backend-db ホストID
           バックエンドデータベースが実行中なら、実行を停止します。

       stop-gfmd ホストID
           gfmd が実行中なら、実行を停止します。

       stop-gfarm ホストID
           バックエンドデータベースおよび gfmd が実行中なら、 実行を停止します。

       kill-gfmd ホストID
           gfmd が実行中なら、強制停止 (SIGKILL を送付) します。

       restart-backend-db ホストID
           サブコマンド stop-backend-dbstart-backend-db を続けて実行します。

       restart-gfmd ホストID
           サブコマンド stop-gfmd」と 「start-gfmd を続けて実行します。

       restart-gfmd-master ホストID
           サブコマンド restart-gfmd の別名です。

       restart-gfmd-slave ホストID
           サブコマンド stop-gfmdstart-gfmd-slave を続けて実行します。

       restart-gfarm ホストID
           サブコマンド stop-gfarmstart-gfarm を続けて実行します。

       restart-gfarm-master ホストID
           サブコマンド restart-gfarm の別名です。

       restart-gfarm-slave ホストID
           サブコマンド stop-gfarmstart-gfarm-slave を続けて実行します。

       promote ホストID
           gfmd をスレーブからマスターへ昇格させます。

       promote-gfmd ホストID
           サブコマンド promote の別名です。

       set-gfmd-conf ホストID 設定名称 
           リモートホスト上の gfmd.conf ファイルに

                    設定名称 

           という行を加えます。 既に gfmd.conf に 「設定名称」という行が存在している場合、 gfservice はそれを削
           除してから、新たに行を追加します。

       set-gfsd-conf ホストID 設定名称 
           リモートホスト上の gfsd.conf ファイルに

                    設定名称 

           という行を加えます。 既に gfsd.conf に 「設定名称」という行が存在している場合、 gfservice はそれを削
           除してから、新たに行を追加します。

       unset-gfmd-conf ホストID 設定名称
           リモートホスト上の gfmd.conf ファイルから 「設定名称」行を削除します。 gfmd.conf ファイルに「設定名
           」 行がない場合、ファイルは更新されません。

       unset-gfsd-conf ホストID 設定名称
           リモートホスト上の gfsd.conf ファイルから 「設定名称」行を削除します。 gfsd.conf ファイルに「設定名
           」 行がない場合、ファイルは更新されません。

       backup-backend-db ホストID
           リモートホスト上のバックエンドデータベースのバックアップを行い、 バックアップデータを標準出力へ出力し
           ます。

       backup-gfmd-conf ホストID
           リモートホスト上の gfarm2.conf ファイルを、標準出力 へ出力します。

       backup-gfsd-conf ホストID
           リモートホスト上の gfsd.conf ファイルを、標準出力 へ出力します。

       backup-usermap ホストID
           リモートホスト上の usermap ファイルを、標準出力 へ出力します。

       restore-backend-db ホストID
           リモートホスト上のバックエンドデータベースのデータを復旧します。 バックアップデータは、標準入力から読
           み込みます。

       restore-gfmd-conf ホストID
           リモートホスト上の gfmd.conf ファイルを復旧します。 gfservice は、gfmd.conf の バックアップデータを標
           準入力から読み込みます。

       restore-gfsd-conf ホストID
           リモートホスト上の gfsd.conf ファイルを復旧します。 gfservice は、gfsd.conf の バックアップデータを標
           準入力から読み込みます。

       restore-usermap ホストID
           リモートホスト上の usermap ファイルを復旧します。 gfservice は、usermap の バックアップデータを標準入
           力から読み込みます。

       config-gfarm ホストID
           リモートホスト上で config-gfarm コマンドを実行します。 このとき、設定ファイルで変数
           「gfmdn_CONFIG_GFARM_OPTIONS」が宣言されていれば、 その値が config-gfarm にオプションとして付与されま
           す。 レプリケーション機能を有効にするときは、このサブコマンドは使用せず、代わりに config-gfarm-master
           ないし config-gfarm-slave を使って下さい。 -kオプションが指定されている場合、 gfservicegfkey コマ
           ンドを用いて gfmd ホスト上に共有秘密鍵ファイルを作成します。

       config-gfarm-master ホストID
           このサブコマンドは config-gfarm と基本的に同じですが、 gfmd のレプリケーションが自動的に有効になりま
           す。

       config-gfarm-slave ホストID マスターホストID
           サブコマンド config-gfarm と基本的に同じですが、 レプリケーション機能が自動的に有効になり、 「マス
           ターホストID」上で動作する gfmd のスレーブ として動作します。 gfservicegfmdhost コマンドを 用いて
           このスレーブホストをサーバーリストに加えます。 また、マスター gfmd ホスト上の gfarm2.conf ファイル を
           更新して、metadb_server_list にこのスレーブホストを 加え、設定ファイルで定義されているすべてのホスト
           に配布します。 変数「gfmdn_PRIVATE_MODE」の値が「true」に セットされている場合は、同様に gfsd.conf
           ファイル を更新し、すべての gfmd ホストと gfsd ホストに配布します。 変数「gfmdn_AUTH_TYPE」の値が
           「sharedsecret」 の場合、共有秘密鍵ファイルをマスター gfmd ホストからこのスレーブ gfmd ホストへコピー
           します。

       unconfig-gfarm ホストID
           サブコマンド stop-gfsd を実行して、その後 gfmd や バックエンドデータベースが作成したファイルやディレ
           クトリをすべて削除します。 スレーブ gfmd を廃止する場合は、代わりにサブコマンド unconfig-gfarm-slave
           を使用して下さい。

       unconfig-gfarm-master ホストID
           サブコマンド unconfig-gfarm の別名です。

       unconfig-gfarm-slave ホストID マスターホストID
           サブコマンド unonfig-gfarm と基本的に同じですが、 以下の追加処理を行います。 gfmdhost コマンドを用い
           てサーバーリストから、その スレーブホストを削除します。 また、設定ファイルで定義されているすべてのホ
           ストの gfarm2.conf を更新し、 metadb_server_list に設定されたサーバーリストから、 そのスレーブホスト
           を削除します。 変数「gfmdn_PRIVATE_MODE」の値が「true」に セットされている場合は、同様に gfsd.conf
           ファイル を更新し、すべての gfmd ホストと gfsd ホストに配布します。

SUB-COMMANDS FOR GFSD

       以下に挙げているのは、gfsd を操作するサブコマンドです。 コマンド行に与えるホストID は、「gfsdn」 (gfsd1,
       gfsd2, ...) でなくてはなりません。 それ以外の場合、gfservice はエラーを通知してただちに 終了します。

       gfsd-status ホストID
           gfsd が実行中であれば、終了コード 0 で終了します。 それ以外の場合は、1 で終了します。

       start-gfsd ホストID
           gfsd が実行中でなければ、実行を開始します。

       stop-gfsd ホストID
           gfsd が実行中なら、実行を停止します。

       restart-gfsd ホストID
           サブコマンドstop-gfsdstart-gfsd を続けて実行します。

       set-gfsd-conf ホストID 設定名称 
           gfmd 用の set-gfsd-conf サブコマンドと同じです。

       unset-gfsd-conf ホストID 設定名称
           gfmd 用の unset-gfsd-conf サブコマンドと同じです。

       backup-gfsd-conf ホストID
           gfmd 用の backup-gfsd-conf サブコマンドと同じです。

       backup-usermap ホストID
           gfmd 用の backup-usermap サブコマンドと同じです。

       restore-gfsd-conf ホストID
           gfmd 用の restore-gfsd-conf サブコマンドと同じです。

       restore-usermap ホストID
           gfmd 用の restore-usermap サブコマンドと同じです。

       config-gfsd ホストID
           リモートホスト上で config-gfsd コマンドを実行します。 このとき、設定ファイルで変数
           「gfsdn_CONFIG_GFARM_OPTIONS」が宣言されていれば、 その値が config-gfsd にオプションとして付与されま
           す。 また、gfservicegfhost コマンド を用いて、リモートホストをファイルシステムノードとして登録し
           ます。 変数「gfsdn_AUTH_TYPE」の値が「sharedsecret」 の場合、共有秘密鍵ファイルを gfmd1 から gfsd ホ
           ストへコピーします。

       unconfig-gfsd ホストID
           サブコマンド stop-gfsd を実行して、その後 gfsd が 作成したファイルやディレクトリをすべて削除します。

SUB-COMMANDS FOR CLIENT

       以下に挙げているのは、クライアントを操作するサブコマンドです。 コマンド行に与えるホストID は、「gfmdn」
       (gfmd1, gfmd2, ...)、「gfsdn」(gfsd1, gfsd2, ...)、 「clientn」(client1, client2, ...) のいずれか でなく
       てはなりません。 それ以外の場合、gfservice はエラーを通知してただちに 終了します。

       mount ホストID ディレクトリ オプション...
           リモートホスト上の「ディレクトリ」に、Gfarm2 ファイルシステムをマウントします。 引数「オプション」は
           gfarm2fs コマンドへの引数とみなされます。

       unmount ホストID ディレクトリ
           リモートホスト上の「ディレクトリ」にマウントされた Gfarm2 ファイルシステムをアンマウントします。

       umount ホストID ディレクトリ
           サブコマンド unmount の別名です。

       set-gfarm-conf ホストID 設定名称 
           リモートホスト上の gfarm2.conf ファイルに

                    設定名称 

           という行を加えます。 既に gfarm2.conf に 「設定名称」という行が存在している場合、 gfservice はそれを
           削除してから、新たに行を追加します。

       unset-gfarm-conf ホストID 設定名称
           リモートホスト上の gfarm2.conf ファイルから 「設定名称」行を削除します。 gfarm2.conf ファイルに「設定
           名称」 行がない場合、ファイルは更新されません。

       backup-gfarm-conf ホストID
           リモートホスト上の gfarm2.conf ファイルを、標準出力 へ出力します。

       backup-shared-key ホストID
           リモートホスト上の共有秘密鍵ファイルを、標準出力へ出力します。

       restore-gfarm-conf ホストID
           リモートホスト上の gfarm2.conf ファイルを復旧します。 gfservice は、gfarm2.conf の バックアップデータ
           を標準入力から読み込みます。

       restore-shared-key ホストID
           リモートホスト上の共有秘密鍵ファイルを復旧します。 gfservice は、共有秘密鍵のバックアップデータを標準
           入力 から読み込みます。

       config-client ホストID
           変数「clientn_AUTH_TYPE」の値が「sharedsecret」 の場合、共有秘密鍵ファイルを gfmd1 からクライアントホ
           ストへコピーします。

       unconfig-client ホストID
           リモートホスト上の gfarm2.conf ファイルおよび 共有秘密鍵ファイルを削除します。

       gfcmd ホストID コマンド名 コマンド引数 ...
           リモートホスト上で Gfarm コマンドを実行します。

       gfcmd-root ホストID コマンド名 コマンド引数 ...
           リモートホスト上にて、root 権限で Gfarm コマンドを実行します。

       grid-proxy-init host-id コマンド引数 ...
           リモートホスト上で grid-proxy-init コマンドを実行します。

SUB-COMMANDS FOR MULTIPLE HOSTS

       以下に挙げているのは、複数のホストを操作するサブコマンドです。 コマンド行で、ホストID を指定することはで
       きません。

       start-all
           すべてのバックエンドデータベース、gfmd、gfsd を起動します。

       stop-all
           すべての gfsd、gfmd、バックエンドデータベースを停止します。

       kill-gfmd-all
           すべての gfmd を強制停止 (SIGKILL を送付) します。

       restart-all
           サブコマンド stop-allstart-all を続けて実行します。

       config-all
           gfmd1 に対して "config-gfarm-master" を実行し、それ以外のすべての gfmd に対して "config-gfarm-slave"
           を実行します。 次にすべての gfsd に対して "config-gfsd" を実行します。 最後にすべてのクライアントに対
           して、"config-client" を 実行します。

       unconfig-all
           すべてのクライアントに対して、"unconfig-client" を実行 します。 次にすべての gfsd に対して
           "unconfig-gfsd" を実行します。 最後にすべての gfmd に対して "unconfig-gfarm" を 実行します。

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" という名前のシェル関数で、そのサブコマンドのエージェントが依存している 他のサブコマ
       ンドのリストを返す必要があります。

Gfarm                                              15 Feb 2013                                      GFSERVICE(1)