6.5.7 クラスタソフトでリソースを作成する

共有ディスク上に出力される監査ログを収集する場合は,実行系サーバでリソースを作成します。共有ディスクを実行系に切り替えてから作業を実施してください。

次に,作成方法についてOSごとに説明します。

<この項の構成>
(1) Windowsの場合
(2) UNIXの場合

(1) Windowsの場合

実行系サーバのクラスタアドミニストレータで,フェールオーバーさせるリソースを作成します。作成するリソースを次に示します。

次に,各リソースの登録内容を説明します。リソースの作成方法の詳細については,各クラスタソフトのマニュアルを参照してください。

(a)  JP1/Base Event 監査ログ専用イベントサーバ名サービスのリソース

表6-13 JP1/Base Event 監査ログ専用イベントサーバ名サービスのリソースの登録内容

項番登録リソース設定項目設定内容
1JP1/Base Event 監査ログ専用イベントサーバ名名前任意の名称を指定します。
2リソースの種類「汎用サービス」を設定します。
3グループ収集対象とする製品と同じグループへ登録します。
4実行可能な所有者実行系および待機系の2台のノードを設定します。
5依存関係次のリソースを依存関係として登録します。
  • 物理ディスク
  • 論理IPアドレス
6汎用サービスパラメーター次の値を設定します。
  • JP1_Base_Event 監査ログ専用イベントサーバ名
7レジストリの複製指定しません。

(b)  JP1/NETM/Audit LogTrap 論理ホスト名サービスのリソース

表6-14 JP1/NETM/Audit LogTrap 論理ホスト名サービスのリソースの登録内容

項番登録リソース設定項目設定内容
1JP1/NETM/Audit LogTrap 論理ホスト名名前任意の名称を指定します。
2リソースの種類「汎用サービス」を設定します。
3グループ収集対象とする製品と同じグループへ登録します。
4実行可能な所有者実行系および待機系の2台のノードを設定します。
5依存関係次のリソースを依存関係として登録します。
  • JP1_Base_Event 監査ログ専用イベントサーバ名
6汎用サービスパラメーター次の値を設定します。
  • JP1_NETM_Audit_LogTrap 論理ホスト名
7レジストリの複製指定しません。
注※
JP1/NETM/Audit LogTrap 論理ホスト名サービスは,監査ログ収集対象プログラムより前に起動されるように依存関係を設定してください。

(2) UNIXの場合

実行系サーバで,フェールオーバーさせるコマンドを,クラスタソフトに登録します。クラスタソフトに登録するコマンドと,その機能を次の表に示します。

表6-15 クラスタソフトに登録するコマンドと機能

項番登録するコマンド機能説明
1admhastart 論理ホスト名起動次の二つを起動します。
  • 論理ホスト用の監査ログ専用イベントサーバのサービス
  • 監査ログを収集するためのログファイルトラップ機能
2admhastop 論理ホスト名停止次の二つを停止します。
  • 論理ホスト用の監査ログ専用イベントサーバのサービス
  • 監査ログを収集するためのログファイルトラップ機能
注※
コマンドの格納先は,「6.5.5 論理ホスト環境で必要なファイルをコピーする」を参照してください。
注意事項
クラスタソフトにコマンドを登録する際には,次のことに注意してください。
  • admhastartコマンドを登録する場合は,JP1/Baseの論理ホスト環境の起動,admhastartコマンドの実行,共有ディスク上に監査ログを出力する収集対象製品の起動,の順になるように設定してください。
  • admhastopコマンドを登録する場合は,共有ディスク上に監査ログを出力する収集対象製品の停止,admhastopコマンドの実行,JP1/Baseの論理ホスト環境の停止,の順になるように設定してください。

次に,コマンド登録方法の概要をクラスタソフトごとに説明します。登録方法の詳細については,各クラスタソフトのマニュアルを参照してください。

(a) HP Serviceguardの場合

