ページの先頭行へ戻る
Systemwalker Operation Manager V17.0.1 クラスタ適用ガイド UNIX編

4.1.1 状態遷移プロシジャの作成

PRIMECLUSTERシステムへ登録する以下の状態遷移プロシジャを作成します。

上記のプロシジャは、運用系、待機系のそれぞれに作成し、同じディレクトリパス上に配置してください。共有ディスクには作成しないでください。プロシジャの作成後、実行権を必ず設定してください。

監視スクリプトおよびデーモンを監視する状態遷移プロシジャは、運用系のノード上で動作するデーモンを監視し、デーモンの終了をフェールオーバの契機にしたい場合に作成します。デーモンの終了をフェールオーバの契機にしない場合は、作成する必要はありません。

それぞれのプロシジャの作成例を説明します。以降で説明するプロシジャは、すべてサンプルが提供されています。サンプルをバックアップするか、複写した後、環境に応じて変更してご利用ください。

4.1.1.1 デーモンの動作を制御する状態遷移プロシジャファイルの作成

ジョブスケジューラ、ジョブ実行制御のデーモンの動作を制御する、状態遷移プロシジャを作成します。

デーモンの動作を制御する状態遷移プロシジャは、以下にサンプルが提供されています。

/opt/FJSVJMCMN/etc/script/OperationMGR.proc

サンプルの状態遷移プロシジャは、1:1運用待機(サブシステムなし)およびカスケード用です。

1:1運用待機(サブシステムあり)の場合、1:1運用待機(サブシステムあり、一部クラスタ運用)の場合、N:1運用待機および2ノード相互待機の場合は、状態遷移プロシジャの変更が必要です。

また、サンプルの状態遷移プロシジャでは、共有ディスク名を“/disk1”としています。共有ディスク名が違う場合はサンプルの“/disk1”を実際の共有ディスク名に変更してください。

サンプルを複写後、クラスタシステムの運用に合わせて変更してご利用ください。1:1運用待機(サブシステムなし)およびカスケードの場合は、バックアップを取った上で、サンプルをそのまま使用してもかまいません。

以下に状態遷移プロシジャの変更例を説明します。

1:1運用待機(サブシステムあり)、1:1運用待機(サブシステムあり、一部クラスタ運用)の場合の変更例

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

