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

27.9.1 ネットワーク引継ぎのクラスタアプリケーションの構築

ここでは、ネットワーク引継ぎのための定義ファイルの作成、クラスタアプリケーションの構築について説明します。

27.9.1.1 定義ファイルの作成

ネットワーク引継ぎでは、全ノードで、Azureのネットワークデバイスを制御するための以下の定義ファイルを作成する必要があります。

/usr/opt/reliant/etc/hvazureconfig

参考

/usr/opt/reliant/etc/hvazureconfigファイルを作成する場合、/usr/opt/reliant/etc/hvazureconfig.templateファイルをひな形として使用できます。

# cp -p /usr/opt/reliant/etc/hvazureconfig.template /usr/opt/reliant/etc/hvazureconfig

注意

hvazureconfigファイルはrootユーザで作成し、パーミッションを600にしてください。

仮想ルータのルーティング経路を更新するために、Azureが管理するデバイスのID情報が必要になります。

定義ファイル(/usr/opt/reliant/etc/hvazureconfig)に記載するAzureのID情報は、Azureポータルより確認してください。

◆定義ファイルに記載する情報

KeyName Mode CFNameX ResourceID RouteTableID TakeoverIPAddress VirtualMachineIPAddress AppID TenantID CertPath

項目

内容

備考

KeyName

アルファベット(大文字小文字)と数字で構成された16文字以内のIDを記載します。大文字小文字は別のKeyNameとして取り扱います。

このキー名は、Cmdlineリソースの設定時に登録するスクリプト単位で定義します。ペアとなる運用系と待機系は同じKeyNameを指定し、その他は重複しないようにKeyNameを定義してください。後述のCmdlineリソースの設定でスクリプトを登録する際に引数として指定します。

Mode

ROUTE 、または、routeの文字列を指定します。

CFNameX

CFノード名を指定します。

ResourceID

クラスタホストが動作しているAzureの仮想マシンIDを指定します。

Azureポータルで確認

RouteTableID

ルートテーブルのIDを指定します。

Azureポータルで確認

TakeoverIPAddress

引継ぎIPアドレス(VNet内のIPv4アドレスを指定します。指定したIPアドレスは、自動で他の用途に割り当てられないようにしてください。)

VirtualMachineIPAddress

仮想マシンのIPアドレス(IPv4アドレスで指定します。)

Azureポータルで確認

AppID

サービスプリンシパルのアプリケーションIDを指定します。

27.3 事前設定”の手順3.でメモした値

TenantID

サービスプリンシパルのテナントIDを指定します。

27.3 事前設定”の手順3.でメモした値

CertPath

サービスプリンシパルの証明書のパスを指定します。

27.3 事前設定”の手順3.でメモした値

全ノードで、作成した /usr/opt/reliant/etc/hvazureconfig ファイルに、運用系と待機系の情報をそれぞれ記載します。

node1、node2の各項目が下記の場合

KeyName

CFNameX

ResourceID

RouteTableID

CmdR01

node1

/subscriptions/1e234d12-39b8-49db-881a-35aa03b402b9/resourceGroups/pcl/providers/Microsoft.Compute/virtualMachines/node1

/subscriptions/1e234d12-39b8-49db-881a-35aa03b402b9/resourceGroups/pcl/providers/Microsoft.Network/routeTables/routetable1

node2

/subscriptions/1e234d12-39b8-49db-881a-35aa03b402b9/resourceGroups/pcl/providers/Microsoft.Compute/virtualMachines/node2

以下は、1つの引継ぎIPアドレス(172.30.2.10)を制御する場合の記載例です。

CFNameX

TakeoverIPAddress

VirtualMachineIPAddress

AppID

TenantID

CertPath

node1

172.30.2.10

172.30.0.10

d5b7dac1-718f-448b-8e11-4a8cca6d9004

8ff7ddfd-fbcb-4700-ae52-6d071ac8d1b4

/root/examplecert.pem

node2

172.30.1.10

CmdR01 ROUTE node1 /subscriptions/1e234d12-39b8-49db-881a-35aa03b402b9/resourceGroups/pcl/providers/Microsoft.Compute/virtualMachines/node1 /subscriptions/1e234d12-39b8-49db-881a-35aa03b402b9/resourceGroups/pcl/providers/Microsoft.Network/routeTables/routetable1 172.30.2.10 172.30.0.10 d5b7dac1-718f-448b-8e11-4a8cca6d9004 8ff7ddfd-fbcb-4700-ae52-6d071ac8d1b4 /root/examplecert.pem
CmdR01 ROUTE node2 /subscriptions/1e234d12-39b8-49db-881a-35aa03b402b9/resourceGroups/pcl/providers/Microsoft.Compute/virtualMachines/node2 /subscriptions/1e234d12-39b8-49db-881a-35aa03b402b9/resourceGroups/pcl/providers/Microsoft.Network/routeTables/routetable1 172.30.2.10 172.30.1.10 d5b7dac1-718f-448b-8e11-4a8cca6d9004 8ff7ddfd-fbcb-4700-ae52-6d071ac8d1b4 /root/examplecert.pem

