クラスタサービスに登録するために、資源配付のリソースでクラスタアプリケーションを作成します。
使用するクラスタソフトウェアごとに、リソースおよびクラスタアプリケーションの作成方法を説明します。
PRIMECLUSTERを使用する場合
userApplication Configuration Wizard、またはRMS Wizardを使用してリソース・アプリケーションを作成します。
Solaris版を使用する場合
userApplication Configuration Wizardを使用して、リソース、およびクラスタアプリケーションの作成を行います。
リソースの作成
PRIMECLUSTERのuserApplication Configuration Wizardから、[Resourceの作成]を選択し、以下のResourceタイプを設定します。
詳細は、PRIMECLUSTERのマニュアルを参照してください。
Fsystem :
共有資源用パーティションのマウントポイントを選択します。
Gds :
PRIMECLUSTER GDS (Global Disk Services)で定義するディスククラスをリソースとして登録する場合に使用します。リソースとして登録するとuserApplicationと連動してディスククラスを起動/停止することができます。
ディスククラスの選択では共有資源用パーティションとして使用するPRIMECLUSTER GDSで定義したディスククラスを登録してください。
ディスククラスの用途設定では、[排他使用]には“する”を選択し、[HotStandby運用]には“しない”を選択してください。(共用ディスクの用途として“切替ディスク”となるように設定してください。)
Gls :
PRIMECLUSTER GLS (Global Link Services)で定義する引継ぎIPアドレスをリソースとして登録する場合に使用します。
引継ぎネットワーク :
GlsまたはIpaddressのどちらか一方を使用します。
Glsを使用する場合、引継ぎIPアドレスにはクラスタセットアップコマンドのオプションで指定したものを設定します。
Ipaddressを使用する場合、引継ぎネットワークの種別に“IPアドレス引継ぎ”を選択し、IPアドレス/ホスト名には、クラスタセットアップコマンドのオプションで指定したものを設定します。
Procedure :
以下の2つのProcedureリソースを作成します。
プロシジャクラスにApplicationを選択し、プロシジャリソースをSDPROCとして作成します。
プロシジャクラスにApplicationを選択し、プロシジャリソースをSDPMONとします。登録情報の確認画面のAttributesタブで表示されるsubApplicationボタンを選択し、そのリソースの関連付けでは、1つ目のProcedureリソース(SDPROC)のResource名を選択してください。
クラスタアプリケーションの作成
PRIMECLUSTERのuserApplication Configuration Wizardのトップメニューから、[userApplicationの作成]を選択し、アプリケーションを作成します。詳細は、PRIMECLUSTERのマニュアルを参照してください。
[userApplication名と運用形態の設定]画面では、運用形態にStandbyを選択してください。
[属性の設定]画面では、userApplicationの属性を設定してください。設定するオプションの例(推奨値)を以下に示します。
属性(Attribute) | 値(Value) | 概要 |
---|---|---|
AutoStartUp | Yes | RMSが開始されるときに、userApplicationも自動的に開始されます。 |
AutoSwitchOver | HostFailure Shutdown | ホストおよびリソースで障害が発生した場合、またはRMSが停止した場合に自動的に切り替えられるようにします。 |
PersistentFault | 1 | userApplicationのFaultedの状態は、RMSの再起動後も維持されます。 |
ShutdownPriority | NONE(省略値) | userApplicationに重み係数(優先度)を割り当てません。 |
StandbyTransitions | ClearFaultRequest StartUp | RMSが起動するとき、および別のノードへ状態遷移したとき、故障クリア操作後にStandby状態遷移が実行されます。 |
OnlinePriority | 1 | 全クラスタを再起動したときに、Onlineのノードを再起動前のノードにするかノードの設定順序に従うか選択します。 1を選択した場合は、再起動前のノードをOnlineにします。 |
HaltFlag | Yes | Fault処理中に、さらに故障が発生(二重故障)したような場合に、ノードを強制的に停止します。この場合、RMSは、フェールオーバ中にリソースに異常が発生してもノードを強制的に停止させて、userApplication のフェールオーバを完了させます。 |
Resourceの選択には、リソースの作成で作成した各リソースをすべて選択し、アプリケーションの作成を行ってください。
Linux版を使用する場合
PRIMECLUSTER GLS、およびRMS Wizardを使用して、リソース/クラスタアプリケーションの作成を行います。
リソース作成の準備
Glsリソース設定前の準備
Glsリソースの設定前に仮想インタフェースと引継ぎIPアドレス(引継ぎ仮想インタフェース)の設定を行っておく必要があります。詳細は、PRIMECLUSTERのマニュアルを参照してください。
Gdsリソース設定前の準備
Gdsリソースを設定する場合には、Gdsリソース設定前に共用ボリュームを設定する必要があります。また、Gdsリソース設定前に、どれか1つのノードで以下のコマンドを実行してください。
このコマンドは、指定したGdsリソースが userApplicationの状態と連動してGDSボリュームの起動/停止を行うために必要な操作です。加えてボリュームを共用する全ノードでoffline状態にします。
# /opt/SMAW/SMAWRrms/bin/hvgdsetup -a 共用ボリュームのディスククラス名
クラスタアプリケーションの作成
RMS Wizardを使用してアプリケーションを作成します。
作成手順の詳細は、“リソース/クラスタアプリケーションの登録”、およびPRIMECLUSTERのマニュアルを参照してください。
プライマリ/セカンダリノードを登録
“Machines+Basics”からプライマリ・およびセカンダリノードを登録してください。
引き継ぎIPアドレスの登録
“Gls:Global-Link-Services”を選択し、PRIMECLUSTER GLSで設定した引き継ぎIPアドレスとして使用するアドレスを登録してください。
共有ディスクを登録
“LocalFileSystem”から共有資源用パーティションのマウントポイントを登録してください。
Gdsリソースを設定
PRIMECLUSTER GDS (Global Disk Services)で定義するディスククラスを userApplicationと連動して起動/停止する場合に使用します。
“Gds:Global-Disk-Services”を選択し、共有資源用パーティションのマウントポイントとして使用するPRIMECLUSTER GDSで定義したディスククラスを登録してください。
2つのProcedureリソースを設定する。
“CRM”から2つのProcedureリソース(SDPROC,SDPMON)を設定します。なお、SDPROCの優先順位がSDPMONよりも高くなるようPriority(リソースクラス内優先度)の値を変更してください。
各種オプションの設定
“Machines+Basics”からクラスタアプリケーションの各種オプションの設定を行います。設定するオプションの例(推奨値)を以下に示します。
属性(Attribute) | 値(Value) | 概要 |
---|---|---|
AutoStartUp | Yes | RMSが開始されるときに、userApplicationも自動的に開始されます。 |
AutoSwitchOver | HostFailure Shutdown | ホストおよびリソースで障害が発生した場合、またはRMSが停止した場合に自動的に切り替えられるようにします。 |
PersistentFault | 1 | userApplicationのFaultedの状態は、RMSの再起動後も維持されます。 |
ShutdownPriority | NONE(省略値) | userApplicationに重み係数(優先度)を割り当てません。 |
StandbyTransitions | ClearFaultRequest StartUp | RMSが起動するとき、および別のノードへ状態遷移したとき、故障クリア操作後にStandby状態遷移が実行されます。 |
OnlinePriority | 1 | 全クラスタを再起動したときに、Onlineのノードを再起動前のノードにするかノードの設定順序に従うか選択します。 1を選択した場合は、再起動前のノードをOnlineにします。 |
HaltFlag | Yes | Fault処理中に、さらに故障が発生(二重故障)したような場合に、ノードを強制的に停止します。この場合、RMS は、フェイルオーバ中にリソースに異常が発生してもノードを強制的に停止させて、userApplication のフェイルオーバを完了させます。 |
クラスタサービスの登録
RMS WizardでuserApplicationを設定した場合、PRIMECLUSTER対応製品用のクラスタサービスおよびクラスタサービスインスタンスリソースをResource Database へ登録する必要があります。
クラスタサービスの登録については、“クラスタサービスの登録/関連付け【部門管理サーバ/業務サーバ】”およびPRIMECLUSTERのマニュアルを参照してください。
Oracle Solaris Clusterを使用する場合
資源配付をアプリケーションリソースとして登録し、アプリケーショングループに追加します。
アプリケーショングループは、以下のどちらかとなります。
既存のアプリケーショングループ
新規に登録するアプリケーショングループ
既存のアプリケーショングループに追加する場合
既存のアプリケーショングループに追加する場合は、以下のコマンドを実行します。
資源配付のアプリケーションリソースmpsdlが登録され、-gオプションで指定したアプリケーショングループに追加されます。
/opt/FJSVmpsdl/cluster/sun/drmssunc -s -g アプリケーショングループ名 |
新規に登録するアプリケーショングループに追加する場合
新規に登録するアプリケーショングループに追加する場合、以下のコマンドを実行します。
アプリケーショングループmpsdl_GROUPが新規に登録され、資源配付のアプリケーションリソースmpsdlがmpsdl_GROUPに追加されます。
/opt/FJSVmpsdl/cluster/sun/drmssunc -s |
注意
アプリケーションリソースを登録する場合は、クラスタセットアップコマンドの-hオプションで指定した論理ホストをアプリケーションリソースとして事前に登録しておく必要があります。
アプリケーションリソースの登録方法については、Oracle Solaris Clusterのマニュアルを参照してください。
MC/ServiceGuardを使用する場合
運用系ノードで、クラスタサービスを登録します。クラスタサービスは、資源配付のパッケージ構成スクリプトおよび資源配付のパッケージ制御スクリプトを登録することで、登録されます。登録の詳細は、MC/ServiceGuardのマニュアルを参照してください。
資源配付のパッケージ構成スクリプトおよび資源配付のパッケージ制御スクリプトは、“プライマリでの設定”および“セカンダリでの設定”で実行した資源配付用のクラスタセットアップにより、以下のように作成されています。
運用系ノード
パッケージ構成スクリプト:/etc/cmcluster/mpsdl/mpsdl.conf
パッケージ制御スクリプト:/etc/cmcluster/mpsdl/mpsdl.sh
待機系ノード
パッケージ制御スクリプト:/etc/cmcluster/mpsdl/mpsdl.sh
パッケージ構成スクリプト、パッケージ制御スクリプトの編集
パッケージ構成スクリプト、パッケージ制御スクリプトには、パッケージ名とサービス名が設定されています。
パッケージ名およびサービス名は、変更することができます。変更する場合は、必ずクラスタサービスの登録前に行ってください。
パッケージ名の変更
パッケージ名を変更するには、パッケージ構成スクリプトのPKGNAME定義を修正します。
パッケージ名を“drms”に変更する場合の例を以下に示します。
修正前:PKGNAME mpsdl ↓ 修正後:PKGNAME drms
サービス名の変更
サービス名を変更するには、パッケージ構成スクリプトのSERVICE_NAME定義、およびパッケージ制御スクリプトのSERVICE_NAME[]定義を修正します。
サービス名を“drmsservice”に変更する場合の例を以下に示します。
パッケージ構成スクリプト 修正前:SERVICE_NAME mpsdl ↓ 修正後:SERVICE_NAME drmsservice パッケージ制御スクリプト 修正前:SERVICE_NAME[0]=”mpsdl” ↓ 修正後:SERVICE_NAME[0]=”drmsservice”
注意
SERVICE_NAME[0]のサービス名には、パッケージ構成スクリプトで指定したサービス名と同じ値を指定してください。
パッケージ制御スクリプトのSERVICE_NAME[0]定義は、運用系ノードおよび待機系ノードで同じ値を定義してください。
クラスタサービスの登録
資源配付をサービスとして定義したクラスタサービスを登録します。クラスタサービスの登録方法には、以下の3種類があります。
新規クラスタサービスを資源配付サービスだけで登録する
新規クラスタサービスを資源配付サービスとほかのサービスを組み合わせて登録する
既存クラスタサービスに資源配付サービスを追加して登録する
新規クラスタサービスを資源配付サービスだけで登録する
資源配付のパッケージ構成スクリプト、および資源配付のパッケージ制御スクリプトを使用して、クラスタサービスを登録します。登録方法については、MC/ServiceGuardのマニュアルを参照してください。
新規クラスタサービスを資源配付サービスとほかのサービスを組み合わせて登録する
資源配付のパッケージ構成スクリプト、および資源配付のパッケージ制御スクリプトに組み合わせるサービスの定義を追加し、パッケージを新規登録してください。追加する定義を以下に示します。
パッケージ構成スクリプト SERVICE_NAME サービス名 パッケージ制御スクリプト SERVICE_NAME[]="サービス名" SERVICE_CMD[]="コマンドパス" SERVICE_RESTART[]="再起動回数"
注意
上記定義の中括弧([])は配列であることを示しています。配列の添え字は、3定義を共通としてください。
ポイント
必要であれば、パッケージ制御スクリプトのユーザ定義関数を修正してください。
既存クラスタサービスに資源配付サービスを追加して登録する
既存クラスタサービスに資源配付サービスを追加する場合は、以下の手順で登録します。
既存クラスタサービスを削除します。
クラスタサービスの削除方法については、MC/ServiceGuardのマニュアルを参照してください。
既存クラスタサービスのパッケージ構成スクリプト、およびパッケージ制御スクリプトに、資源配付サービスの定義を追加します。追加する定義を以下に示します。
パッケージ構成スクリプト SERVICE_NAME mpsdl パッケージ制御スクリプト SERVICE_NAME[]="mpsdl" SERVICE_CMD[]="/opt/FJSVmpsdl/cluster/McServ/drmsclpm" SERVICE_RESTART[]="-r 0"
注意
上記定義の中括弧([])は配列であることを示しています。配列の添え字は、3定義を共通としてください。
既存パッケージを再登録します。
クラスタサービスの登録方法については、MC/ServiceGuardのマニュアルを参照してください。
パッケージ制御スクリプトのユーザ定義関数に、以下の内容を追加します。
customer_defined_run_cmds関数 drmsd customer_defined_halt_cmds関数 drmsd -q
自ホスト名の設定
資源配付機能をクラスタサービスとして運用している場合、論理ノードを意識した処理を行う必要があります。そのため、システム定義の内容を変更するdrmsmdfyコマンドにより、資源配付のノード名として論理ノードを設定します。
設定手順を以下に示します。
運用系ノードで、資源配付を起動します。
以下のコマンドを実行し、資源配付を起動します。
cmrunpkg -n ホスト名 パッケージ名 |
コマンドの詳細は、MC/ServiceGuardのマニュアルを参照してください。
運用系ノードで、以下のコマンドを実行します。
/opt/systemwalker/bin/drmsmdfy -a sys -k own -s システム名 -n 論理ホスト名 |
注意
-nオプションで指定する値は、業務サーバの上位サーバの/etc/hostsファイルに定義した論理ホスト名、または論理IPアドレスと同一にします。DRMS編集ファイルのnametypeオプションの値が“HOST”の場合は論理ホスト名を、“IP”の場合は論理IPアドレスを指定してください。DRMS編集ファイルの編集方法については、“Systemwalker Centric Manager リファレンスマニュアル”を参照してください。
HACMPを使用する場合
資源配付をクラスタサービスとして運用する場合は、以下の作業を行います。
アプリケーション・サーバーの作成
下記のコマンドを実行し、アプリケーション・サーバーを作成します。
smitty hacmp |
以下のとおりメニューを選択してください。
[拡張構成]-[拡張リソース構成]-[HACMP 拡張リソース構成]-[HACMP アプリケーションの構成]-[HACMP アプリケーション・サーバーの構成]-[アプリケーション・サーバーの追加]を選択し、[アプリケーション・サーバー追加]画面を表示します。表示された画面で以下の値を入力します。
項目名 | 値 |
---|---|
サーバー名 | アプリケーション・サーバー名(例 : mpsdl) |
始動スクリプト | /opt/FJSVmpsdl/cluster/HACMP/mpsdl_start.sh |
停止スクリプト | /opt/FJSVmpsdl/cluster/HACMP/mpsdl_stop.sh |
アプリケーション・モニターの設定
下記のコマンドを実行し、アプリケーション・モニターを設定します。
smitty hacmp |
以下のとおりメニューを選択してください。
[拡張構成]-[拡張リソース構成]-[HACMP 拡張リソース構成]-[HACMP アプリケーションの構成]-[HACMP アプリケーション・モニターの構成]-[ユーザ定義アプリケーション・モニターの構成]-[ユーザ定義アプリケーション・モニターの追加]を選択し、[ユーザ定義アプリケーション・モニターの追加]画面を表示します。表示された画面で以下の値を入力します。
項目名 | 値 |
---|---|
モニター・メソッド | /opt/FJSVmpsdl/cluster/HACMP/drmsclpm |
モニター間隔 | 20(秒単位) |
モニターを停止するシグナル | 9(入力しないと警告になり自動的に9になる) |
安定化間隔 | 60(秒単位) (注1) |
再始動カウント | 0 (注2) |
再始動間隔 | 60(秒単位) (注3) |
アプリケーション障害時のアクション | fallover |
クリーンアップ・メソッド | /opt/FJSVmpsdl/cluster/HACMP/mpsdl_stop.sh |
再始動メソッド | /opt/FJSVmpsdl/cluster/HACMP/mpsdl_start.sh |
注1) 実際にプロセスが動作するまでの待ち時間。
注2) 指定回数分、再始動を試し、それでも起動されない場合に遷移します。
注3) 再起動後、指定秒数動作していれば再始動カウントをリセットします。
リソース・グループの追加
下記のコマンドを実行し、リソース・グループを追加します。
ただし、資源配付のアプリケーション・サーバーをすでに存在するリソース・グループに追加する場合、本作業は必要ありません。“リソース・グループの設定”に進んでください。
下記のコマンドを実行し、リソース・グループの追加を行います。
smitty hacmp |
以下のとおりメニューを選択してください。
[拡張構成]-[拡張リソース構成]-[HACMP 拡張リソース・グループ構成]-[リソース・グループの追加]を選択し、[リソース・グループの追加(拡張)]画面を表示します。表示された画面で以下の値を入力します。
項目名 | 値 |
---|---|
リソース・グループ名 | リソース・グループ名(例 : rg_01) |
参加ノード | クラスタを構成するノード名を入力 |
フォールバック・ポリシー | フォールバックしないを選択 |
リソース・グループの設定
下記のコマンドを実行し、リソース・グループを設定します。
smitty hacmp |
以下のとおりメニューを選択してください。
[拡張構成]-[拡張リソース構成]-[HACMP 拡張リソース・グループ構成]-[リソース・グループのリソースおよび属性の変更/表示]を選択し、[リソース・グループのリソースおよび属性を全て変更/表示]画面を表示します。表示された画面で以下の値を入力します。
項目名 | 値 |
---|---|
サービス IPラベル/アドレス | 論理IPアドレスのラベルを選択 |
アプリケーション・サーバー | 定義済みのアプリケーション・サーバー名を選択 |
ボリューム・グループ | 共有ディスクの論理ボリューム名を選択 |
ファイルシステム(空の場合は指定したVGのすべて) | 共有ディスクのファイルシステムを選択ボリューム・グループに1つのファイルシステムしか存在しなければ空 |
クラスタ・リソースの同期化
下記のコマンドを実行し、クラスタ・リソースの同期化を行います。
smitty hacmp |
以下のとおりメニューを選択してください。
[拡張構成]-[拡張検証および同期化]を選択します。
表示される画面は、クラスターがアクティブか非アクティブかによって設定する値が異なります。
[アクティブの場合]
[HACMP 検証および同期化(存在するアクティブ・クラスター・ノード) ]画面が表示されますので、以下の値を入力してください。
項目名 | 値 |
---|---|
エミュレーションまたは実際 | “実際”を選択 |
[非アクティブの場合]
[HACMP 検証および同期化]画面が表示されますので、以下の値を入力してください。
項目名 | 値 |
---|---|
検証中に検出されたエラーを自動的に訂正する | “対話式”を選択 |
注意
初回同期時は、ボリューム・グループのタイムスタンプが異なることによるエラーが出力されますが、“対話式”を選択することにより解消されます。