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

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

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

27.9.1.1 定義ファイルの作成

ネットワーク引継ぎでは、全ノードで、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

注意

  • 半角空白区切りで記載してください。

  • CFName1CFName2は、運用系と待機系のそれぞれのCFノード名を記載してください。記載順序の制約はありません。

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

  • 定義ファイルの記載内容は、運用系と待機系で同一にしてください。

  • 定義ファイルの設定に誤りがある、または、記載した引継ぎIPアドレスがAzure側で既に使用中だった場合、userApplicationの起動に失敗しエラーメッセージがアプリケーションログに出力されます。メッセージの詳細については“PRIMECLUSTER 活用ガイド<メッセージ集>”を参照してください。

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

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

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

登録対象

用途

userApplicationのPreOnlineスクリプト

運用系で仮想マシンのネットワークインターフェイスにセカンダリIPアドレスを追加します。

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

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

注意

Azure環境では、メンテナンスのため通知なく、最大30秒間仮想マシンの一時停止が行われ、リソース故障が発生する場合があります。

通知なしメンテナンス時にリソース故障を発生させないようにする場合は、以下のパラメタについて、算出したタイムアウト時間に30秒加算した値を設定してください。

  • userApplicationのScriptTimeout

  • CmdlineリソースのCheckCommandTimeouts

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

27.9.1.2.1 セカンダリIPアドレス付替えによるネットワーク引継ぎで使用するPreOnlineスクリプトの設定

引継ぎネットワークリソースを登録するuserApplicationのPreOnlineScriptに、以下のスクリプトを登録してください。

/opt/SMAW/bin/hvazurenic

userApplicationのScriptTimeoutには以下の計算式より大きい値を設定してください。

ScriptTimeout > 引継ぎIPアドレス数 × ( 105 + リトライ間隔(2秒) ) (秒) 

処理遅延などを考慮し、検証を行ったうえ、十分大きい値を設定してください。

注意

userApplicationのScriptTimeoutを変更した場合、以下のスクリプトのタイムアウト値が同じ値に変更されます。

  • PreOnlineScript

  • PostOnlineScript

  • PreOfflineScript

  • PostOfflineScript

  • OfflineDoneScript

  • FaultScript

27.9.1.2.2 引継ぎネットワークリソースの設定
■物理IPアドレスの固定化

すべてのノードで以下の手順を実施し、引継ぎIPアドレスを設定するすべてのネットワークインタフェースの物理IPアドレスを固定化してください。

  1. 以下のコマンドを実行し、引継ぎIPアドレスを設定するネットワークインタフェース(DEVICE)の、接続プロファイル名(NAME)を確認します。

    # nmcli connection show

    例)コマンドを実行した場合の表示結果

    # nmcli connection show
    NAME	UUID			TYPE	DEVICE
    ens256	9f45e94f-1726-dd68-8a33-8022f72b550f	ethernet	ens256
    ens192	03da7500-2101-c722-2438-d0d006c28c73	ethernet	ens192
    cip0	c24ca981-b8d6-487f-89ba-e73c58da349d	ethernet	cip0
    :
  2. 以下のコマンドを実行し、1.で確認した接続プロファイル名のipv4.methodの値を確認してください。

    # nmcli connection show <接続プロファイル名>

    ipv4.methodの値がmanual以外の場合、以下の値を記録し、3.以降の手順を実施してください。

    • IP4.ADDRESS,IP4.GATEWAY,IP4.DNS

    ipv4.methodの値がmanualの場合は、3.以降の手順は実施不要です。

    例)接続プロファイル名がens192の場合

    # nmcli connection show ens192
    connection.id:                   ens192
    connection.uuid:                 03da7500-2101-c722-2438-d0d006c28c73
      :
    ipv4.method:                     auto
      :
    GENERAL.MASTER-PATH:             --
    IP4.ADDRESS[1]:                  172.31.0.10/24
    IP4.GATEWAY:                     172.31.0.1
    IP4.ROUTE[1]:                    dst = 172.31.0.0/24, nh = 0.0.0.0, mt = 100
    IP4.DNS[1]:                      172.31.0.2
  3. 以下のコマンドを実行し、2.で確認したIP4.ADDRESSの値を固定値として設定してください。

    # nmcli connection modify <接続プロファイル名> ipv4.addresses <IP4.ADDRESS>
    # nmcli connection modify <接続プロファイル名> ipv4.method manual

    例)接続プロファイル名がens192、IP4.ADDRESSの値が172.31.0.10/24の場合

    # nmcli connection modify ens192 ipv4.addresses 172.31.0.10/24
    # nmcli connection modify ens192 ipv4.method manual
  4. 以下のコマンドを実行し、2.で確認したIP4.GATEWAY、IP4.DNSの値を設定し、接続プロファイル名をアクティベートしてください。

    # nmcli connection modify <接続プロファイル名> ipv4.gateway <IP4.GATEWAY>
    # nmcli connection modify <接続プロファイル名> ipv4.dns <IP4.DNS>
    # nmcli connection up <接続プロファイル名>

    例)接続プロファイル名がens192、IP4.GATEWAYの値が172.31.0.1、IP4.DNSの値が172.31.0.2の場合

    # nmcli connection modify ens192 ipv4.gateway 172.31.0.1
    # nmcli connection modify ens192 ipv4.dns 172.31.0.2
    # nmcli connection up ens192
  5. 以下のコマンドを実行し、ipv4.addresses,ipv4.method,ipv4.gateway,ipv4.dnsの値が、3.4.で設定した通りに表示されることを確認してください。

    # nmcli connection show <接続プロファイル名>

    例)接続プロファイル名がens192の場合

    # nmcli connection show ens192
    connection.id:                   ens192
    connection.uuid:                 03da7500-2101-c722-2438-d0d006c28c73
      :
    ipv4.method:                     manual
    ipv4.dns:                        172.31.0.2
    ipv4.dns-search:                 --
      :
    ipv4.addresses:                  172.31.0.10/24
    ipv4.gateway:                    172.31.0.1
■引継ぎネットワークリソースの作成

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

注意

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

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

監視先ホスト(PingHosts)の定義について

  • Azure環境では、仮想ネットワークのゲートウェイはPingに応答しません。このため、監視先ホスト(PingHosts)を定義し、ICMPを利用したネットワークの疎通監視は使用できません。

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

全ノードで以下のコマンドを実行し、定義ファイル(/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 活用ガイド<メッセージ集>”を参照してください。