HP ServiceguardではJP1/NETM/Auditの定義を,共有ディスク上に監査ログを出力する収集対象製品,およびJP1/Baseと同じパッケージに登録します。また,「プロセスを終了させないスクリプト」を作成して,パッケージ制御スクリプトのSERVICE_CMDに指定する監視コマンドに登録します。

次に,スクリプトの作成,パッケージ構成ファイルの編集,およびパッケージ制御スクリプトの編集について説明します。

●スクリプトの作成

ここでは「プロセスを終了させないスクリプト」を作成します。スクリプトは,実行系および待機系のそれぞれで作成し,実行系と待機系で同じパスに配置してください。

スクリプトの作成例を次に示します。ここではファイル名を「nop.sh」と仮定します。

 

#!/bin/sh

INTERVAL_TIME=2147483647
while true; do
   sleep ${INTERVAL_TIME}
done

●パッケージ構成ファイルの編集

パッケージ構成ファイルにサービス名などを設定します。パッケージ構成ファイルは実行系で編集してから,待機系にコピーしてください。編集の際に設定する項目を,次の表に示します。

表6-16 パッケージ構成ファイルの設定項目

項番設定項目設定内容
1SERVICE_NAMEサービス名を指定します。クラスタ内で一意となる名称を指定してください。
2SERVICE_FAIL_FAST_ENABLEDNOを指定します。
3SERVICE_HALT_TIMEOUT停止のタイムアウト時間(単位:秒)を指定します。

パッケージ構成ファイルの設定例を次に示します。

 

SERVICE_NAME                      jp1netmaudit_1
SERVICE_FAIL_FAST_ENABLED         NO
SERVICE_HALT_TIMEOUT              300

●パッケージ制御スクリプトの編集

パッケージ制御スクリプトに,サービス名や作成したスクリプトなどを設定します。パッケージ制御スクリプトは実行系で編集してから,待機系にコピーしてください。編集の際に設定する項目を,次に示します。

パッケージ制御スクリプトの設定例を次に示します。

 



SERVICE_NAME[0]="jp1base_1"
SERVICE_CMD[0]="/opt/jp1/hatool/bin/jp1_base.sh -m -h hpipfpkg1 -l"
SERVICE_RESTART[0]=""

SERVICE_NAME[1]="jp1netmaudit_1"
SERVICE_CMD[1]="/opt/jp1netmaudit/manager/bin/nop.sh"
SERVICE_RESTART[1]=""


function customer_defined_run_cmds
{

/opt/jp1/hatool/bin/jp1_base.sh -s -h 論理ホスト名 -l
/opt/jp1netmaudit/manager/bin/admhastart 論理ホスト名

   test_return 51
}

function customer_defined_halt_cmds
{

/opt/jp1netmaudit/manager/bin/admhastop 論理ホスト名
/opt/jp1/hatool/bin/jp1_base.sh -t -h 論理ホスト名 -l

   test_return 52
}

注意事項
SERVICE_NAME,SERVICE_CMD,およびSERVICE_RESTARTに指定する配列の添え字には,0から始まる連続した数字を指定してください。重複した数字は指定しないでください。

(b) High Availability Cluster Multi-Processing(HACMP)の場合

HACMPでは,JP1/NETM/Audit用のアプリケーション・サーバーを作成して,リソース・グループへ登録します。ただし,アプリケーション・サーバー作成時に指定する始動スクリプト,および停止スクリプトには引数の指定ができません。そこで,admhastartコマンドおよびadmhastopコマンドを実行するスクリプトを作成し,これをアプリケーション・サーバーの始動スクリプトおよび停止スクリプトとして登録します。

次に,スクリプトの作成,アプリケーション・サーバーの設定,リソース・グループへの登録,および設定の同期化について説明します。

●スクリプトの作成

ここでは,admhastartコマンドおよびadmhastopコマンドを実行するスクリプトを作成します。スクリプトは,実行系および待機系のそれぞれで作成し,実行系と待機系で同じパスに配置してください。