以下は、1:1運用待機(サブシステムあり)においてサブシステム0とサブシステム1を運用している場合の例、および1:1運用待機(サブシステムあり、一部クラスタ運用)において、サブシステム0はクラスタ運用せずに、サブシステム1のみクラスタ運用する場合の例です。

  1. 状態遷移プロシジャの、“SUBSYSTEM”変数を“PLU_SUBSYSTEM”とし、値はサブシステム番号に変更します。1:1運用待機(サブシステムあり、一部クラスタ運用)の場合は、クラスタ運用するサブシステム番号だけを記述するよう変更します。

    [変更前]

    SUBSYSTEM="0"

    [変更後]

    1:1運用待機(サブシステムあり)の場合
    PLU_SUBSYSTEM="0 1"
    1:1運用待機(サブシステムあり、一部クラスタ運用)の場合
    PLU_SUBSYSTEM="1"
  2. ジョブスケジューラとジョブ実行制御をサブシステムごとに起動するように、START-RUN-AFTERの最後にfor文、do文、done文を追加します。

    [変更前]

    # Starts Job Scheduler & Job Execution Control
    # - 1:1 standby, N:1 standby, 2 nodes mutual standby
          sh /etc/opt/FJSVMJS/etc/rc3.d/S99MJS -sys $SUBSYSTEM
          sh /opt/FJSVJOBSC/etc/rc3.d/S99JOBSCH -sys $SUBSYSTEM
          ;;

    [変更後]

    # Starts Job Scheduler & Job Execution Control
    # - 1:1 standby, N:1 standby, 2 nodes mutual standby
          for SUBSYSTEM in $PLU_SUBSYSTEM
          do
          sh /etc/opt/FJSVMJS/etc/rc3.d/S99MJS -sys $SUBSYSTEM
          sh /opt/FJSVJOBSC/etc/rc3.d/S99JOBSCH -sys $SUBSYSTEM
          done
          ;;
  3. ジョブスケジューラとジョブ実行制御がサブシステムごとに終了するように、STOP-RUN-BEFOREの最初にfor文、do文を追加します。

    [変更前]

    'BEFORE')
        # Job Execution Control Server
        if [ -x /usr/bin/zonename ]
    

    [変更後]

    'BEFORE')
        # Job Execution Control Server
        for SUBSYSTEM in $PLU_SUBSYSTEM
        do
        if [ -x /usr/bin/zonename ]
    
  4. STOP-RUN-BEFOREの最後にdone文を追加します。

    [変更前]

        done
        ;;
    'AFTER')

    [変更後]

        done
        done
        ;;
    'AFTER')
  5. 1:1運用待機(サブシステムあり、一部クラスタ運用)の場合は、セキュリティ情報をサブシステムごとに自動反映するように、START-RUN-AFTERの最後にfor文、do文、done文を追加します。

    [変更前]

    # - 1:1 standby, N:1 standby
            /opt/FJSVfwseo/bin/mpaclcls
            sh /opt/FJSVfwseo/bin/jmacltrn.sh

    [変更後]

    # - 1:1 standby, N:1 standby
            for SUBSYSTEM in $PLU_SUBSYSTEM
            do
            /opt/FJSVfwseo/bin/mpaclcls -s $SUBSYSTEM
            sh /opt/FJSVfwseo/bin/jmacltrn.sh $SUBSYSTEM
            done

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

  1. START-RUN-AFTER時の“Make 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 "/var/opt/FJSVJOBSC" -o -f "/var/opt/FJSVJOBSC" ")"]
    #then
    #   ln -s /disk1/FJSVJOBSC /var/opt/FJSVJOBSC
    #fi
    # Job Execution Control
    #if [ ! "(" -h "/var/spool/mjes" -o -f "/var/spool/mjes" ")" ]
    #then
    #  ln -s /disk1/FJSVMJS/var/spool/mjes /var/spool/mjes
    #fi
    #if [ ! "(" -h "/etc/mjes" -o -f "/etc/mjes" ")" ]
    #then
    #  ln -s /disk1/FJSVMJS/etc/mjes /etc/mjes
    #fi
    # Calendar
    #if [ ! "(" -h "/var/opt/FJSVjmcal/post" -o -f "/var/opt/FJSVjmcal/post" ")" ]
    #then
    #  ln -s /disk1/FJSVjmcal/post /var/opt/FJSVjmcal/post
    #fi
    # Stem
    #if [ ! "(" -h "/var/opt/FJSVstem" -o -f "/var/opt/FJSVstem" ")" ]
    #then
    #  ln -s /disk1/FJSVstem /var/opt/FJSVstem
    #fi
    	# - 1:1 standby, 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 "/var/opt/FJSVJOBSC" -o -f "/var/opt/FJSVJOBSC" ")"]
    then
       ln -s /disk1/FJSVJOBSC /var/opt/FJSVJOBSC
    fi
    # Job Execution Control
    if [ ! "(" -h "/var/spool/mjes" -o -f "/var/spool/mjes" ")" ]
    then
      ln -s /disk1/FJSVMJS/var/spool/mjes /var/spool/mjes
    fi
    if [ ! "(" -h "/etc/mjes" -o -f "/etc/mjes" ")" ]
    then
      ln -s /disk1/FJSVMJS/etc/mjes /etc/mjes
    fi
    # Calendar
    if [ ! "(" -h "/var/opt/FJSVjmcal/post" -o -f "/var/opt/FJSVjmcal/post" ")" ]
    then
      ln -s /disk1/FJSVjmcal/post /var/opt/FJSVjmcal/post
    fi
    # Stem  (注)
    if [ ! "(" -h "/var/opt/FJSVstem" -o -f "/var/opt/FJSVstem" ")" ]
    then
      ln -s /disk1/FJSVstem /var/opt/FJSVstem
    fi
    	# - 1:1 standby, N:1 standby
    注)  マスタスケジュール管理機能が有効な場合のみコメントを外します。
  2. STOP-RUN-AFTER時の“remove symbolic links.(if N:1 standby)”の部分のコメントを外します (“#”を削除します) 。

    [変更前]

    # remove symbolic links.(if N:1 standby)
    # Job Scheduler
    #if [ -h "/var/opt/FJSVJOBSC" ]
    #then
    #      rm /var/opt/FJSVJOBSC
    #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 "/var/opt/FJSVjmcal/post" ]
    #then
    #      rm /var/opt/FJSVjmcal/post
    #fi
    # Stem
    #if [ -h "/var/opt/FJSVstem" ]
    #then
    #      rm /var/opt/FJSVstem
    #fi
    ;;

    [変更後]

    # remove symbolic links.(if N:1 standby)
    # Job Scheduler
    if [ -h "/var/opt/FJSVJOBSC" ]
    then
          rm /var/opt/FJSVJOBSC
    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 "/var/opt/FJSVjmcal/post" ]
    then
          rm /var/opt/FJSVjmcal/post
    fi
    # Stem (注)
    if [ -h "/var/opt/FJSVstem" ]
    then
          rm /var/opt/FJSVstem
    fi
    ;;
    注)  マスタスケジュール管理機能が有効な場合のみコメントを外します。
  3. 状態遷移プロシジャを、ファイル名を変更して運用系の数(N個)だけ用意し、それぞれの共有ディスクに合わせて、シンボリックリンクを作成するディレクトリ(例では“disk1”)を変更します。

  4. N個の状態遷移プロシジャを、それぞれの運用系に配置し、待機系にはN個の状態遷移プロシジャすべて、運用系と同じディレクトリパス上に複写します。

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

    運用系1:/opt/FJSVJMCMN/etc/script/OperationMGR1.proc
    運用系2:/opt/FJSVJMCMN/etc/script/OperationMGR2.proc
    運用系3:/opt/FJSVJMCMN/etc/script/OperationMGR3.proc
    待機系 :/opt/FJSVJMCMN/etc/script/OperationMGR1.proc
               /opt/FJSVJMCMN/etc/script/OperationMGR2.proc
               /opt/FJSVJMCMN/etc/script/OperationMGR3.proc

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

  1. 状態遷移プロシジャの、“SUBSYSTEM”の変数を“1”に変更します。

    [変更前]

    SUBSYSTEM="0"

    [変更後]

    SUBSYSTEM="1"
  2. START-RUN-AFTER時の“- 1:1 standby, N:1 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
    # Starts Job Scheduler & Job Execution Control

    [変更後]

    # - 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
    # Starts Job Scheduler & Job Execution Control
  3. 変更後と同じ内容で、ファイル名を変更した状態遷移プロシジャをもう1個用意して、“SUBSYSTEM”の変数を“2”に変更します。

    [変更前]

    SUBSYSTEM="1"

    [変更後]

    SUBSYSTEM="2"
  4. 2個の状態遷移プロシジャを、同じディレクトリパス上の運用系および待機系に配置します。

    配置例を以下に示します。

    運用系1:/opt/FJSVJMCMN/etc/script/OperationMGR1.proc
      (待機系2)/opt/FJSVJMCMN/etc/script/OperationMGR2.proc
    運用系2:/opt/FJSVJMCMN/etc/script/OperationMGR2.proc
      (待機系1)/opt/FJSVJMCMN/etc/script/OperationMGR1.proc

