Systemwalker Operation Manager クラスタ適用ガイド UNIX編 - UNIX共通 -
目次 索引 前ページ次ページ

第8章 MC/ServiceGuardシステム固有の手順> 8.1 MC/ServiceGuardシステムへの登録> 8.1.1 スクリプトの作成

8.1.1.2 パッケージ制御スクリプトの作成

MC/ServiceGuardに登録したアプリケーション・サービスの実行、監視、障害への対応に関する情報を定義します。

Systemwalker Operation Managerのパッケージ制御スクリプトは、以下にサンプルが提供されています。

/opt/FHPJMCMN/etc/script/omgr.sh


サンプルを複写後、クラスタシステムの運用に合わせて、変更してご利用ください。

サンプルのパッケージ制御スクリプトは、1:1運用待機(サブシステムなし)用です。1:1運用待機(サブシステムあり)の場合、N:1運用待機および2ノード相互待機の場合は、変更が必要です。

ユーザ定義関数を変更したパッケージ制御スクリプトは、1:1運用待機の場合には1個、N:1運用待機の場合はN個、2ノード相互待機の場合は2個作成した後、パッケージ制御スクリプトの定義情報を実際の運用に合わせて変更する必要があります。

ユーザ定義関数の変更例およびパッケージ制御スクリプトの定義情報の変更例を説明します。

■ユーザ定義関数の変更

1:1運用待機(サブシステムあり)の場合、N:1運用待機および2ノード相互待機の場合の、ユーザ定義関数の変更例を説明します。

◆1:1運用待機(サブシステムあり)の場合の変更例

複数サブシステム運用を実施している場合、サブシステムごとにジョブスケジューラ、ジョブ実行制御のデーモンを起動/停止します。