スクリプトの作成例を次に示します。ここでは始動スクリプトを「auditstart.sh」,停止スクリプトを「auditstop.sh」と仮定します。

始動スクリプト(auditstart.sh)の作成例:

#!/bin/sh

LOGICAL_HOST_NAME=論理ホスト名

if [ -x /opt/jp1netmaudit/manager/bin/admhastart ]; then
   /opt/jp1netmaudit/manager/bin/admhastart ${LOGICAL_HOST_NAME}
   RET=$?
else
   RET=1
fi

exit ${RET}

停止スクリプト(auditstop.sh)の作成例:

#!/bin/sh

LOGICAL_HOST_NAME=論理ホスト名

if [ -x /opt/jp1netmaudit/manager/bin/admhastop ]; then
   /opt/jp1netmaudit/manager/bin/admhastop ${LOGICAL_HOST_NAME}
   RET=$?
else
   RET=1
fi

exit ${RET}

●アプリケーション・サーバーの設定

JP1/NETM/Audit用のアプリケーション・サーバーを作成します。作成の際に設定する項目を,次の表に示します。

表6-17 アプリケーション・サーバーの設定項目

項番設定項目設定内容
1サーバー名任意の名称を指定します。
2始動スクリプト作成した始動スクリプト(auditstart.sh)をフルパスで指定します。
3停止スクリプト作成した停止スクリプト(auditstop.sh)をフルパスで指定します。
4アプリケーション・モニター名何も指定しません。

●リソース・グループへの登録

作成したアプリケーション・サーバーを,リソース・グループに登録します。なお,登録の際は,共有ディスク上に監査ログを出力する収集対象製品,およびJP1/Baseと同じグループを指定してください。

●設定の同期化

リソース・グループへの登録までが完了したら,クラスタ設定を同期化してください。

(c) VERITAS Cluster Serverの場合

VERITAS Cluster Serverでは,Applicationエージェントを使用してコマンドを登録します。Applicationエージェントでは,起動コマンドと停止コマンド以外に,強制停止コマンドと監視コマンドの設定が必要です。そこで,それぞれの処理を行うスクリプトを作成して,リソース定義に登録します。

次に,スクリプトの作成,およびリソースの定義について説明します。

●スクリプトの作成

ここでは,起動,停止,強制停止,および監視の各処理を行うスクリプトを作成します。スクリプトは,実行系および待機系のそれぞれで作成し,実行系と待機系で同じパスに配置してください。

各スクリプトで処理する内容を,次に示します。

スクリプトの作成例を次に示します。ここでは,上記四つの処理を行うスクリプトを「admhactrl.sh」と仮定します。

 

#!/bin/sh
#  Syntax:  admhactrl logical-host-name {-s|-t|-c|-m}
#  Flags :  -s  : start
#           -t  : terminate
#           -c  : clear
#           -m  : monitor

# StartProgram
if [ "$2" = "-s" ]; then
   /opt/jp1netmaudit/manager/bin/admhastart $1
   RET=$?
   case ${RET} in
       0|7|8)
           touch /opt/jp1netmaudit/manager/bin/.$1 > /dev/null 2>&1
           ;;
       *)  ;;
   esac
else
# StopProgaram
if [ "$2" = "-t" ]; then
   /opt/jp1netmaudit/manager/bin/admhastop $1
   RET=$?
   if [ $RET -eq 0 ]; then
       rm -f /opt/jp1netmaudit/manager/bin/.$1 > /dev/null 2>&1
   fi
else
# CleanProgram
if [ "$2" = "-c" ]; then
   if [ -f /opt/jp1netmaudit/manager/bin/.$1 ]; then
       rm -f /opt/jp1netmaudit/manager/bin/.$1 > /dev/null 2>&1
   fi
   RET=0
else
# MonitorProgram
if [ "$2" = "-m" ]; then
   #ファイルが存在する場合は開始状態とする
   if [ -f /opt/jp1netmaudit/manager/bin/.$1 ]; then
       RET=110
   else
       RET=100
   fi
else
   RET=1