相互待機構成など、複数の制御をする場合は、KeyNameを分け、同様の内容で追記します。

それぞれのKeyNameのnode1、node2の各項目が下記の場合

KeyName

CFNameX

ResourceID

RouteTableID

CmdR01

node1

/subscriptions/1e234d12-39b8-49db-881a-35aa03b402b9/resourceGroups/pcl/providers/Microsoft.Compute/virtualMachines/node1

/subscriptions/1e234d12-39b8-49db-881a-35aa03b402b9/resourceGroups/pcl/providers/Microsoft.Network/routeTables/routetable1

node2

/subscriptions/1e234d12-39b8-49db-881a-35aa03b402b9/resourceGroups/pcl/providers/Microsoft.Compute/virtualMachines/node2

CmdR02

node1

/subscriptions/1e234d12-39b8-49db-881a-35aa03b402b9/resourceGroups/pcl/providers/Microsoft.Compute/virtualMachines/node1

node2

/subscriptions/1e234d12-39b8-49db-881a-35aa03b402b9/resourceGroups/pcl/providers/Microsoft.Compute/virtualMachines/node2

以下は、引継ぎIPアドレスとして、172.30.2.10と172.30.3.10の2つを制御する場合の記載例です。

記載例の他に、同じサブネットのIPアドレスを、異なるKeyNameで使用する構成をとることも可能です。

KeyName

CFNameX

Takeover
IPAddress

VirtualMachine
IPAddress

AppID

TenantID

CertPath

CmdR01

node1

172.30.2.10

172.30.0.10

d5b7dac1-718f-448b-8e11-4a8cca6d9004

8ff7ddfd-fbcb-4700-ae52-6d071ac8d1b4

/root/examplecert.pem

node2

172.30.1.10

CmdR02

node1

172.30.3.10

172.30.0.10

node2

172.30.1.10

CmdR01 ROUTE node1 /subscriptions/1e234d12-39b8-49db-881a-35aa03b402b9/resourceGroups/pcl/providers/Microsoft.Compute/virtualMachines/node1 /subscriptions/1e234d12-39b8-49db-881a-35aa03b402b9/resourceGroups/pcl/providers/Microsoft.Network/routeTables/routetable1 172.30.2.10 172.30.0.10 d5b7dac1-718f-448b-8e11-4a8cca6d9004 8ff7ddfd-fbcb-4700-ae52-6d071ac8d1b4 /root/examplecert.pem
CmdR01 ROUTE node2 /subscriptions/1e234d12-39b8-49db-881a-35aa03b402b9/resourceGroups/pcl/providers/Microsoft.Compute/virtualMachines/node2 /subscriptions/1e234d12-39b8-49db-881a-35aa03b402b9/resourceGroups/pcl/providers/Microsoft.Network/routeTables/routetable1 172.30.2.10 172.30.1.10 d5b7dac1-718f-448b-8e11-4a8cca6d9004 8ff7ddfd-fbcb-4700-ae52-6d071ac8d1b4 /root/examplecert.pem
CmdR02 ROUTE node1 /subscriptions/1e234d12-39b8-49db-881a-35aa03b402b9/resourceGroups/pcl/providers/Microsoft.Compute/virtualMachines/node1 /subscriptions/1e234d12-39b8-49db-881a-35aa03b402b9/resourceGroups/pcl/providers/Microsoft.Network/routeTables/routetable1 172.30.3.10 172.30.0.10 d5b7dac1-718f-448b-8e11-4a8cca6d9004 8ff7ddfd-fbcb-4700-ae52-6d071ac8d1b4 /root/examplecert.pem
CmdR02 ROUTE node2 /subscriptions/1e234d12-39b8-49db-881a-35aa03b402b9/resourceGroups/pcl/providers/Microsoft.Compute/virtualMachines/node2 /subscriptions/1e234d12-39b8-49db-881a-35aa03b402b9/resourceGroups/pcl/providers/Microsoft.Network/routeTables/routetable1 172.30.3.10 172.30.1.10 d5b7dac1-718f-448b-8e11-4a8cca6d9004 8ff7ddfd-fbcb-4700-ae52-6d071ac8d1b4 /root/examplecert.pem

注意

  • 空白区切りで、ノードごとに1行で記載してください。

  • ResourceIDは、運用系と待機系のそれぞれのID情報を記載してください。

  • TakeoverIPAddressおよびVirtualMachineIPAddressは、ホスト名ではなく、IPv4アドレスで指定してください。

  • 設定に誤りがある場合、ルーティングの経路情報を正しく更新できず、リソース故障になります。

27.9.1.2 ネットワーク引継ぎ設定のチェック