4.1.1.2 監視スクリプトの作成

デーモンを監視する状態遷移プロシジャから呼び出される、監視スクリプトを作成します。

監視スクリプトは、以下にサンプルが提供されています。

/opt/FJSVJMCMN/etc/script/omgr_smonitor

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

サンプルを複写後、クラスタシステムの運用に合わせて変更してご利用ください。1:1運用待機(サブシステムなし)およびカスケードの場合は、バックアップを取った上で、サンプルをそのまま使用してもかまいません。

以下に監視スクリプトの変更例を説明します。

1:1運用待機(サブシステムあり)、1:1運用待機(サブシステムあり、一部クラスタ運用)の場合の変更例

複数サブシステム運用を実施している場合、サブシステムごとにデーモン監視を行います。以下は、1:1運用待機(サブシステムあり)において、サブシステム0とサブシステム1を運用している場合の例、および1:1運用待機(サブシステムあり、一部クラスタ運用)において、サブシステム0はクラスタ運用せずに、サブシステム1のみクラスタ運用する場合の例です。

  1. 監視スクリプトの、“SUBSYSTEM”変数を“PLU_SUBSYSTEM”とし、値はサブシステム番号に変更します。1:1運用待機(サブシステムあり、一部クラスタ運用)の場合は、クラスタ運用するサブシステム番号だけを記述するよう変更します。

    [変更前]

    SUBSYSTEM="0"

    [変更後]

    1:1運用待機(サブシステムあり)の場合
    PLU_SUBSYSTEM="0 1"
    1:1運用待機(サブシステムあり、一部クラスタ運用)の場合
    PLU_SUBSYSTEM="1"
  2. サブシステムごとにデーモン監視するように、while doのすぐ後にfor文とdo文を追加します。

    [変更前]

    while /bin/true
    do
        if [ -x /usr/bin/zonename ]

    [変更後]

    while /bin/true
    do
        for SUBSYSTEM in $PLU_SUBSYSTEM
        do
        if [ -x /usr/bin/zonename ]
  3. sleep 10 の前にdone文を追加します。

    [変更前]

        sleep 10
    done

    [変更後]

        done
        sleep 10
    done

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

  1. 監視スクリプトを、ファイル名を変更して運用系の数(N個)だけ用意します。

  2. N個の監視スクリプトを、それぞれの運用系に配置し、待機系にはN個の監視スクリプトをすべて、運用系と同じディレクトリパス上に複写します。

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

    運用系1:/opt/FJSVJMCMN/etc/script/omgr_smonitor1
    運用系2:/opt/FJSVJMCMN/etc/script/omgr_smonitor2
    運用系3:/opt/FJSVJMCMN/etc/script/omgr_smonitor3
    待機系 :/opt/FJSVJMCMN/etc/script/omgr_smonitor1
               /opt/FJSVJMCMN/etc/script/omgr_smonitor2
               /opt/FJSVJMCMN/etc/script/omgr_smonitor3

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

  1. “SUBSYSTEM”の変数を“1”に変更します。

    [変更前]

    SUBSYSTEM="0"

    [変更後]

    SUBSYSTEM="1"
  2. 変更後と同じ内容で、名前を変更した状態遷移プロシジャをもう1個用意して、“SUBSYSTEM”の変数を“2”に変更します。

    [変更前]

    SUBSYSTEM="1"

    [変更後]

    SUBSYSTEM="2"
  3. 2個の状態遷移プロシジャを、同じディレクトリパス上の運用系および待機系に配置します。

    配置例を以下に示します。

    運用系1:/opt/FJSVJMCMN/etc/script/omgr_smonitor1
      (待機系2)/opt/FJSVJMCMN/etc/script/omgr_smonitor2
    運用系2:/opt/FJSVJMCMN/etc/script/omgr_smonitor2
      (待機系1)/opt/FJSVJMCMN/etc/script/omgr_smonitor1