fi
fi
fi
fi

exit $RET

●リソースの定義

クラスタ構成の設定ファイル(/etc/VRTSvcs/conf/config/main.cf)を編集して,リソース定義を追加します。起動,停止,強制停止,および監視の各コマンドに,作成したスクリプトを指定します。なお,リソースは,共有ディスク上に監査ログを出力する収集対象製品,およびJP1/Baseと同じグループに登録してください。

クラスタ構成の設定ファイルの定義例を次に示します。

 

Application jp1netmaudit_1 (
   StartProgram = "/opt/jp1netmaudit/manager/bin/admhactrl.sh 論理ホスト名 -s"
   StopProgram = "/opt/jp1netmaudit/manager/bin/admhactrl.sh 論理ホスト名 -t"
   CleanProgram = "/opt/jp1netmaudit/manager/bin/admhactrl.sh 論理ホスト名 -c"
   MonitorProgram = "/opt/jp1netmaudit/manager/bin/admhactrl.sh 論理ホスト名 -m"
   Critical = 0
)

また,JP1/Baseのリソースが起動したあとにJP1/NETM/Auditのリソースが起動するように,依存関係を設定してください。例えば,JP1/Baseのリソース名が「jp1base_1」の場合は,次のように設定します。

 

jp1netmaudit_1 requires jp1base_1

(d) HAモニタの場合

HAモニタではadmhastartコマンドおよびadmhastopコマンドを実行するスクリプトを作成して,そのスクリプトをservers(サーバ対応定義ファイル)に登録します。

次に,スクリプトの作成,およびservers(サーバ対応定義ファイル)の編集について説明します。

●スクリプトの作成

ここでは,admhastartコマンドおよびadmhastopコマンドを実行するスクリプトを作成します。スクリプトは,実行系および待機系のそれぞれで作成し,実行系と待機系で同じパスに配置してください。

スクリプトの作成例を次に示します。ここでは始動スクリプトを「auditstart.sh」,停止スクリプトを「auditstop.sh」と仮定します。

始動スクリプト(auditstart.sh)の作成例:

#!/bin/sh

LOGICAL_HOST_NAME=論理ホスト名

if [ -x /opt/jp1netmaudit/manager/bin/admhastart ]; then
   /opt/jp1netmaudit/manager/bin/admhastart ${LOGICAL_HOST_NAME}
   RET=$?
   case ${RET} in
       0|7|8)
           RET=0
           ;;
       *)  ;;
   esac
else
   RET=1
fi

exit ${RET}

停止スクリプト(auditstop.sh)の作成例:

#!/bin/sh

LOGICAL_HOST_NAME=論理ホスト名

if [ -x /opt/jp1netmaudit/manager/bin/admhastop ]; then
   /opt/jp1netmaudit/manager/bin/admhastop ${LOGICAL_HOST_NAME}
   RET=$?
else
   RET=1
fi

exit ${RET}

●servers(サーバ対応定義ファイル)の編集

serversファイルにJP1/NETM/Auditのサーバ定義を追加します。実行系および待機系のそれぞれで編集してください。

実行系のservers
groupには,共有ディスク上に監査ログを出力する収集対象製品,およびJP1/Baseと同じグループを指定します。また,parentにはJP1/Baseのサーバ識別名を指定します。

 

server  name            /opt/jp1netmaudit/manager/bin/auditstart.sh  ,
       alias           audit1                                       ,
       acttype         monitor                                      ,
       termcommand      "/opt/jp1netmaudit/manager/bin/auditstop.sh",
       initial         online                                       ,
       group           group1                                       ,
       parent          server1                                      ,
       servexec_retry  0                                            ,
       waitserv_exec   yes                                          ,
       retry_stable    300                                          ;

待機系のservers
実行系サーバと同じ内容を設定します。ただし,次に示す項目「initial」については,待機系サーバなので「standby」を設定してください。

 

          ・              ・
          ・              ・
       initial         standby                                      ,
          ・              ・
          ・              ・