付録U.6 パッケージ登録

Address Server,Mail ServerをMC/ServiceGuardのパッケージとして登録する方法を説明します。この作業はHP-UXの場合だけ必要です。

<この項の構成>
(1) クラスタ定義ファイルの設定
(2) パッケージ定義ファイルの作成
(3) パッケージ制御スクリプトの作成
(4) 各ファイルの確認と配布
(5) ユーザ登録

(1) クラスタ定義ファイルの設定

Schedulerパッケージを追加するためクラスタ定義ファイルを設定します。設定が必要と思われる最低限のパラメタを以下に示します。サンプルファイルについては「付録U.10 サンプルファイル」を参照してください。

表U-5 クラスタ定義ファイルのパラメタ

項番パラメタ説明
1MAX_CONFIGURED_PACKAGES最大パッケージ数を指定します。Schedulerパッケージの追加によって,最大パッケージ数を大きくする必要がある場合は変更してください。
2VOLUME_GROUPSchedulerパッケージ用のボリューム・グループを追加してください。
例:VOLUME_GROUP /dev/vg03
3FIRST_CLUSTER_LOCK_VG2ノード構成の場合は必須です。必要に応じて設定してください。

(2) パッケージ定義ファイルの作成

Schedulerパッケージ用のパッケージ定義ファイルを作成します。ここではSchedulerパッケージのパッケージ名称をgmaxpkgと仮定します。

  1. Schedulerパッケージ用のサブディレクトリを作成します。

    #mkdir /etc/cmcluster/gmaxpkg
    #cd /etc/cmcluster/gmaxpkg

  2. パッケージ定義ファイルのひな形を生成します。

    #cmmakepkg -p gmaxpkgconf.ascii

  3. Schedulerパッケージ用パッケージ定義ファイルを編集します。
    エディタなどを使用してパッケージ定義ファイルを設定してください。設定が必要と思われる最低限のパラメタを以下に示します。サンプルファイルについては「付録U.10 サンプルファイル」を参照してください。

    表U-6 パッケージ定義ファイルのパラメタ

    項番パラメタ説明設定例
    1PACKAGE_NAMEパッケージ名称を設定します。gmaxpkg
    2NODE_NAMEクラスタ環境のノード名を列挙します。node1
    node2
    3RUN_SCRIPT起動スクリプト名を指定します。/etc/cmcluster/gmaxpkg/control.sh
    4RUN_SCRIPT_TIMEOUT起動スクリプトのタイムアウト設定を指定します。NO_TIMEOUT
    5HALT_SCRIPT停止スクリプト名を指定します。/etc/cmcluster/gmaxpkg/control.sh
    6HALT_SCRIPT_TIMEOUT停止スクリプトのタイムアウト設定を指定します。NO_TIMEOUT
    7SERVICE_NAMEサービス名称を指定します。SchedulerSV
    SchedulerToolSV
    FacilitiesSV
    FacilitiesToolSV
    8SERVICE_FAIL_FAST_ENABLEDサービスの障害をノードの障害とするかどうかを指定します。NO又はYES
    9SERVICE_HALT_TIMEOUTサービスの障害時の待ち時間を指定します。300
    10PKG_SWITCHING_ENABLED障害発生時にSchedulerパッケージをフェールオーバするかどうかを指定します。なお,Schedulerパッケージではフェールオーバします。NO又はYES
    11SUBNETサブネットアドレスを指定します。172.1.1.0

(3) パッケージ制御スクリプトの作成