全ノードで以下のコマンドを実行し、定義ファイル(/usr/opt/reliant/etc/hvazureconfig)に記載された情報がAzureのデバイスを制御するうえで、正しく記載されているかを確認してください。

# /opt/SMAW/bin/hvazurechkconf

定義ファイルの記載内容に問題がない場合は、下記のように表示されます。

例)定義ファイルがhvazureconfigの場合

# /opt/SMAW/bin/hvazurechkconf
NOTICE: Check completed successfully. file=/usr/opt/reliant/etc/hvazureconfig

定義ファイルの記載内容に問題がある場合は、確認を必要とする設定値が出力されます。表示されたメッセージに従い対処してください。

hvazurechkconf (8) コマンドのメッセージの詳細については“PRIMECLUSTER 活用ガイド<メッセージ集>”を参照してください。

27.9.1.3 クラスタアプリケーションの構築

ネットワーク引継ぎをクラスタアプリケーションに登録する方法について説明します。

登録するリソースと用途は以下のとおりです。

登録するリソース

用途

Cmdlineリソース

運用系で仮想ルータのルーティング経路を更新します。

引継ぎネットワークリソース

運用系で引継ぎIPアドレスを活性化します。

27.9.1.3.1 ネットワーク引継ぎ用Cmdlineリソースの設定

Cmdlineリソースの設定方法についての詳細は、“PRIMECLUSTER 導入運用手引書”の“6.7.3 リソースの設定” のCmdlineリソースの設定方法を参照し、“表27.1 Cmdlineリソースの作成とOnline/Offline/Checkスクリプトの設定” の設定値を設定してください。

表27.1 Cmdlineリソースの作成とOnline/Offline/Checkスクリプトの設定

パラメタ名

設定値

StartCommands[0]

以下を設定します。

/opt/SMAW/bin/hvazureipalias -c KeyName
KeyName

定義ファイル(/usr/opt/reliant/etc/hvazureconfig)に事前に定義したKeyNameを指定します。

StopCommands[0]

以下を設定します。

/opt/SMAW/bin/hvazureipalias -u KeyName
KeyName

StartCommands に指定したKeyName と同じ引数を指定してください。

CheckCommands[0]

以下を設定します。

/opt/SMAW/bin/hvazureipalias -m KeyName
KeyName

StartCommands に指定したKeyName と同じ引数を指定してください。

CheckCommandTimeouts[0]

CheckCommands[0]に指定したコマンドがハングアップした場合にPRIMECLUSTERが異常と判断するまでの時間を指定します。

TIMEOUT属性(初期値300秒)と同じ値を設定してください。

Flags[0]

AUTORECOVER属性(初期値は有効)とTIMEOUT属性の設定は任意です。

その他の属性は、デフォルトの設定としてください。

設定例:

Flags[0]=XAT300 (AUTORECOVER属性 有効)

Flags[0]=XT300 (AUTORECOVER属性 無効)

27.9.1.3.2 引継ぎネットワークリソースの設定

引継ぎネットワークリソースの設定については、“PRIMECLUSTER 導入運用手引書”の“6.7.3.6 引継ぎネットワークリソースの設定”を参照してください。

本設定の事前設定の監視先ホストの定義およびクラスタの設定ファイルへの定義は、以下のようにしてください。

監視先ホストの定義

Azure環境では、仮想ネットワークのゲートウェイはPingに応答しません。

このため、ICMPを利用したネットワークの疎通監視は使用できません。

クラスタの設定ファイルへの定義

クラスタの設定ファイル /usr/opt/reliant/etc/hvipalias は、以下の規則で記述してください。

CFName takeover interface netmask
CFName     :引継ぎIPアドレスを使用するノードのCFノード名
takeover :引継ぎIPアドレスのホスト名
interface :引継ぎIPアドレスを活性化するネットワークインタフェース名
netmask :引継ぎIPアドレスのネットマスク(0xffffffff)

注意

引継ぎネットワークリソースの設定において以下が必要です。

  • クライアントがVNet外にある場合、引き継ぐIPアドレスは、VNetのCIDR範囲内のネットワークにする。

  • クラスタの設定ファイルに記述するネットマスクは、必ず 0xffffffff にする。

  • 引継ぎネットワークリソースのBASE、VIRTUAL属性は、VIRTUAL(初期値)を設定する。

  • 引継ぎ IP アドレスを活性化するネットワークインタフェースのプライマリIPアドレスは、静的な IPv4 アドレスにする。
    Azure ネットワークインタフェースの IP アドレスの変更手順については、Azureの公式ドキュメントを参照してください。

VNetのCIDR範囲が172.30.0.0/17の場合

  • /etc/hosts

    172.30.2.10 takeoverip # 引継ぎIP
  • /usr/opt/reliant/etc/hvipalias

    node1 takeoverip eth1 0xffffffff
    node2 takeoverip eth1 0xffffffff