4.1.1.3 デーモンを監視する状態遷移プロシジャの作成

ジョブスケジューラ、ジョブ実行制御のデーモンを監視する状態遷移プロシジャを作成します。

デーモンを監視する状態遷移プロシジャは、以下にサンプルが提供されています。

/opt/FJSVJMCMN/etc/script/omgr_monitor.proc

サンプルの状態遷移プロシジャは、1:1運用待機およびカスケード用です。N:1運用待機および2ノード相互待機の場合は、状態遷移プロシジャの変更が必要です。

サンプルを複写後、クラスタシステムの運用に合わせて変更してご利用ください。1:1運用待機およびカスケードの場合は、バックアップを取った上で、サンプルをそのまま使用してもかまいません。

以下に状態遷移プロシジャの変更例を説明します。

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

デーモンを監視する状態遷移プロシジャを、ファイル名を変更してN個作成します。デーモンを監視する状態遷移プロシジャ内に記載された、監視スクリプトのファイル名を変更します。“4.1.1.2 監視スクリプトの作成”で作成したファイル名を記載します。

  1. 状態遷移プロシジャを、ファイル名を変更して運用系の数(N個)だけ用意します。環境に合わせてそれぞれのファイルで情報を変更します。

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

    • デーモンを監視する状態遷移プロシジャ:omgr_monitor1.proc

      $CLMONPROC -s -r $4 -a /opt/FJSVJMCMN/etc/script/omgr_smonitor1 -c 0
    • デーモンを監視する状態遷移プロシジャ:omgr_monitor2.proc

      $CLMONPROC -s -r $4 -a /opt/FJSVJMCMN/etc/script/omgr_smonitor2 -c 0
    • デーモンを監視する状態遷移プロシジャ:omgr_monitor3.proc

      $CLMONPROC -s -r $4 -a /opt/FJSVJMCMN/etc/script/omgr_smonitor3 -c 0
  2. N個の状態遷移プロシジャを、それぞれの運用系に配置し、待機系にはN個の状態遷移プロシジャすべて、運用系と同じディレクトリパス上に複写します。

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

    運用系1:/opt/FJSVJMCMN/etc/script/omgr_monitor1.proc
    運用系2:/opt/FJSVJMCMN/etc/script/omgr_monitor2.proc
    運用系3:/opt/FJSVJMCMN/etc/script/omgr_monitor3.proc
    待機系 :/opt/FJSVJMCMN/etc/script/omgr_monitor1.proc
               /opt/FJSVJMCMN/etc/script/omgr_monitor2.proc
               /opt/FJSVJMCMN/etc/script/omgr_monitor3.proc

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

