ページの先頭行へ戻る
PRIMECLUSTER 導入運用手引書 4.7<Cloud Services 編>

21.10.2 I/Oフェンシング機能の設定

ここでは、GdsリソースまたはFsystemリソースを登録するすべてのクラスタアプリケーションに対して、I/Oフェンシング機能用の設定をする方法について説明します。

I/Oフェンシング機能用の設定として、以下の3つの設定を行います。

  1. Cmdlineリソースの作成とOnline/Offlineスクリプトの設定

    1. Cmdlineリソースの設定において、Startスクリプト、Stopスクリプト、Checkスクリプトを次の形式で追加してください。

      • Startスクリプト

        /opt/SMAW/bin/hvsgpr -c
      • Stopスクリプト

        /opt/SMAW/bin/hvsgpr -u
      • Checkスクリプト

        /opt/SMAW/bin/hvsgpr -m

      Cmdlineリソースの作成については、“PRIMECLUSTER 導入運用手引書”の“6.7.3.1 Cmdlineリソースの設定”を参照してください。

    2. Cmdlineリソースの属性の設定において、AutoRecover属性を無効(0)に設定してください。その他の属性は、デフォルトの設定を変更しないでください。

  2. クラスタアプリケーションのスクリプトの設定

    1. クラスタアプリケーションの設定において、PreOnline、OfflineDoneスクリプトを次の形式で追加してください。

      • PreOnlineスクリプト

        /opt/SMAW/bin/hvsgpr -r
      • OfflineDoneスクリプト

        /opt/SMAW/bin/hvsgpr -o
      1. “Machines+Basics”の“(PreOnlineScript=)”を選択します。

        Consistency check ...
        
        Machines+Basics (app1:consistent)
         1) HELP
         2) -
         3) SAVE+EXIT
         4) REMOVE+EXIT
         5) AdditionalMachine
         6) AdditionalConsole
         7) Machines[0]=vm21RMS
         8) Machines[1]=vm22RMS
         9) (PreCheckScript=)
        10) (PreOnlineScript=)
        11) (PostOnlineScript=)
        12) (PreOfflineScript=)
        13) (OfflineDoneScript=)
        14) (FaultScript=)
        15) (AutoStartUp=yes)
        16) (AutoSwitchOver=HostFailure|ResourceFailure|ShutDown)
        17) (PreserveState=no)
        18) (PersistentFault=0)
        19) (ShutdownPriority=)
        20) (OnlinePriority=)
        21) (StandbyTransitions=ClearFaultRequest|StartUp|SwitchRequest)
        22) (LicenseToKill=no)
        23) (AutoBreak=yes)
        24) (AutoBreakMaintMode=no)
        25) (HaltFlag=yes)
        26) (PartialCluster=0)
        27) (ScriptTimeout=)
        Choose the setting to process:10
      2. “FREECHOICE”を選択し、PreOnlineスクリプトをフルパスで入力します。

        1) HELP
        2) RETURN
        3) NONE
        4) FREECHOICE
        Enter the command line to start prior to the application becoming ONLINE:4
                >> /opt/SMAW/bin/hvsgpr -r
      3. “Machines+Basics”の“(OfflineDoneScript=)”を選択します。

        Consistency check ...
        
        Machines+Basics (app1:consistent)
         1) HELP
         2) -
         3) SAVE+EXIT
         4) REMOVE+EXIT
         5) AdditionalMachine
         6) AdditionalConsole
         7) Machines[0]=vm21RMS
         8) Machines[1]=vm22RMS
         9) (PreCheckScript=)
        10) (PreOnlineScript='/opt/SMAW/bin/hvsgpr~-r')
        11) (PostOnlineScript=)
        12) (PreOfflineScript=)
        13) (OfflineDoneScript=)
        14) (FaultScript=)
        15) (AutoStartUp=yes)
        16) (AutoSwitchOver=HostFailure|ResourceFailure|ShutDown)
        17) (PreserveState=no)
        18) (PersistentFault=0)
        19) (ShutdownPriority=)
        20) (OnlinePriority=)
        21) (StandbyTransitions=ClearFaultRequest|StartUp|SwitchRequest)
        22) (LicenseToKill=no)
        23) (AutoBreak=yes)
        24) (AutoBreakMaintMode=no)
        25) (HaltFlag=yes)
        26) (PartialCluster=0)
        27) (ScriptTimeout=)
        Choose the setting to process:13
      4. “FREECHOICE”を選択し、OfflineDoneスクリプトをフルパスで入力します。

        1) HELP
        2) RETURN
        3) NONE
        4) FREECHOICE
        Enter the command line to start prior to the application becoming ONLINE:4 >> /opt/SMAW/bin/hvsgpr -o
    2. クラスタアプリケーションの属性の設定において、HaltFlag属性を有効(1)に設定している場合は、Faultスクリプトを次の形式で追加してください。

      • Faultスクリプト

        /opt/SMAW/bin/hvsgpr -f
      1. “Machines+Basics”の“(FaultScript=)”を選択します。

        Consistency check ...
        
        Machines+Basics (app1:consistent)
         1) HELP
         2) -
         3) SAVE+EXIT
         4) REMOVE+EXIT
         5) AdditionalMachine
         6) AdditionalConsole
         7) Machines[0]=vm21RMS
         8) Machines[1]=vm22RMS
         9) (PreCheckScript=)
        10) (PreOnlineScript='/opt/SMAW/bin/hvsgpr~-r')
        11) (PostOnlineScript=)
        12) (PreOfflineScript=)
        13) (OfflineDoneScript='/opt/SMAW/bin/hvsgpr~-o')
        14) (FaultScript=)
        15) (AutoStartUp=yes)
        16) (AutoSwitchOver=HostFailure|ResourceFailure|ShutDown)
        17) (PreserveState=no)
        18) (PersistentFault=0)
        19) (ShutdownPriority=)
        20) (OnlinePriority=)
        21) (StandbyTransitions=ClearFaultRequest|StartUp|SwitchRequest)
        22) (LicenseToKill=no)
        23) (AutoBreak=yes)
        24) (AutoBreakMaintMode=no)
        25) (HaltFlag=yes)
        26) (PartialCluster=0)
        27) (ScriptTimeout=)
        Choose the setting to process:14
      2. “FREECHOICE”を選択し、Faultスクリプトをフルパスで入力します。

        1) HELP
        2) RETURN
        3) NONE
        4) FREECHOICE
        Enter the command line to start prior to the application becoming ONLINE:4
                >> /opt/SMAW/bin/hvsgpr -f

