ゲストOSでのクラスタアプリケーションの構築方法の詳細については、“第6章 クラスタアプリケーションの構築”を参照してください。
クラスタアプリケーションの構築を実施する際に、GdsリソースまたはFsystemリソースを登録しているクラスタアプリケーションに対して、I/Oフェンシング機能の設定を行う必要があります。
注意
“6.9 クラスタ環境のチェック”を実施した場合、以下の警告および対処が出力されますが、シャットダウン機構の設定には問題ありません。
[警告] シャットダウンエージェントが冗長化されていません。 [対処] クラスタ内のサーバに異常が発生した際に、確実にサーバをシャットダウンできるよう、シャットダウンエージェントを冗長化してください。 "PRIMECLUSTER導入運用手引書"の"シャットダウン機構の設定"を参照し、当ハードウェア機種で利用可能なエージェントを登録してください。
仮想ディスク上に作成したファイルシステムを Fsystem リソースとして利用する場合、同一の仮想ディスク、またはディスククラス上に作成されたファイルシステムは、すべて同じクラスタアプリケーション に登録する必要があります。
一つの仮想ディスク、またはディスククラス上に複数のファイルシステムを作成し、それぞれのファイルシステムを別々のクラスタアプリケーション に登録して監視・制御することは、I/Oフェンシング機能の制約によりできません。
/etc/fstab.pclファイルには、Fsystemリソースが制御するファイルシステムのデバイスを以下のいずれかの形式で指定してください。
GDSを使用する場合
/dev/sfdsk/<ディスククラス名>/dsk/<ボリューム名>
GDSを使用しない場合
/dev/disk/by-id/名 /dev/disk/by-path/名 LABEL=<ファイルシステムのラベル名> UUID=<ファイルシステムのUUID> /dev/sd名
GDSの設定に関しては“PRIMECLUSTER Global Disk Services 説明書”の“第6章 設定”を参照してください。
GLSの設定に関しては“PRIMECLUSTER Global Link Services 説明書(伝送路二重化機能編)”の“第3章 導入”を参照してください。
ここでは、GdsリソースまたはFsystemリソースを登録するすべてのクラスタアプリケーションに対して、I/Oフェンシング機能用の設定をする方法について説明します。
I/Oフェンシング機能用の設定として、以下の3つの設定を行います。
Cmdlineリソースの作成とOnline/Offlineスクリプトの設定
userApplicationのスクリプト(PreOnline、OfflineDone、Faultスクリプト)の設定
切替え先のノードから経路情報を通知する機能の設定
Cmdlineリソースの設定において、Startスクリプト、Stopスクリプト、Checkスクリプトを次の形式で追加してください。
<Startスクリプト>
/opt/SMAW/bin/hvsgpr -c
<Stopスクリプト>
/opt/SMAW/bin/hvsgpr -u
<Checkスクリプト>
/opt/SMAW/bin/hvsgpr -m
Cmdlineリソースの作成については、“6.7.3.1 Cmdlineリソースの設定”を参照してください。
Cmdlineリソースの属性の設定において、AutoRecover属性を無効(0)に設定してください。その他の属性は、デフォルトの設定を変更しないでください。
クラスタアプリケーションの設定において、PreOnline、OfflineDoneスクリプトを次の形式で追加してください。
<PreOnlineスクリプト>
/opt/SMAW/bin/hvsgpr -r
<OfflineDoneスクリプト>
/opt/SMAW/bin/hvsgpr -o
“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
“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“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
“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クラスタアプリケーションの属性の設定において、HaltFlag属性を有効に設定している場合は、Faultスクリプトを次の形式で追加してください。
<Faultスクリプト>
/opt/SMAW/bin/hvsgpr -f
“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
“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 -fuserApplicationにGlsリソースまたは引継ぎネットワークリソースを登録し、かつ、引継ぎIPアドレスにIPv4アドレスを使用する場合、本機能を有効にすることを推奨します。
機能を有効にする場合、各ノードにおいて/opt/SMAW/SMAWRrms/bin/hvenv.local ファイルの末尾に以下の1行を追加してください。
export HV_VM_ENABLE_IP_ADVERTISE=1
注意
以下のいずれかの場合、本機能を設定しても有効にはなりません。
引継ぎIPアドレスにIPv6アドレスを使用する場合
userApplicationにGlsリソースまたは引継ぎネットワークリソースを登録しない場合
参考
本機能を有効にすると、切替え先のノードから一定時間ARPパケットが60秒周期で送信されるようになります。
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コマンドが異常終了した場合、スクリプトはその復帰値を返す必要があります。