以下はサブシステム0とサブシステム1を運用している場合の例です。

  1. パッケージ制御スクリプトの、“SUBSYSTEM”の変数を“PLU_SUBSYSTEM”とし、値はサブシステム番号に変更します。

    [変更前]

    SUBSYSTEM="0"

    [変更後]

    PLU_SUBSYSTEM="0 1"
  2. ジョブスケジューラとジョブ実行制御をサブシステムごとに起動するように、customer_defined_run_cmdsの最後にfor文、do文、done文を追加します。

    [変更前]

    # - 1:1 standby, N:1 standby, 2 nodes mutual standby
    sh /opt/FHPMJS/usr/lib/mjes/S99MJS -sys $SUBSYSTEM
    sh /opt/FHPJOBSCH/bin/S99JOBSCH -sys $SUBSYSTEM

    [変更後]

    # - 1:1 standby, N:1 standby, 2 nodes mutual standby
    for SUBSYSTEM in $PLU_SUBSYSTEM
    do
    sh /opt/FHPMJS/usr/lib/mjes/S99MJS -sys $SUBSYSTEM
    sh /opt/FHPJOBSCH/bin/S99JOBSCH -sys $SUBSYSTEM
    done
  3. ジョブスケジューラとジョブ実行制御がサブシステムごとに終了するように、customer_defined_halt_cmdsの最初にfor文、do文を追加します。

    [変更前]

    function customer_defined_halt_cmds
    {
    # ADD customer defined halt commands.
    : # do nothing instruction, because a function must contain some command.
    
    MJSDAEMON=`ps -ef | grep "/usr/lib/mjes/mjsdaemon -sys $SUBSYSTEM" | grep -v "grep" | wc -l `

    [変更後]

    function customer_defined_halt_cmds
    {
    # ADD customer defined halt commands.
    : # do nothing instruction, because a function must contain some command.
    
    for SUBSYSTEM in $PLU_SUBSYSTEM
    do
    MJSDAEMON=`ps -ef | grep "/usr/lib/mjes/mjsdaemon -sys $SUBSYSTEM" | grep -v "grep" | wc -l `
  4. customer_defined_halt_cmdsの最後にdone文を追加します。

    [変更前]

      fi
      cnt=`expr $cnt + 1`
      sleep 3
    done

    [変更後]

       fi
       cnt=`expr $cnt + 1`
       sleep 3
    done
    done

◆N:1運用待機の場合の変更例

N:1運用待機の場合は、シンボリックリンクをパッケージ制御スクリプトで設定、解除するように記載を変更します。

“Make symbolic links.(if N:1 standby)”および“# remove symbolic links.(if N:1 standby)”の部分のコメントを外します(“#”を削除します)。

[変更前]

# Make symbolic links.(if N:1 standby)
# ACL Manager
#if [ ! "(" -h "/var/opt/FJSVfwseo/JM" -o -f "/var/opt/FJSVfwseo/JM" ")" ]
#then
#   ln -s /disk1/FJSVfwseo/JM /var/opt/FJSVfwseo/JM
#fi
# Job Scheduler
#if [ ! "(" -h "/opt/FHPJOBSCH/db" -o -f "/opt/FHPJOBSCH/db" ")" ]
#then
#   ln -s /disk1/FHPJOBSCH /opt/FHPJOBSCH/db
#fi
# Job Execution Control
#if [ ! "(" -h "/var/spool/mjes" -o -f "/var/spool/mjes" ")" ]
#then
#   ln -s /disk1/FHPMJS/var/spool/mjes /var/spool/mjes
#fi
#if [ ! "(" -h "/etc/mjes" -o -f "/etc/mjes" ")" ]
#then
#   ln -s /disk1/FHPMJS/etc/mjes /etc/mjes
#fi
# Calendar
#if [ ! "(" -h "/opt/FHPjmcal/post" -o -f "/opt/FHPjmcal/post" ")" ]
#then
#   ln -s /disk1/FHPjmcal/post /opt/FHPjmcal/post
#fi
# Stem
#if [ ! "(" -h "/var/opt/FJSVstem" -o -f "/var/opt/FJSVstem" ")" ]
#then
# ln -s /disk1/FJSVstem /var/opt/FJSVstem
#fi

(中略)

# remove symbolic links.(if N:1 standby)
# Job Scheduler
#if [ -h "/opt/FHPJOBSCH/db" ]
#then
#   rm /opt/FHPJOBSCH/db
#fi
# Job Execution Control
#if [ -h "/var/spool/mjes" ]
#then
#   rm /var/spool/mjes
#fi
#if [ -h "/etc/mjes" ]
#then
#   rm /etc/mjes
#fi
# ACL Manager
#/opt/FJSVfwseo/bin/mpaclcls -u
#if [ -h "/var/opt/FJSVfwseo/JM" ]
#then
#   rm /var/opt/FJSVfwseo/JM
#fi
# Calendar
#if [ -h "/opt/FHPjmcal/post" ]
#then
#   rm /opt/FHPjmcal/post
#fi
# Stem
#if [ -h "/var/opt/FJSVstem" ]
#then
#   rm /var/opt/FJSVstem
#fi

[変更後]

# Make symbolic links.(if N:1 standby)
# ACL Manager
if [ ! "(" -h "/var/opt/FJSVfwseo/JM" -o -f "/var/opt/FJSVfwseo/JM" ")" ]
then
   ln -s /disk1/FJSVfwseo/JM /var/opt/FJSVfwseo/JM
fi
# Job Scheduler
if [ ! "(" -h "/opt/FHPJOBSCH/db" -o -f "/opt/FHPJOBSCH/db" ")" ]
then
   ln -s /disk1/FHPJOBSCH /opt/FHPJOBSCH/db
fi
# Job Execution Control
if [ ! "(" -h "/var/spool/mjes" -o -f "/var/spool/mjes" ")" ]
then
   ln -s /disk1/FHPMJS/var/spool/mjes /var/spool/mjes
fi
if [ ! "(" -h "/etc/mjes" -o -f "/etc/mjes" ")" ]
then
   ln -s /disk1/FHPMJS/etc/mjes /etc/mjes
fi
# Calendar
if [ ! "(" -h "/opt/FHPjmcal/post" -o -f "/opt/FHPjmcal/post" ")" ]
then
   ln -s /disk1/FHPjmcal/post /opt/FHPjmcal/post
fi
# Stem  (注)
if [ ! "(" -h "/var/opt/FJSVstem" -o -f "/var/opt/FJSVstem" ")" ]
then
 ln -s /disk1/FJSVstem /var/opt/FJSVstem
fi

(中略)

# remove symbolic links.(if N:1 standby)
# Job Scheduler
if [ -h "/opt/FHPJOBSCH/db" ]
then
   rm /opt/FHPJOBSCH/db
fi
# Job Execution Control
if [ -h "/var/spool/mjes" ]
then
   rm /var/spool/mjes
fi
if [ -h "/etc/mjes" ]
then
   rm /etc/mjes
fi
# ACL Manager
/opt/FJSVfwseo/bin/mpaclcls -u
if [ -h "/var/opt/FJSVfwseo/JM" ]
then
   rm /var/opt/FJSVfwseo/JM
fi
# Calendar
if [ -h "/opt/FHPjmcal/post" ]
then
   rm /opt/FHPjmcal/post
fi
# Stem (注)
if [ -h "/var/opt/FJSVstem" ]
then
   rm /var/opt/FJSVstem
fi
備考.
“/disk1”は、実際の共有ディスクのマウントポイントに合わせて変更してください。
注)
スケジュール分散機能が有効な場合のみコメントを外します。

◆2ノード相互待機の場合の変更例

  1. パッケージ制御スクリプトの、“SUBSYSTEM”の変数を“1”に変更します。

    [変更前]

    SUBSYSTEM="0"

    [変更後]

    SUBSYSTEM="1"
  2. “- 1:1 standby, N:1 standby”および“- 2 nodes mutual standby”の部分を、2ノード相互待機用に変更します (“#”の位置を変更します)。

    [変更前]

    # - 1:1 standby, N:1 standby
    /opt/FJSVfwseo/bin/mpaclcls
    sh /opt/FJSVfwseo/bin/jmacltrn.sh
    # - 2 nodes mutual standby
    #/opt/FJSVfwseo/bin/mpaclcls -s $SUBSYSTEM
    #sh /opt/FJSVfwseo/bin/jmacltrn.sh $SUBSYSTEM

    [変更後]

    # - 1:1 standby, N:1 standby
    #/opt/FJSVfwseo/bin/mpaclcls
    #sh /opt/FJSVfwseo/bin/jmacltrn.sh
    # - 2 nodes mutual standby
    /opt/FJSVfwseo/bin/mpaclcls -s $SUBSYSTEM
    sh /opt/FJSVfwseo/bin/jmacltrn.sh $SUBSYSTEM
  3. 変更後と同じ内容で、ファイル名を変更したパッケージ制御スクリプトをもう1個用意して、“SUBSYSTEM”の変数を“2”に変更します。

    [変更前]

    SUBSYSTEM="1"

    [変更後]

    SUBSYSTEM="2"

■パッケージ制御スクリプトの定義情報

パッケージ制御スクリプトを作成するために必要な情報、およびクラスタシステムの環境に合わせて変更する内容を記載します。サンプルは、MC/ServiceGuard A.11.09を例として記載しています。バージョンが違う場合は、MC/ServiceGuardのマニュアルを参照して、適用するクラスタのバージョンに対応した定義名を定義してください。

定義名

サンプルの内容

環境に合わせて変更する内容

VGCHANGE

"vgchange -a e"

VG[0]

"vg02"

任意のボリュームグループ名を指定します。

LV[0]

"/dev/vg02/lvol1"

共有ディスクのデバイス装置を指定します。

FS[0]

"/disk1"

共有ディスクのマウントポイントを指定します。

FS_MOUNT_OPT[0]

""

FS_UMOUNT_COUNT

1

FS_MOUNT_RETRY_COUNT

0

IP[0]

"yyy.yyy.yyy.yyy"

論理IPアドレスを指定します。

SUBNET[0]

"xxx.xxx.xxx.xxx"

サブネットアドレスを指定します。

SERVICE_NAME[0]

"service1"

任意のサービス名を指定します。パッケージ構成ファイルのSERVICE_NAMEの内容と合わせてください。

SERVICE_CMD[0]

"/etc/cmcluster/omgr/omgr_fmonitor"

パッケージ監視スクリプトの場所を指定します。

SERVICE_RESTART[0]

"-r 0"

◆N:1運用待機の場合の変更例

N:1運用待機の場合は、ファイル名を変更してパッケージ制御スクリプトをN個作成し、環境に合わせてそれぞれのファイルで情報を変更します。

3ノード存在する場合の変更例を以下に示します。

◆2ノード相互待機の場合の変更例

2ノード相互待機の場合は、ファイル名を変更して2個作成したパッケージ制御スクリプトのそれぞれのファイルを、環境に合わせて変更します。

変更例を以下に示します。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 1995-2007