デーモンを監視する状態遷移プロシジャを、ファイル名を変更して2個作成します。デーモンを監視する状態遷移プロシジャ内に記載された、監視スクリプトのファイル名を変更します。“4.1.1.2 監視スクリプトの作成”で作成したファイル名を記載します。

  1. 1個の状態遷移プロシジャの、監視スクリプトのファイル名を変更します。

    [変更前]

    $CLMONPROC -s -r $4 -a /opt/FJSVJMCMN/etc/script/omgr_smonitor -c 0

    [変更後]

    $CLMONPROC -s -r $4 -a /opt/FJSVJMCMN/etc/script/omgr_smonitor1 -c 0
  2. もう1個の状態遷移プロシジャの、監視スクリプトのファイル名を変更します。

    [変更前]

    $CLMONPROC -s -r $4 -a /opt/FJSVJMCMN/etc/script/omgr_smonitor -c 0

    [変更後]

    $CLMONPROC -s -r $4 -a /opt/FJSVJMCMN/etc/script/omgr_smonitor2 -c 0
  3. 2個の状態遷移プロシジャを、同じディレクトリパス上の運用系および待機系に配置します。

    配置例を以下に示します。

    運用系1:/opt/FJSVJMCMN/etc/script/omgr_monitor1.proc
      (待機系2)/opt/FJSVJMCMN/etc/script/omgr_monitor2.proc
    運用系2:/opt/FJSVJMCMN/etc/script/omgr_monitor2.proc
      (待機系1)/opt/FJSVJMCMN/etc/script/omgr_monitor1.proc