PreOnlineスクリプト、OfflineDoneスクリプト、Faultスクリプトに、hvsgprコマンドとは別のコマンドを同時に指定する場合、以下のいずれかの方法が利用できます。

それぞれの指定例を以下に記します。

コマンドを二重アンパサンド(&&)で区切って指定する
/opt/SMAW/bin/hvsgpr -r && /var/tmp/command
コマンドをセミコロン(;)で区切って指定する
/opt/SMAW/bin/hvsgpr -o ; /var/tmp/command
複数のコマンドを実行するスクリプトを作成し、そのスクリプトを指定する
#!/bin/sh

/opt/SMAW/bin/hvsgpr -r
ret1=$?
/var/tmp/command
ret2=$?
if [ $ret1 = 0 ]; then
    exit $ret2
fi
exit $ret1

スクリプトごとの使用可否と注意事項を記載した表は以下の通りです。

スクリプトの種類

コマンドを二重アンパサンド(&&)で区切って指定する

コマンドをセミコロン(;)で区切って指定する

複数のコマンドを実行するスクリプトを作成し、そのスクリプトを指定する

PreOnlineスクリプト


(※1)

×


(※2)

OfflineDoneスクリプト

×

Faultスクリプト

×

○:使用可、×:使用不可
(※1) hvsgprコマンドが最初に実行されるよう指定する必要があります。
hvsgprコマンドが異常終了した場合は、2番目以降のコマンドは実行されません。
(※2) hvsgprコマンドが異常終了した場合、スクリプトはその復帰値を返す必要があります。


上記設定およびクラスタアプリケーションのすべての構築完了後、以下の操作を行い multipathdの設定をリロードしてください。

  1. システム再起動

    すべてのノードでシステムを再起動してください。

    # /sbin/shutdown -r now
  2. RMSの停止

    RMSが起動している場合は、クラスタシステムを構成する任意の1ノードで以下のコマンドを実行し、RMSを停止します。

    # hvshut -a
  3. multipathd のリロード

    すべてのノードで multipathdの設定をリロードしてください。

    # service multipathd reload
  4. RMSの起動

    クラスタシステムを構成する任意の1ノードで以下のコマンドを実行し、RMSを起動します。

    # hvcm -a