Schedulerパッケージ用のパッケージ制御スクリプトを作成します。

  1. パッケージ制御スクリプトのひな形を生成します。

    #cd /etc/cmcluster/gmaxpkg
    #cmmakepkg -s control.sh

  2. Schedulerパッケージ用パッケージ制御スクリプトを編集します。
    エディタなどを使用してパッケージ制御スクリプトを設定してください。設定が必要と思われる最低限のパラメタを以下に示します。サンプルファイルについては「付録U.10 サンプルファイル」を参照してください。

    表U-7 パッケージ制御スクリプトのパラメタ

    項番パラメタ説明設定例
    1環境変数スケジューラサーバを起動及び停止するために必要な環境変数を指定します。TERM=dtterm
    export TERM
    2VGCHANGEMC/ServiceGuard起動及び再起動時のボリューム・グループ活性化のオプションを指定します。"gchange -a e"
    3VG[0]Schedulerパッケージで使用するボリューム・グループを指定します。/dev/vg03
    4LV[0]Schedulerパッケージで使用する論理ボリュームを指定します。/dev/vg03/lvol1
    5FS[0]Schedulerパッケージで使用するマウントディレクトリを指定します。/gmaxpkgd
    6FS_MOUNT_OPT[0]マウントオプションを指定します。"o rw"
    7IP[0]パッケージIPアドレスを指定します。172.1.1.3
    8SUBNET[0]サブネットアドレスを指定します。172.1.1.0
    9SERVICE_NAME[0]起動対象となるサービスの名称を指定します。SchedulerSV
    10SERVICE_CMD[0]サービス・プロセスの起動に使用されるコマンド名を指定します。"/usr/GroupAppo/bin/SFpakage -r SV"
    11SERVICE_RESTART[0]障害時にサービス・プロセスを同一ノードで再起動させる回数を指定します。""
    12SERVICE_NAME[1]起動対象となるサービスの名称を指定します。SchedulerToolSV
    13SERVICE_CMD[1]サービス・プロセスの起動に使用されるコマンド名を指定します。"/usr/GroupAppo/bin/SFpakage -r AppoMan"
    14SERVICE_RESTART[1]障害時にサービス・プロセスを同一ノードで再起動させる回数を指定します。""
    15SERVICE_NAME[2]起動対象となるサービスの名称を指定します。
    これは,Facilities Managerを使用する場合だけ必要な項目です。
    FacilitiesSV
    16SERVICE_CMD[2]サービス・プロセスの起動に使用されるコマンド名を指定します。"/usr/GroupAppo/bin/SFpakage -r RMSV"
    17SERVICE_RESTART[2]障害時にサービス・プロセスを同一ノードで再起動させる回数を指定します。""
    18SERVICE_NAME[3]起動対象となるサービスの名称を指定します。
    これは,Facilities Managerを使用する場合だけ必要な項目です。
    FacilitiesToolSV
    19SERVICE_CMD[3]サービス・プロセスの起動に使用されるコマンド名を指定します。"/usr/GroupAppo/bin/SFpakage -r RoomMan"
    20SERVICE_RESTART[3]障害時にサービス・プロセスを同一ノードで再起動させる回数を指定します。""
    21function customer_defined_run_cmdsアプリケーション起動コマンドを列挙します。アドレスを連携する場合は,Object Server,Address Server,Scheduler Server (Facilities Manager)の順で記述してください。/usr/GroupAppo/bin/SFpakage -s
    SV/usr/GroupAppo/bin/SFpakage -s AppoMan
    なお,Facilities Managerを使用する場合は以下も記述します。/usr/GroupAppo/bin/SFpakage -s
    RMSV/usr/GroupAppo/bin/SFpakage -s RoomMan
    22function customer_defined_halt_cmdsアプリケーション停止コマンドを列挙します。Scheduler Server (Facilities Manager),Address Server ,Object Server の順で記述してください。/usr/GroupAppo/bin/SFpakage -e
    SV/usr/GroupAppo/bin/SFpakage -e AppoMan
    Facilities Managerを使用する場合は以下も記述します。/usr/GroupAppo/bin/SFpakage -e
    RMSV/usr/GroupAppo/bin/SFpakage -e RoomMan

(4) 各ファイルの確認と配布

作成したファイルの確認と各ノードへの配布方法について説明します。

  1. 各設定ファイルの内容を確認します。

    #cd /etc/cmcluster
    #cmcheckconf -v -C クラスタ定義ファイル名 -P /gmaxpkg/gmaxpkgconf.ascii

    “NO ERROR FOUND”となるまで修正を行ってください。
  2. パッケージ制御スクリプトを配布します。

    # cd /etc/cmcluster/gmaxpkg
    # chmod +x control.sh
    # rcp control.sh node2:/etc/cmcluster/gmaxpkg/

  3. バイナリクラスタ定義ファイルを作成し,各定義ファイルを配布します。

    # cd /etc/cmcluster
    # cmapplyconf -v -C クラスタ定義ファイル名 -P gmaxpkg/gmaxpkgconf.ascii

  4. クラスタの起動を確認します。
    cmrunpkgコマンドでパッケージを起動して,Schedulerパッケージが正常に起動するか確認してください。以下のコマンドを実行して,プロセスが存在すれば,正常に起動しています。

    # ps -ef | grep /usr/bin/SV
    # ps -ef | grep /usr/bin/AppoMan※1
    # ps -ef | grep /usr/bin/RMSV※2
    # ps -ef | grep /usr/bin/RoomMan※1,※2

    注※1
    プロセスは複数存在します。
    注※2
    Facilities Managerを使用している場合だけ確認してください。
    起動が確認できたら,フェールオーバさせてください。そして,フェールオーバ先でSchedulerパッケージが正常に起動することを確認してください。

(5) ユーザ登録

クラスタを正常に起動できたら,「Scheduler_Facilities管理ツール」を使用してユーザ情報を登録してください。管理ツールで指定する「管理データの取得先サーバ名」には,パッケージIPアドレスに対応するホスト名を指定します。なお,Address連携機能を使用する場合は,Address Serverにユーザを登録後,登録したユーザ情報を取り込んでください。ユーザ情報を取り込むには,aconsoleコマンド(Facilities Manager使用時はroomconsoleコマンド)から「その他の手動実行」-「ユーザ情報再作成」を選択します。