ここでは、ネットワーク引継ぎのための定義ファイルの作成、クラスタアプリケーションの構築について説明します。
ネットワーク引継ぎでは、全ノードで、Azureのネットワークデバイスを制御するための以下の定義ファイルを作成する必要があります。
/usr/opt/reliant/etc/hvazurenicconfig
参考
/usr/opt/reliant/etc/hvazurenicconfigファイルを作成する場合、/usr/opt/reliant/etc/hvazurenicconfig.templateファイルをひな形として使用できます。
# cp -p /usr/opt/reliant/etc/hvazurenicconfig.template /usr/opt/reliant/etc/hvazurenicconfig
注意
hvazurenicconfigファイルはrootユーザで作成し、パーミッションを600にしてください。
◆定義ファイルに記載する情報
TakeoverIPAddress CFName1 NICName1 CFName2 NICName2 ResourceGroup AppID TenantID CertPath
項目 | 内容 | 備考 |
---|---|---|
TakeoverIPAddress | 引継ぎIPアドレスを指定します。 (IPv4アドレスで指定します。) | ― |
CFName1 | CFノード名を指定します。 | ― |
NICName1 | CFName1の仮想マシンの、ネットワークインターフェイスの名前を指定します。 | Azureポータルで確認 |
CFName2 | CFノード名を指定します。 | ― |
NICName2 | CFName2の仮想マシンの、ネットワークインターフェイスの名前を指定します。 | Azureポータルで確認 |
ResourceGroupName | リソースグループの名前を指定します。 | Azureポータルで確認 |
AppID | サービスプリンシパルのアプリケーションIDを指定します。 | “27.3 事前設定”の手順3.でメモした値 |
TenantID | サービスプリンシパルのテナントIDを指定します。 | “27.3 事前設定”の手順3.でメモした値 |
CertPath | サービスプリンシパルの証明書のパスを指定します。 | “27.3 事前設定”の手順3.でメモした値 |
例
全ノードで、作成した /usr/opt/reliant/etc/hvazurenicconfig ファイルに、運用系と待機系の情報をそれぞれ記載します。以下は、引継ぎIPアドレスとして、172.31.0.10と172.31.0.11の2つを制御する場合の記載例です。
TakeoverIPAddress | CFName1 | NICName1 | CFName2 | NICName2 | ResourceGroupName | AppID | TenantID | CertPath |
---|---|---|---|---|---|---|---|---|
172.31.0.10 | node0 | Node0-eth1 | node1 | Node1-eth1 | MyRG | d5b7dac1-718f-448b-8e11-4a8cca6d9004 | 8ff7ddfd-fbcb-4700-ae52-6d071ac8d1b4 | /root/examplecert.pem |
172.31.0.11 | node0 | Node0-eth1 | node1 | Node1-eth1 | MyRG | d5b7dac1-718f-448b-8e11-4a8cca6d9004 | 8ff7ddfd-fbcb-4700-ae52-6d071ac8d1b4 | /root/examplecert.pem |
172.31.0.10 node0 Node0-eth1 node1 Node1-eth1 MyRG d5b7dac1-718f-448b-8e11-4a8cca6d9004 8ff7ddfd-fbcb-4700-ae52-6d071ac8d1b4 /root/examplecert.pem 172.31.0.11 node0 Node0-eth1 node1 Node1-eth1 MyRG d5b7dac1-718f-448b-8e11-4a8cca6d9004 8ff7ddfd-fbcb-4700-ae52-6d071ac8d1b4 /root/examplecert.pem
注意
半角空白区切りで記載してください。
CFName1、CFName2は、運用系と待機系のそれぞれのCFノード名を記載してください。記載順序の制約はありません。
TakeoverIPAddressはホスト名ではなく、IPv4アドレスで指定してください。
定義ファイルの記載内容は、運用系と待機系で同一にしてください。
定義ファイルの設定に誤りがある、または、記載した引継ぎIPアドレスがAzure側で既に使用中だった場合、userApplicationの起動に失敗しエラーメッセージがアプリケーションログに出力されます。メッセージの詳細については“PRIMECLUSTER 活用ガイド<メッセージ集>”を参照してください。
ネットワーク引継ぎをクラスタアプリケーションに登録する方法について説明します。
登録するリソースと用途は以下のとおりです。
登録対象 | 用途 |
---|---|
userApplicationのPreOnlineスクリプト | 運用系で仮想マシンのネットワークインターフェイスにセカンダリIPアドレスを追加します。 |
引継ぎネットワークリソース | 運用系で引継ぎIPアドレスを活性化します。 |
引継ぎネットワークリソースを登録するuserApplicationのPreOnlineScriptに、以下のスクリプトを登録してください。
/opt/SMAW/bin/hvazurenic
userApplicationのScriptTimeoutには以下の計算式より大きい値を設定してください。
ScriptTimeout > 引継ぎIPアドレス数 × ( 85 + リトライ間隔(2秒) ) (秒)
処理遅延などを考慮し、検証を行ったうえ、十分大きい値を設定してください。
注意
userApplicationのScriptTimeoutを変更した場合、以下のスクリプトのタイムアウト値が同じ値に変更されます。
PreOnlineScript
PostOnlineScript
PreOfflineScript
PostOfflineScript
OfflineDoneScript
FaultScript
引継ぎネットワークリソースの設定については、“PRIMECLUSTER 導入運用手引書”の“6.7.3.6 引継ぎネットワークリソースの設定”を参照してください。
本設定の事前設定の監視先ホストの定義およびクラスタの設定ファイルへの定義は、以下のようにしてください。
監視先ホストの定義
Azure環境では、仮想ネットワークのゲートウェイはPingに応答しません。
このため、ICMPを利用したネットワークの疎通監視は使用できません。
注意
引継ぎネットワークリソースの設定において以下が必要です。
引継ぎネットワークリソースのBASE、VIRTUAL属性は、VIRTUAL(初期値)を設定する。
引継ぎ IP アドレスを活性化するネットワークインタフェースのプライマリIPアドレスは、静的な IPv4 アドレスにする。
Azure ネットワークインタフェースの IP アドレスの変更手順については、Azureの公式ドキュメントを参照してください。
全ノードで以下のコマンドを実行し、定義ファイル(/usr/opt/reliant/etc/hvazurenicconfig)に記載された情報がAzureのデバイスを制御するうえで、正しく記載されているかを確認してください。
# /opt/SMAW/bin/hvazurechkconf
定義ファイルの記載内容に問題がない場合は、下記のように表示されます。
例)定義ファイルがhvazurenicconfigの場合
# /opt/SMAW/bin/hvazurechkconf
NOTICE: Check completed successfully. file=/usr/opt/reliant/etc/hvazurenicconfig
定義ファイルの記載内容に問題がある場合は、確認を必要とする設定値が出力されます。表示されたメッセージに従い対処してください。
hvazurechkconf (8) コマンドのメッセージの詳細については“PRIMECLUSTER 活用ガイド<メッセージ集>”を参照してください。