1. はじめに

1.1. 対象読者と目的

本書は、クラスタシステムに関して、システムを構築する管理者、およびユーザサポートを行うシステムエンジニア、保守員を対象にしています。

ここでご紹介するソフトウェアや設定例は、あくまで参考情報としてご提供するものであり、各ソフトウェアの動作保証を行うものではありません。

1.2. 適用範囲

動作環境については 「スタートアップガイド」-「CLUSTERPRO の動作環境」を参照してください。

本書に記載した各製品・サービスのスクリーンショット等は執筆時点のものであり、それ以降に変更されている可能性があります。最新の情報はそれぞれのWebサイトやマニュアルを参照してください。

1.3. 本書の構成

1.4. CLUSTERPRO マニュアル体系

CLUSTERPRO のマニュアルは、以下の 5 つに分類されます。各ガイドのタイトルと役割を以下に示します。

CLUSTERPRO X スタートアップガイド』 (Getting Started Guide)

すべてのユーザを対象読者とし、製品概要、動作環境、アップデート情報、既知の問題などについて記載します。

CLUSTERPRO X インストール&設定ガイド』 (Install and Configuration Guide)

CLUSTERPRO を使用したクラスタシステムの導入を行うシステムエンジニアと、クラスタシステム導入後の保守・運用を行うシステム管理者を対象読者とし、CLUSTERPRO を使用したクラスタシステム導入から運用開始前までに必須の事項について説明します。実際にクラスタシステムを導入する際の順番に則して、CLUSTERPRO を使用したクラスタシステムの設計方法、CLUSTERPRO のインストールと設定手順、設定後の確認、運用開始前の評価方法について説明します。

CLUSTERPRO X リファレンスガイド』 (Reference Guide)

管理者、および CLUSTERPRO を使用したクラスタシステムの導入を行うシステムエンジニアを対象とし、CLUSTERPRO の運用手順、各モジュールの機能説明およびトラブルシューティング情報等を記載します。『CLUSTERPRO X インストール&設定ガイド』を補完する役割を持ちます。

CLUSTERPRO X メンテナンスガイド』 (Maintenance Guide)

管理者、および CLUSTERPRO を使用したクラスタシステム導入後の保守・運用を行うシステム管理者を対象読者とし、CLUSTERPRO のメンテナンス関連情報を記載します。

CLUSTERPRO X ハードウェア連携ガイド』 (Hardware Feature Guide)

管理者、および CLUSTERPRO を使用したクラスタシステムの導入を行うシステムエンジニアを対象読者とし、特定ハードウェアと連携する機能について記載します。『CLUSTERPRO X インストール&設定ガイド』を補完する役割を持ちます。

1.5. 本書の表記規則

本書では、注意すべき事項、重要な事項および関連情報を以下のように表記します。

注釈

この表記は、重要ではあるがデータ損失やシステムおよび機器の損傷には関連しない情報を表します。

重要

この表記は、データ損失やシステムおよび機器の損傷を回避するために必要な情報を表します。

参考

この表記は、参照先の情報の場所を表します。

また、本書では以下の表記法を使用します。

表記

使用方法

[ ] 角かっこ

コマンド名の前後
画面に表示される語 (ダイアログボックス、メニューなど) の前後
[スタート] をクリックします。
[プロパティ] ダイアログ ボックス

コマンドライン中の [ ] 角かっこ

かっこ内の値の指定が省略可能であることを示します。

clpstat -s[-h host_name]

#

Linux ユーザが、root でログインしていることを示すプロンプト

# clpstat

モノスペースフォント

パス名、コマンド ライン、システムからの出力 (メッセージ、プロンプトなど)、ディレクトリ、ファイル名、関数、パラメータ

/Linux

太字

ユーザが実際にコマンドラインから入力する値を示します。

以下を入力します。
# clpcl -s -a

斜体

ユーザが有効な値に置き換えて入力する項目

# ping <IPアドレス>

CLUSTERPRO X 本書の図では、CLUSTERPROを表すために このアイコンを使用します。

1.6. 最新情報の入手先

最新の製品情報については、以下のWebサイトを参照ください。

https://jpn.nec.com/clusterpro/

2. 概要

2.1. 機能概要

本書では、Microsoft Azureのクラウド サービス上に、Azure Resource Manager を使用したCLUSTERPRO X(以下、CLUSTERPRO と記す)によるHA クラスタを構築する方法を説明します。

2つのFault Domainとそれぞれの中に配置されたVM

図 2.1 クラウドサービス上のHAクラスタ(Azure DNSを使用した場合)

Microsoft Azure において、Microsoft Azure リージョンや可用性セットを使用し仮想マシン( 図 2.1 クラウドサービス上のHAクラスタ(Azure DNSを使用した場合) のVM)をHA クラスタ化することで、業務の可用性を高めることができます。

  • Microsoft Azureリージョン

    Microsoft Azure リージョンと呼ばれる物理的および論理的な単位に分割されます。
    (たとえば東日本、西日本など) 1つのリージョン内にすべてのノードを構築することも可能ですが、ネットワーク障害や自然災害などによりすべてのノードがダウンし業務を継続できなくなるおそれがあります。そこで、ノードを複数のリージョンに分散させて配置することにより、可用性を高めることができます。
  • 可用性セット

    Microsoft Azureでは、可用性セットと呼ばれる論理的なグループに各ノードを配置できます。可用性セット内に各ノードが配置されることで、Microsoft Azure プラットフォームの計画済みメンテナンスや物理ハードウェアの障害などの計画外メンテナンスによる影響を最小限に抑えることが可能です。本書では、可用性セットを用いた構成の説明をします。
    可用性セットの詳細は、以下のWebサイトを参照してください。

2.2. 基本構成

本書では、リソースマネージャデプロイモデルにおけるAzure DNSを使用したHAクラスタ、リソースマネージャデプロイモデルにおけるロードバランサーを使用したHAクラスタの2種類のHAクラスタを想定しています(いずれも片方向スタンバイクラスタの構成)。それぞれのHAクラスタについて、選択するCLUSTERPROのリソースは以下のとおりです。

用途

選択するCLUSTERPROのリソース

DNS名でクライアントからアクセスしたい場合
(Azure DNSの追加が必要)

Azure DNSリソース

仮想IPアドレス(グローバルIPアドレス)でクライアントからアクセスしたい場合
(パブリックロードバランサーの追加が必要)

Azure プローブポートリソース

仮想IPアドレス(プライベートIPアドレス)でクライアントからアクセスしたい場合
(内部ロードバランサーの追加が必要)

Azure プローブポートリソース

仮想IPアドレス(プライベートIPアドレス)でクライアントからアクセス、かつクラスタ化したアプリケーションがAlways On構成の場合
(内部ロードバランサーの追加およびDirect Server Return(以下、DSRと略)の設定が必要)

Azure プローブポートリソース

DSR構成を作成する場合は以下の CLUSTERPRO オフィシャルブログを参照してください。

Azure DNSを使用したHAクラスタ

本構成では、同一のDNS名でクラスタへアクセスできるよう、2台の仮想マシンが同じリソース グループに属しています。DNS名でアクセス可能とするためにCLUSTERPROのAzure DNSリソースは、Azure DNS を使用しています。Azure DNS の詳細は以下のWebサイトを参照してください。

Azure DNS とは: https://docs.microsoft.com/ja-jp/azure/dns/dns-overview

インターネット上のクライアントと、2つのサーバVM、およびロードバランサ

図 2.2 Azure DNSを使用したHAクラスタ

また、Microsoft Azureプラットフォームの計画済みメンテナンスや物理ハードウェアの障害などの計画外メンテナンスによる影響を最小限に抑えるために、2台の仮想マシンで同じ可用性セットを使用しています。

図 2.2 Azure DNSを使用したHAクラスタ のクラスタには、Azure DNSゾーンにおけるDNS名を指定してアクセスします。CLUSTERPROは、DNS名から設定したIPアドレスが得られるようにAzure DNS ゾーンのレコードセットやDNS Aレコードの制御を行います。フェイルオーバまたはグループの移動が発生しても、クライアントは仮想マシンの切り替えを意識する必要がありません。

Azure DNSを使用したHAクラスタ構成において必要なリソース、モニタリソースは以下のとおりです。

リソース/モニタリソース種別

説明

設定

Azure DNSリソース

DNS名から設定したIPアドレスを得られるようにAzure DNS のレコードセット(A レコード)の制御を行います。

必須

Azure DNSモニタリソース

Azure DNS のレコードセットに対する名前解決結果が正常であることを監視します。

必須

IPモニタリソース

Microsoft Azure の Service Management API へ疎通可能かどうかを監視し、外部ネットワークとの通信の健全性を監視します。

パブリックロードバランサーを使用する場合、かつ仮想マシンで構成されたクラスタ間の通信を監視し、内部ネットワークとの通信の健全性監視が必要な場合に必須

カスタムモニタリソース

仮想マシンで構成されたクラスタ間の通信を監視し、内部ネットワークとの通信の健全性を監視します。

パブリックロードバランサーを使用する場合、かつMicrosoft Azure の Service Management API へ疎通可能かどうかを監視し、外部ネットワークとの通信の健全性監視が必要な場合に必須

マルチターゲットモニタリソース

上記のIPモニタリソースとカスタムモニタリソースの両方の状態を監視します。両方のモニタリソースの状態が異常となった際に、ネットワークパーティション解決(以下、NP解決と記す)用の処理を記載したスクリプトを実行します。

パブリックロードバランサーを使用する場合、かつ内部ネットワークと外部ネットワークとの通信の健全性監視が必要な場合に必須

その他のリソース、モニタリソース

ミラーディスクなど、HAクラスタで運用するアプリケーションの構成に従います。

任意

ロードバランサーを使用したHAクラスタ

インターネット上のクライアントと、2つのサーバVM、およびロードバランサ

図 2.3 パブリックロードバランサーを使用したHAクラスタ

クライアントアプリケーションは、Microsoft Azure環境の可用性セット上の仮想マシンに対して、フロントエンドのIPアドレスを使用してクラスタノードに接続することができます。VIPアドレスを使用することにより、フェイルオーバまたはグループの移動が発生しても、クライアントは仮想マシンの切り替えを意識する必要がありません。

図 2.3 パブリックロードバランサーを使用したHAクラスタ のMicrosoft Azure環境上に構築したクラスタには、Microsoft Azureのロードバランサー(Load Balancer)のグローバルなIPアドレスを指定してアクセスします。
クラスタの現用系と待機系は、Microsoft Azureのロードバランサーにおけるプローブを利用して切り替えます。利用にはCLUSTERPRO Azure プローブポートリソースが提供するプローブ ポートを利用します。
Azure プローブポートリソースの活性時にMicrosoft Azureのロードバランサーからの死活監視(プローブ ポートへのアクセス)を待ち受けるためのプローブポート制御プロセスを起動します。
Azure プローブポートリソースの非活性時には死活監視(プローブ ポートへのアクセス)を待ち受けるためのプローブポート制御プロセスを停止します。

Azure プローブポートリソースではMicrosoft Azureの内部ロードバランサー(Internal Load Balancing。以下、ILBと記す)にも対応しています。内部ロードバランサーの場合、VIPはMicrosoft AzureのプライベートIPアドレスとなります。

2つのクライアントVMと、2つのサーバVM、およびロードバランサ

図 2.4 内部ロードバランサーを使用したHAクラスタ

ロードバランサーを使用したHAクラスタの構成例としては以下の2種類があります。用途に応じて使用するロードバランサーを決定してください。

用途

使用するロードバランサー

構築手順

業務を Microsoft Azure のネットワークの外部に公開する場合

パブリックロードバランサー

本書「5. 構築手順(パブリックロードバランサーを使用したHAクラスタの場合)」参照。

業務を Microsoft Azure のネットワークの内部に公開する場合

内部ロードバランサー(ILB)

本書「6. 構築手順(内部ロードバランサーを使用したHAクラスタの場合)」参照。

ロードバランサーを使用したHAクラスタ構成において必要なリソース、モニタリソースは以下のとおりです。

リソース/モニタリソース種別

説明

設定

Azure プローブポートリソース

業務が稼働するノードの特定のポートでロードバランサーからの死活監視を待ち受ける仕組みを提供します。

必須

Azure プローブポートモニタリソース

Azure プローブポートリソースが起動しているノードに対して、Azure プローブポートリソース活性時に起動するプローブポート制御プロセスの死活監視を行います。

必須

Azure ロードバランスモニタリソース

Azure プローブポートリソースが起動していないノードに対して、プローブポートと同じポート番号が開放されていないかを監視します。

必須

IPモニタリソース

Microsoft Azure の Service Management API へ疎通可能かどうかを監視し、外部ネットワークとの通信の健全性を監視します。

パブリックロードバランサーを使用する場合、かつ仮想マシンで構成されたクラスタ間の通信を監視し、内部ネットワークとの通信の健全性監視が必要な場合に必須

カスタムモニタリソース

仮想マシンで構成されたクラスタ間の通信を監視し、内部ネットワークとの通信の健全性を監視します。

パブリックロードバランサーを使用する場合、かつMicrosoft Azure の Service Management API へ疎通可能かどうかを監視し、外部ネットワークとの通信の健全性監視が必要な場合に必須

マルチターゲットモニタリソース

上記のIPモニタリソースとカスタムモニタリソースの両方の状態を監視します。両方のモニタリソースの状態が異常となった際に、ネットワークパーティション解決(以下、NP解決と記す)用の処理を記載したスクリプトを実行します。

パブリックロードバランサーを使用する場合、かつ内部ネットワークと外部ネットワークとの通信の健全性監視が必要な場合に必須

PING ネットワークパーティション解決リソース

内部ロードバランサー(ILB)を使用する場合、Pingなどの応答を返却可能な常時稼働している装置(以下、ping用装置と記す)への通信可否を確認することで、サブネット間通信の健全性を監視します。

内部ロードバランサー(ILB)を使用する場合、かつサブネット間通信の健全性監視が必要な場合に必須

その他のリソース、モニタリソース

ミラーディスクなど、HAクラスタで運用するアプリケーションの構成に従います。

任意

2.3. ネットワークパーティション解決

HAクラスタを構成している仮想マシンは、お互いにハートビートによって死活監視を行っています。各仮想マシンが異なるサブネットに分散している構成においては、ハートビートが途絶えた時に、サービスの二重起動など望ましくない状態が発生します。サービスの二重起動を回避するために、他の仮想マシンがダウンしたか、自身がネットワークから孤立した状態(ネットワークパーティション状態。以下、NP状態と記す)かのどちらであるかを区別する必要があります。

ネットワークパーティション解決(以下、NP解決と記す)は、Pingなどの応答を返却可能な常時稼働している装置(応答確認先)に対してPingやLISTENポート確認を行い、応答がない場合はNP状態が発生したと判断し、設定された処理(警告、回復処理、サーバダウン処理など)を行います。

応答確認先は、Microsoft Azure においては通常以下を使用します。
(※)内部ロードバランサー(ILB)のプライベートIPアドレスはPing に応答しないため、利用できません。

業務の公開範囲

応答確認先

手段

NP解決のために使用するCLUSTERPROのリソース/モニタリソース/コマンド

Microsoft Azure 仮想ネットワークの外部

Microsoft Azure サービス管理API
(management.core.windows.net)

LISTENポート確認

・カスタムモニタリソース
・clpazure_port_checker コマンド

各クラスタサーバ

Ping

・IPモニタリソース

Microsoft Azure 仮想ネットワークの内部

Microsoft Azure のネットワークの内部に存在する、クラスタサーバ以外のサーバ(※)

Ping

・PING ネットワークパーティション解決リソース

Microsoft Azure 仮想ネットワークの内部に存在するWebサーバ

HTTP

・HTTP ネットワークパーティション解決リソース

NP解決の詳細については、以下のマニュアルを参照してください。

NP解決先の設定について

クラスタシステムにアクセスするクライアントの配置やオンプレミス環境との接続条件(専用線接続など)によって、NP解決先やNP解決の方法は、その都度検討する必要があります。推奨のNP解決先やNP解決の方法はありません。

ネットワークパーティション状態の判定をするには

指定したTCPポートのLISTEN状態を確認可能な clpazure_port_checker コマンドを提供しています。カスタムモニタリソースやマルチターゲットモニタリソースの[この製品で作成したスクリプト] にて使用してください。

clpazure_port_checker コマンドの詳細については、以下を参照してください。

TCPポートのLISTEN状態を確認する (clpazure_port_checker コマンド)

clpazure_port_checker

指定したサーバのTCPポートについて、 LISTEN の有無を確認します。

コマンドライン

clpazure_port_checker -h hostname -p port

説明
本コマンドは、引数で指定されたサーバの TCP ポートについて、LISTEN の有無を確認します。
5秒(固定)経過しても応答がない場合は異常と判定します(タイムアウト)。
異常の場合は、標準エラー出力にエラーメッセージを出力します。
本コマンドをカスタムモニタリソースより実行することで、ネットワークパーティション状態の判定を行うことが可能です。
本コマンドを用いたネットワークパーティション解決の設定例については、「4.4. CLUSTERPROの設定」、「6.4. CLUSTERPROの設定」を参照してください。
オプション
-h hostname

判定するサーバをhostnameで指定します(FQDN名もしくはIPアドレス)。省略できません。

-p port

判定するポート番号を port で指定します(ポート番号もしくはサービス名)。省略できません。

戻り値
0

正常

1

異常(通信エラー)

2

異常(タイムアウト)

3

異常(引数不正、内部エラー)

2.4. オンプレミスとMicrosoft Azureの違い

オンプレミスとMicrosoft AzureにおけるCLUSTERPROの機能差分は以下のとおりです。 表内の✓は機能が使用できることを意味し、n/a は機能が使用できないことを意味します。

機能

オンプレミス

Microsoft Azure

共有ディスク型クラスタの構築可否

ミラーディスク型クラスタの構築可否

ハイブリッドディスク型クラスタの構築可否

フローティングIPリソースの使用可否

n/a

仮想IPリソースの使用可否

n/a

Azure プローブポートリソースの使用可否

n/a

Azure DNSリソースの使用可否

n/a

オンプレミスとMicrosoft Azureにおける、ミラーディスクを使用した2ノードクラスタの構築手順の流れは以下を参照してください。

オンプレミス環境とMicrosoft Azure環境でクラスタを構築する作業手順の違いは、事前準備として Microsoft Azure の設定が必要であることを除き、違いはありません。

4. 構築手順(Azure DNSを使用したHAクラスタの場合)

4.1. 構築例について

本書では、Microsoft Azure において、CLUSTERPRO を使用した2ノードでの片方向スタンバイクラスタの構築手順を紹介します。本手順は、node1 を現用系サーバとしたミラーディスク型の構成を対象としています。

以下の表は既定値が存在しないパラメータ、および既定値から変更したパラメータについて記載しています。

  • Microsoft Azureの設定(node1、node2で共通の設定)

    設定項目

    設定値

    リソース グループの設定

    • 名前

    TestGroup1

    • リージョン

    (アジア太平洋)東日本

    仮想ネットワークの設定

    • 名前

    Vnet1

    • アドレス空間

    10.5.0.0/24

    • サブネット名

    Vnet1-1

    • サブネットアドレス範囲

    10.5.0.0/24

    • リソース グループ名

    TestGroup1

    • 場所

    (アジア太平洋)東日本

    DNSゾーンの設定

    • 名前

    cluster1.zone

    • リソースグループ

    TestGroup1

    • レコードセット

    test-record1

  • Microsoft Azureの設定(node1、node2でそれぞれ設定)

    設定項目

    設定値

    node1

    node2

    仮想マシンの設定

    ディスクの種類

    Standard HDD

    Standard HDD

    ユーザー名

    testlogin

    testlogin

    パスワード

    PassWord_123

    PassWord_123

    リソース グループ名

    TestGroup1

    TestGroup1

    地域

    (アジア太平洋)東日本

    (アジア太平洋)東日本

    ネットワーク セキュリティ グループの設定

    名前

    node1-nsg

    node2-nsg

    可用性セットの設定

    名前

    AvailabilitySet1

    AvailabilitySet1

    更新ドメイン

    5

    5

    障害ドメイン

    2

    2

    診断ストレージアカウントの設定

    名前

    自動生成

    自動生成

    レプリケーション

    ローカル冗長ストレージ(LRS)

    ローカル冗長ストレージ(LRS)

    IP構成の設定

    IPアドレス

    10.5.0.110

    10.5.0.111

    ディスクの設定

    名前

    node1_DataDisk_0

    node2_DataDisk_0

    ソースの種類

    なし(空のディスク)

    なし(空のディスク)

    アカウントの種類

    Standard HDD

    Standard HDD

    サイズ

    20

    20

  • CLUSTERPROの設定(クラスタプロパティ)

    設定項目

    設定値

    node1

    node2

    • クラスタ名

    Cluster1

    • サーバ名

    node1

    node2

    • タイムアウトタブ - ハートビートタイムアウト

    120

  • CLUSTERPROの設定(フェイルオーバグループ)

    リソース名

    設定項目

    設定値

    ミラーディスクリソース

    リソース名

    md

    詳細タブ - マウントポイント

    /mnt/md

    詳細タブ - データパーティションデバイス名

    /dev/sdc2

    詳細タブ - クラスタパーティションデバイス名

    /dev/sdc1

    詳細タブ - ファイルシステム

    ext4

    ミラータブ - 初期ミラー構築を行う

    オン

    ミラータブ - 初期 mkfs を行う

    オン

    Azure DNSリソース

    リソース名

    azuredns1

    レコードセット名

    test-record1

    ゾーン名

    cluster1.zone

    IPアドレス

    (node1の場合)10.5.0.110
    (node2の場合)10.5.0.111

    リソースグループ名

    TestGroup1

    ユーザURI

    http://azure-test

    テナントID

    xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

    サービスプリンシパルのファイルパス

    /home/testlogin/tmpbyJ1cK.pem

    Azure CLI ファイルパス

    /usr/bin/az

  • CLUSTERPROの設定(モニタリソース)

    モニタリソース名

    設定項目

    設定値

    ミラーディスクモニタリソース

    モニタリソース名

    mdw1

    Azure DNSモニタリソース

    モニタリソース名

    azurednsw1

    カスタムモニタリソース

    モニタリソース名

    genw1

    この製品で作成したスクリプト

    オン

    監視タイプ

    同期

    正常な戻り値

    0

    回復動作

    最終動作のみ実行

    回復対象

    LocalServer

    IPモニタリソース

    モニタリソース名

    ipw1

    監視を行うサーバ

    node1

    IPアドレス

    10.5.0.111

    回復動作

    最終動作のみ実行

    回復対象

    LocalServer

    IPモニタリソース

    モニタリソース名

    ipw2

    監視を行うサーバ

    node2

    IPアドレス

    10.5.0.110

    回復動作

    最終動作のみ実行

    回復対象

    LocalServer

    マルチターゲットモニタリソース

    モニタリソース名

    mtw1

    モニタリソース一覧

    genw1
    ipw1
    ipw2

    回復動作

    最終動作のみ実行

    回復対象

    LocalServer

4.2. Microsoft Azureの設定

Microsoft Azure ポータル(https://portal.azure.com/)にログインし、 4.1. 構築例について を参考に以下の設定を行います。

  1. リソースグループの作成

    リソースを管理するリソースグループを作成します。

  2. 仮想ネットワークの作成

    仮想ネットワークを作成します。

  3. 仮想マシンの作成

    クラスタを構成する仮想マシンの数だけ作成します。

  4. プライベートIPアドレスの設定

    IP アドレスは初期設定では動的割り当てとなっているため、静的割り当てに変更します。
    ※ネットワークインターフェイスのIP構成から割り当てを変更します。
    ※変更後は新しいプライベートIP アドレスを利用できるようにするために、仮想マシンが自動的に再起動されます。
  5. DNSゾーンの作成

    DNSゾーンを作成します。

4.3. インスタンスの設定

  1. ミラーディスクの準備

    ミラーディスクリソース用のパーティションを設定します。
    ミラーディスク用のパーティションについては、『インストール&設定ガイド』の「システム構成を決定する」-「ミラーディスクリソース用のパーティションを設定する (Replicator 使用時は必須)」を参照してください。
  2. OS 起動時間の調整、ネットワーク設定の確認、ルートファイルシステムの確認、ファイアウォールの設定を確認、サーバの時刻を同期、SELinuxの設定を確認

  3. Azure CLIのインストール

    Azure CLI を npm パッケージからインストールする手順を説明します。
    詳細な手順や他の手段については、以下のWeb サイトを参照してください。

    必ず以下の方法でインストールしてください。それ以外の方法によるインストールではAzure DNSリソースが正常に動作しません。

    $ sudo yum check-update; sudo yum install -y gcc libffi-devel python-devel openssl-devel
    $ curl -L https://aka.ms/InstallAzureCli | bash -
    $ exec -l $SHELL
    
  4. サービス プリンシパルの作成

    Azure CLI を使用して、サービス プリンシパルを作成します。
    Azure DNSリソースは Microsoft Azure にログインし、DNSゾーンへの登録や監視を実行します。Microsoft Azure へのログイン時、サービス プリンシパルによる Azure ログインを利用します。
    本書ではセキュリティ観点から証明書ベースの認証を記載しています。証明書には有効期限があることに注意してください。詳細は az ad sp create-for-rbac の --years オプションを参照してください。

    サービスプリンシパルや詳細な手順については、以下のWeb サイトを参照してください。

    Azure CLI を使用してサインインする:
    Azure CLI で Azure サービス プリンシパルを作成する:
    1. 組織のアカウントでログインします。

      $ az login -u <アカウント名> -p <パスワード>
    2. サービス プリンシパルを作成し、登録します。Cluster WebUI の Azure DNS リソース設定時に入力必要なため、表示される name および tenant はメモしてください。以下の例では、/home/testlogin/tmpbyJ1cK.pem にサービス プリンシパルが作成されます。証明書の有効期限を10年に指定しています。

      $ az ad sp create-for-rbac --name azure-test --create-cert --years 10
      {
        "appId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "displayName": "azure-test",
        "fileWithCertAndPrivateKey": "/home/testlogin/tmpbyJ1cK.pem",
        "name": "http://azure-test",
        "password": null,
        "tenant": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
      }
      
    3. ログアウトします。

      $ az logout --username <アカウント名>
    4. 作成されたサービス プリンシパルを利用して、Microsoft Azure へログインできるか確認します。

      $ az login --service-principal -u <上記のnameの値> --tenant <上記のtenantの値> -p <上記のfileWithCertAndPrivateKeyの値>

      サインインに成功すると、次の出力が表示されます。

      [
        {
          "cloudName": "AzureCloud",
          "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
          "isDefault": true,
          "name": "xxxxxxxxxx",
          "state": "Enabled",
          "tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
          "user": {
            "name": "http://azure-test",
            "type": "servicePrincipal"
          }
        }
      ]
      
    5. ログアウトします。

      $ az logout --username <上記のnameの値>

      作成されたサービスプリンシパルのロールを既定のContributor(共同作成者)から別のロールに変更する場合、Actionsプロパティとして以下のすべての操作へのアクセス権を持つロールを選択してください。この条件を満たさないロールに変更した場合、後程設定する Azure DNS モニタリソースによる監視がエラーにより失敗します。

      Microsoft.Network/dnsZones/A/write
      Microsoft.Network/dnsZones/A/delete
      Microsoft.Network/dnsZones/NS/read
  5. CLUSTERPROのインストール

    インストール手順は 『インストール&設定ガイド』を参照してください。
    インストール完了後、OSの再起動を行ってください。
  6. CLUSTERPROのライセンスを登録

    ライセンス登録手順は 『インストール&設定ガイド』を参照してください。

4.4. CLUSTERPROの設定

Cluster WebUI のセットアップ、および接続方法は『インストール&設定ガイド』 - 「クラスタ構成情報を作成する」を参照してください。

以下のリソース/モニタリソースを追加する手順を記述します。

  • ミラーディスクリソース

  • Azure DNSリソース

  • Azure DNSモニタリソース

  • カスタムモニタリソース(NP解決用)

  • IPモニタリソース(NP解決用)

  • マルチターゲットモニタリソース(NP解決用)

上記以外の設定は、『インストール&設定ガイド』、『リファレンスガイド』を参照してください。

  1. クラスタの作成

    最初に、クラスタ生成ウィザードを開始し、クラスタを構築します。

    • クラスタの構築

      1. Cluster WebUI にアクセスし、[クラスタ生成ウィザード] をクリックします。

      2. [クラスタ生成ウィザード]の[クラスタ]が表示されます。
        [クラスタ名] に任意のクラスタ名を入力します。
        [言語] を適切に選択します。[次へ] をクリックします。

      3. [基本設定]が表示されます。
        Cluster WebUI に接続したインスタンスがマスタサーバとして登録済みの状態で表示されます。
        [追加] をクリックし、残りのインスタンスを追加します(インスタンスのPrivate IP アドレスを指定します)。[次へ] をクリックします。

      4. [インタコネクト] 画面が表示されます。
        インタコネクトのために使用するIPアドレス(各インスタンスのPrivate IP アドレス)を指定します。また、後で作成するミラーディスクリソースの通信経路として [MDC] に mdc1 を選択します。[次へ] をクリックします。

      5. [NP解決] 画面が表示されます。
        ただし、NP解決は本画面では設定せず、 別途IP モニタリソース、カスタムモニタリソース、マルチターゲットモニタリソースを追加することによって同等のことを実現します。NP解決の設定は、後述の「3 モニタリソースの追加」で行います。
        クラスタシステムにアクセスするクライアントの配置やオンプレミス環境との接続条件(専用線接続など)によって、NP解決先やNP解決の方法は、その都度検討する必要があります。推奨のNP解決先やNP解決の方法はありません。NP 解決にネットワークパーティション解決リソースを利用することも可能です。
        [次へ] をクリックします。

  2. グループリソースの追加

    • グループの定義

      フェイルオーバグループを作成します。

      1. [グループ一覧] 画面が表示されます。
        [追加]をクリックします

      2. [グループの定義] 画面が表示されます。
        [名前] にフェイルオーバグループ名(failover1)を設定します。[次へ] をクリックします。

      3. [起動可能サーバ画面が表示されます。
        何も指定せず [次へ] をクリックします。
      4. [グループ属性] 画面が表示されます。
        何も指定せず [次へ] をクリックします。
      5. [グループリソース一覧]が表示されます。
        以降の手順で、この画面でグループリソースを追加していきます。

    • ミラーディスクリソース

    ミラーディスクリソースを作成します。
    詳細は 『リファレンスガイド』 -「ミラーディスクリソースを理解する」を参照してください。
    1. [グループリソース一覧] で [追加] をクリックします。

    2. [グループ のリソース定義 | failover1] 画面が開きます。
      [タイプ] ボックスでグループリソースのタイプ(ミラーディスクリソース) を選択し、[名前] ボックスにグループ名 (md) を入力します。[次へ] をクリックします。

    3. [依存関係] 画面が表示されます。
      何も指定せず [次へ] をクリックします。
    4. [復旧動作] 画面が表示されます。
      [次へ] をクリックします。
    5. [詳細] 画面が表示されます。
      [データパーティションデバイス名] [クラスタパーティションデバイス名] に「6. 仮想マシンの設定」で作成したパーティションのデバイス名を入力します。[マウントポイント]、[ファイルシステム]を入力します。 [完了] をクリックして設定を終了します。

    • Azure DNSリソース

      Azure DNS に対してレコードを登録、解除する仕組みを提供します。
      Azure DNSリソースの詳細は 『リファレンスガイド』 - 「Azure DNS リソースを理解する」を参照してください。
      1. [グループリソース一覧] で [追加] をクリックします。

      2. [グループ のリソース定義 | failover1] 画面が開きます。[タイプ] ボックスでグループリソースのタイプ (Azure DNSリソース) を選択して、[名前] ボックスにグループ名 (azuredns1) を入力します。[次へ] をクリックします。

      3. [依存関係] 画面が表示されます。
        何も指定せず [次へ] をクリックします。
      4. [復旧動作] 画面が表示されます。
        [次へ] をクリックします。
      5. [レコードセット名]、[ゾーン名]、[IPアドレス]、[リソースグループ名]、[ユーザURI]、[テナントID]、[サービスプリンシパルのファイルパス]、[サービスプリンシパルのthumbprint]、[Azure CLI ファイルパス] に値を入力します。[IPアドレス]は各サーバのIPアドレスを使用する場合、各サーバのタブでIPアドレスを入力します。サーバ別の設定を行う場合は[共通]タブでは、任意のサーバのIPアドレスを記載し、他のサーバは個別設定を行うようにしてください。[サービスプリンシパルのthumbprint]は、Azure CLI 1.0 (Azure クラシック CLI) 使用時のみ入力が必要です。[ユーザURI]には「9. サービス プリンシパルの作成」でメモした name を指定してください。[テナントID] には「9. サービス プリンシパルの作成」でメモした tenant を指定してください。

      6. [完了] をクリックします。

  3. モニタリソースの追加

    • Azure DNS モニタリソース

      Azure DNS に登録したレコードセットの確認および名前解決確認の監視機構を提供します。
      Azure DNS モニタリソースの詳細は 『リファレンスガイド』 -「Azure DNS モニタリソースを理解する」を参照してください。
      Azure DNS リソースを1つ追加すると、Azure DNS モニタリソースが1つ自動的に作成されます。
    • カスタムモニタリソース

    Microsoft Azure の Service Management API へ疎通可能かどうかを監視し、外部ネットワークとの通信の健全性を監視するためのスクリプトを設定します。
    カスタムモニタリソースの詳細は『リファレンスガイド』 -「カスタムモニタリソースを理解する」を参照してください。
    1. [モニタリソース一覧] で [追加] をクリックします。

    2. [タイプ] ボックスでモニタリソースのタイプ (カスタムモニタ) を選択し、[名前] ボックスにモニタリソース名 (genw1) を入力します。[次へ] をクリックします。

    3. [監視(共通)] 画面が表示されます。
      [監視タイミング] を [常時] であることを確認し、[次へ] をクリックします。

    4. [監視(固有)] 画面が表示されます。
      [この製品で作成したスクリプト] をチェックします。

      作成するスクリプトのサンプルは以下のとおりです。

      #! /bin/sh
      <CLUSTERPROインストールパス>/bin/clpazure_port_checker -h management.core.windows.net -p 443
      exit $?

      [監視タイプ] を [同期] にチェックします。[次へ] をクリックします。

    5. [回復動作] 画面が表示されます。
      [回復動作] に [最終動作のみ実行]、[回復対象] に [LocalServer]、[最終動作] に [何もしない]を設定します。

    6. [完了] をクリックして設定を終了します。

    • IPモニタリソース

      仮想マシンで構成されたクラスタ間の通信を監視し、内部ネットワークとの通信の健全性を監視する IP モニタリソースを作成します。
      IPモニタリソースの詳細は『リファレンスガイド』 -「IP モニタリソースを理解する」を参照してください。
      1. [モニタリソース一覧] で [追加] をクリックします。

      2. [タイプ] ボックスでモニタリソースのタイプ (IPモニタ) を選択し、[名前] ボックスにモニタリソース名 (ipw1) を入力します。[次へ] をクリックします。

      3. [監視(共通)] 画面が表示されます。
        [監視タイミング] が [常時] であることを確認します。

        [監視を行うサーバを選択する] で起動可能なサーバをひとつ選択し追加します。

        [次へ] をクリックします。

      4. [監視(固有)] 画面が表示されます。

        [共通] タブの [IPアドレス一覧] で [追加] を選択し、3 で選択したサーバとは別のサーバのIPアドレスを設定します。[次へ] をクリックします。

      5. [回復動作] 画面が表示されます。
        [回復動作] に [最終動作のみ実行]、[回復対象] に [LocalServer]、[最終動作] に [何もしない] を設定します。

      6. [完了] をクリックして設定を終了します。

      7. 次にもう一方のサーバでも、同様のモニタリソースを作成します。[モニタリソース一覧] で [追加] をクリックします。

      8. [タイプ] ボックスでモニタリソースのタイプ (IPモニタ) を選択し、[名前] ボックスにモニタリソース名 (ipw2) を入力します。[次へ] をクリックします。

      9. [監視(共通)] 画面が表示されます。
        [監視タイミング] が [常時] であることを確認します。
        [監視を行うサーバを選択する] で起動可能なサーバをひとつ選択し追加します。
        [次へ] をクリックします。
      10. [監視(固有)] 画面が表示されます。
        [共通] タブの [IPアドレス一覧] で [追加] を選択し、9 で選択したサーバとは別のサーバのIPアドレスを設定します。[次へ] をクリックします。
      11. [回復動作] 画面が表示されます。
        [回復動作] に [最終動作のみ実行]、[回復対象] に [LocalServer]、[最終動作] に [何もしない] を設定します。
      12. [完了] をクリックして設定を終了します。

    • マルチターゲットモニタリソース

      Microsoft AzureのService Management APIへの通信を監視するカスタムモニタリソースと、仮想マシンで構成されたクラスタ間のIP モニタリソースの両方の状態を確認するマルチターゲットモニタリソースを作成します。
      両方のモニタリソースの状態が異常となった際に、NP解決用の処理を記載したスクリプトを実行します。
      マルチターゲットモニタリソースの詳細は『リファレンスガイド』 -「マルチターゲットモニタリソースを理解する」を参照してください。
      1. [モニタリソース一覧] で [追加] をクリックします。

      2. [タイプ] ボックスでモニタリソースのタイプ (マルチターゲットモニタ) を選択し、[名前] ボックスにモニタリソース名 (mtw1) を入力します。[次へ] をクリックします。

      3. [監視(共通)] 画面が表示されます。
        [監視タイミング] が [常時] であることを確認し、[次へ] をクリックします。

      4. [監視(固有)] 画面が表示されます。
        利用可能なモニタリソース一覧から [追加] を選択し、Service Management APIへの疎通確認用カスタムモニタリソース、両サーバに設定したそれぞれのIPモニタリソースの3つのモニタリソースを追加します(genw1、ipw1、ipw2)。[次へ] をクリックします。

      5. [回復動作] 画面が表示されます。
        [回復動作] に [最終動作のみ実行]、[回復対象] に [LocalServer]、[最終動作] に [クラスタサービス停止とOSシャットダウン] を設定します。

      6. [完了] をクリックして設定を終了します。

  4. クラスタプロパティの設定

    クラスタプロパティの詳細は『リファレンスガイド』 -「クラスタプロパティ」を参照してください。

    • クラスタプロパティ

      Microsoft Azure と CLUSTERPRO の連携用に、クラスタプロパティ内の設定を以下のように設定します。

      1. Cluster WebUI から設定モードへ移動し、クラスタ名のプロパティアイコンをクリックします。

      2. [タイムアウト] タブを選択します。ハートビートの[タイムアウト]に以下の 「A + B + C」の結果を設定します。

        • A :NP 解決用のマルチターゲットモニタリソースで監視しているモニタリソースの[インターバル] × ([リトライ回数] + 1)

        ※ 3つあるモニタリソースのうち上記計算式の結果が大きい方を選択してください。

        • B :マルチターゲットモニタリソースの [インターバル] × ([リトライ回数] + 1)

        • C :30秒(マルチターゲットモニタリソースでの異常検出前にハートビートがタイムアウトしないようにするための猶予時間。適宜変更可能)

        注釈

        ハートビートのタイムアウト値が、NP 解決用のモニタで異常を検出する時間より短い場合、NP 解決処理が動作する前にハートビートのタイムアウトを検出します。この場合、待機サーバでサービスが起動され、クラスタ内でサービスの二重起動が発生する可能性があります。

      3. [OK] をクリックします。

  5. 設定の反映とクラスタの起動

    1. Cluster WebUI の設定モードから、[設定の反映] をクリックします。
      「設定を反映しますか。」 というポップアップメッセージが表示されるので、[OK] をクリックします。
      アップロードに成功すると、[反映に成功しました。] のメッセージが表示されますので、[OK] をクリックします。
      アップロードに失敗した場合は、表示されるメッセージに従って操作を行ってください。
    2. Cluster WebUI のツールバーのドロップダウンメニューで [操作モード] を選択して、操作モードに切り替えます。

    3. 使用するリソースによって以降の手順が異なります。詳細は『インストール&設定ガイド』 - 「クラスタを生成するには」を参照してください。

4.5. 動作確認

構築した環境が正常に動作するかを、監視異常を発生させフェイルオーバグループがフェイルオーバすることにより確認します。
既にクラスタが正常に起動している状態からの確認手順は以下のとおりです。
  1. フェイルオーバグループ(failover1)が、現用系ノードのnode1で起動します。Cluster WebUI [ステータス]タブにおいてfailover1がnode1で[起動済]になっていることを確認します。

  2. Microsoft Azure ポータルにログインし、DNS ゾーンより cluster1.zone を選択後、[概要]を選択します。画面右上に表示されているDNS サーバー(画面例では、ネームサーバー 1、ネームサーバー 2、ネームサーバー 3、ネームサーバー 4)を確認します。

  3. 上記で確認したDNS サーバーに対し、nslookup コマンドで該当レコードセットが存在することを確認します。

    $ nslookup test-record1.cluster1.zone <上記で確認したDNSサーバー>
  4. Microsoft Azure ポータルにおいて、DNS ゾーンからA レコードを手動で削除します。これにより、azurednsw1 は監視異常を検出します。DNS ゾーンより cluster1.zone を選択し、[概要]を選択します。

  5. 削除するレコードを選択し、[削除]を選択します。削除確認にて[はい]を選択します。

  6. azurednsw1 の[インターバル]後にフェイルオーバグループ(failover1)が異常になり、ノードnode2へフェイルオーバします。Cluster WebUI [ステータス]タブにおいてfailover1がnode2で[起動済]になっていることを確認します。

  7. 上記で確認したDNSサーバに対し、nslookupコマンドで該当レコードセットが存在することを確認します。

    $ nslookup test-record1.cluster1.zone <上記で確認したDNSサーバー>

以上で、DNSサーバーからAレコードを削除した場合におけるフェイルオーバの動作確認は完了です。その他の障害発生時の動作確認については適宜実施してください。

5. 構築手順(パブリックロードバランサーを使用したHAクラスタの場合)

5.1. 構築例について

本書では、Microsoft Azure において、CLUSTERPRO を使用した2ノードでの片方向スタンバイクラスタの構築手順を紹介します。本手順は、node1 を現用系サーバとしたミラーディスク型の構成を対象としています。

以下の表は既定値が存在しないパラメータ、および既定値から変更したパラメータについて記載しています。

  • Microsoft Azureの設定(node1、node2で共通の設定)

    設定項目

    設定値

    リソース グループの設定

    • 名前

    TestGroup1

    • リージョン

    (アジア太平洋)東日本

    仮想ネットワークの設定

    • 名前

    Vnet1

    • アドレス空間

    10.5.0.0/24

    • サブネット名

    Vnet1-1

    • サブネットアドレス範囲

    10.5.0.0/24

    • リソース グループ名

    TestGroup1

    • 場所

    (アジア太平洋)東日本

    ロードバランサーの設定

    • 名前

    TestLoadBalancer

    • 種類

    パブリック

    • パブリックIPアドレス名

    TestLoadBalancerPublicIP

    • パブリックIPアドレス - 割り当て

    静的

    • リソース グループ

    TestGroup1

    • 地域

    (アジア太平洋)東日本

    • バックエンドプール - 名前

    TestBackendPool

    • 関連付け先

    可用性セット

    • ターゲット仮想マシン

    node1

    node2

    • ネットワークIP 構成

    10.5.0.110

    10.5.0.111

    • 正常性プローブ - 名前

    TestHealthProbe

    • 正常性プローブ - ポート

    26001

    • 負荷分散規則 - 名前

    TestLoadBalancingRule

    • 負荷分散規則 - ポート

    80(業務を提供しているポート番号)

    • 負荷分散規則 - バックエンドポート

    8080(業務を提供しているポート番号)

    受信セキュリティ規則の設定

    • 名前

    TestHTTP

    • プロトコル

    TCP

    • 宛先ポート範囲

    8080(業務を提供しているポート番号)

  • Microsoft Azureの設定(node1、node2でそれぞれ設定)

    設定項目

    設定値

    node1

    node2

    仮想マシンの設定

    ディスクの種類

    Standard HDD

    Standard HDD

    ユーザー名

    testlogin

    testlogin

    パスワード

    PassWord_123

    PassWord_123

    リソース グループ名

    TestGroup1

    TestGroup1

    地域

    (アジア太平洋)東日本

    (アジア太平洋)東日本

    ネットワーク セキュリティ グループの設定

    名前

    node1-nsg

    node2-nsg

    可用性セットの設定

    名前

    AvailabilitySet1

    AvailabilitySet1

    更新ドメイン

    5

    5

    障害ドメイン

    2

    2

    診断ストレージアカウントの設定

    名前

    自動生成

    自動生成

    パフォーマンス

    Standard

    Standard

    レプリケーション

    ローカル冗長ストレージ(LRS)

    ローカル冗長ストレージ(LRS)

    IP構成の設定

    IPアドレス

    10.5.0.110

    10.5.0.111

    ディスクの設定

    名前

    node1_DataDisk_0

    node2_DataDisk_0

    ソースの種類

    なし(空のディスク)

    なし(空のディスク)

    アカウントの種類

    Standard HDD

    Standard HDD

    サイズ

    20

    20

  • CLUSTERPROの設定(クラスタプロパティ)

    設定項目

    設定値

    node1

    node2

    • クラスタ名

    Cluster1

    • サーバ名

    node1

    node2

    • タイムアウトタブ - ハートビートタイムアウト

    120

  • CLUSTERPROの設定(フェイルオーバグループ)

    リソース名

    設定項目

    設定値

    ミラーディスクリソース

    リソース名

    md

    詳細タブ - マウントポイント

    /mnt/md

    詳細タブ - データパーティションデバイス名

    /dev/sdc2

    詳細タブ - クラスタパーティションデバイス名

    /dev/sdc1

    詳細タブ - ファイルシステム

    ext4

    ミラータブ - 初期ミラー構築を行う

    オン

    ミラータブ - 初期 mkfs を行う

    オン

    Azure プローブポートリソース

    リソース名

    azurepp1

    プローブポート

    26001(正常性プローブ - ポートで指定した値)

  • CLUSTERPROの設定(モニタリソース)

    モニタリソース名

    設定項目

    設定値

    ミラーディスクモニタリソース

    モニタリソース名

    mdw1

    Azure プローブポートモニタリソース

    モニタリソース名

    azureppw1

    回復対象

    azurepp1

    Azure ロードバランスモニタリソース

    モニタリソース名

    aurelbw1

    回復対象

    azurepp1

    カスタムモニタリソース

    モニタリソース名

    genw1

    この製品で作成したスクリプト

    オン

    監視タイプ

    同期

    正常な戻り値

    0

    回復動作

    最終動作のみ実行

    回復対象

    LocalServer

    IPモニタリソース

    モニタリソース名

    ipw1

    監視を行うサーバ

    node1

    IPアドレス

    10.5.0.111

    回復動作

    最終動作のみ実行

    回復対象

    LocalServer

    IPモニタリソース

    モニタリソース名

    ipw2

    監視を行うサーバ

    node2

    IPアドレス

    10.5.0.110

    回復動作

    最終動作のみ実行

    回復対象

    LocalServer

    マルチターゲットモニタリソース

    モニタリソース名

    mtw1

    モニタリソース一覧

    genw1
    ipw1
    ipw2

    回復動作

    最終動作のみ実行

    回復対象

    LocalServer

    最終動作前にスクリプトを実行する

    オン

    タイムアウト

    30

5.2. Microsoft Azureの設定

Microsoft Azure ポータル(https://portal.azure.com/)にログインし、 4.1. 構築例について を参考に以下の設定を行います。

  1. リソースグループの作成

    リソースを管理するリソースグループを作成します。

  2. 仮想ネットワークの作成

    仮想ネットワークを作成します。

  3. 仮想マシンの作成

    クラスタを構成する仮想マシンの数だけ作成します。

  4. プライベートIPアドレスの設定

    IP アドレスは初期設定では動的割り当てとなっているため、静的割り当てに変更します。
    ※ネットワークインターフェイスのIP構成から割り当てを変更します。
    ※変更後は新しいプライベートIP アドレスを利用できるようにするために、仮想マシンが自動的に再起動されます。
  5. ロードバランサーの作成

    1. ロードバランサーを作成します。詳細は以下のWebサイトを参照してください。

      ※ ロードバランサーの種類は[パブリック]を選択し作成します。
      ※ デプロイには数分掛かります。
    2. 仮想マシンをバックエンドプールに紐付けます。

    3. 正常性プローブを設定します。

    4. 負荷分散規則を設定します。

    5. 受信セキュリティ規則を設定します。

      ネットワーク セキュリティ グループの受信セキュリティ規則に負荷分散規則で設定したバックエンドポートを追加します。

5.3. インスタンスの設定

  1. ミラーディスクの準備

    ミラーディスクリソース用のパーティションを設定します。
    ミラーディスク用のパーティションについては、『インストール&設定ガイド』の「システム構成を決定する」-「ミラーディスクリソース用のパーティションを設定する (Replicator 使用時は必須)」を参照してください。
  2. OS 起動時間の調整、ネットワーク設定の確認、ルートファイルシステムの確認、ファイアウォールの設定を確認、サーバの時刻を同期、SELinuxの設定を確認

    各手順は『インストール&設定ガイド』 - 「システム構成を決定する」-「ハードウェア構成後の設定」を参照してください。

  3. CLUSTERPROのインストール

    インストール手順は『インストール&設定ガイド』を参照してください。
    インストール完了後、OSの再起動を行ってください。
  4. CLUSTERPROのライセンスを登録

    ライセンス登録手順は『インストール&設定ガイド』を参照してください。

5.4. CLUSTERPROの設定

Cluster WebUI のセットアップ、および接続方法は『インストール&設定ガイド』 - 「クラスタ構成情報を作成する」を参照してください。

以下のリソース/モニタリソースを追加する手順を記述します。

  • ミラーディスクリソース

  • Azure プローブポートリソース

  • Azure プローブポートモニタリソース

  • Azure ロードバランスモニタリソース

  • カスタムモニタリソース(NP解決用)

  • IPモニタリソース(NP解決用)

  • マルチターゲットモニタリソース(NP解決用)

上記以外の設定は、『インストール&設定ガイド』、『リファレンスガイド』を参照してください。

  1. クラスタの作成

    最初に、クラスタ生成ウィザードを開始し、クラスタを構築します。

    • クラスタの構築

      1. Cluster WebUI にアクセスし、[クラスタ生成ウィザード] をクリックします。

      2. [クラスタ生成ウィザード]の[クラスタ]が表示されます。

        [クラスタ名] に任意のクラスタ名を入力します。
        [言語] を適切に選択します。[次へ] をクリックします。

      3. [基本設定] 画面が表示されます。Cluster WebUI に接続したインスタンスがマスタサーバとして登録済みの状態で表示されます。
        [追加] をクリックし、残りのインスタンスを追加します(インスタンスのPrivate IP アドレスを指定します)。[次へ] をクリックします。

      4. [インタコネクト] 画面が表示されます。
        インタコネクトのために使用するIPアドレス(各インスタンスのPrivate IP アドレス)を指定します。また、後で作成するミラーディスクリソースの通信経路として [MDC] に mdc1 を選択します。[次へ] をクリックします。

      5. [NP解決] 画面が表示されます。
        ただし、NP解決は本画面では設定せず、 別途IP モニタリソース、カスタムモニタリソース、マルチターゲットモニタリソースを追加することによって同等のことを実現します。NP解決の設定は、後述の「3 モニタリソースの追加」 で行います。
        クラスタシステムにアクセスするクライアントの配置やオンプレミス環境との接続条件(専用線接続など)によって、NP解決先やNP解決の方法は、その都度検討する必要があります。推奨のNP解決先やNP解決の方法はありません。NP 解決にネットワークパーティション解決リソースを利用することも可能です。
        [次へ] をクリックします。

  2. グループリソースの追加

    • グループの定義

      フェイルオーバグループを作成します。

      1. [グループ一覧] 画面が表示されます。

        [追加]をクリックします。

      2. [グループの定義] 画面が表示されます。

        [名前] にフェイルオーバグループ名(failover1)を設定します。[次へ] をクリックします。

      3. [起動可能サーバ] 画面が表示されます。
        何も指定せず [次へ] をクリックします。
      4. [グループ属性] 画面が表示されます。
        何も指定せず [次へ] をクリックします。
      5. [グループリソース一覧] 画面が表示されます。
        以降の手順で、この画面でグループリソースを追加していきます。

    • ミラーディスクリソース

      ミラーディスクリソースを作成します。
      詳細は 『リファレンスガイド』 -「ミラーディスクリソースを理解する」を参照してください。
      1. [グループリソース一覧] で [追加] をクリックします。

      2. [グループ のリソース定義 | failover1] 画面が開きます。
        [タイプ] ボックスでグループリソースのタイプ(ミラーディスクリソース) を選択し、[名前] ボックスにグループ名 (md) を入力します。[次へ] をクリックします。

      3. [依存関係] 画面が表示されます。
        何も指定せず [次へ] をクリックします。
      4. [復旧動作] 画面が表示されます。
        [次へ] をクリックします。
      5. [詳細] 画面が表示されます。
        [データパーティションデバイス名]、[クラスタパーティションデバイス名] に「5. 仮想マシンの設定」で作成したパーティションのデバイス名を入力します。[マウントポイント]、[ファイルシステム]を入力します。[完了] をクリックして設定を終了します。

    • Azure プローブポートリソース

      Microsoft Azure 上で CLUSTERPRO を利用する場合、業務が稼働するノードの特定のポートでロードバランサーからの死活監視を待ち受ける仕組みを提供します。
      Azure プローブポートリソースの詳細は『リファレンスガイド』 -「Azure プローブポートリソースを理解する」を参照してください。
      1. [グループリソース一覧] で [追加] をクリックします。

      2. [グループ のリソース定義 | failover1] 画面が開きます。[タイプ] ボックスでグループリソースのタイプ (Azure プローブポートリソース) を選択して、[名前] ボックスにグループ名 (azurepp1) を入力します。[次へ] をクリックします。

      3. [依存関係] 画面が表示されます。
        何も指定せず [次へ] をクリックします。
      4. [復旧動作] 画面が表示されます。
        [次へ] をクリックします。
      5. [プローブポート] にロードバランサーの設定(正常性プローブの設定)時に [ポート] として指定した値を入力します。

      6. [完了] をクリックします。

  3. モニタリソースの追加

    • Azure プローブポートモニタリソース

      Microsoft Azure プローブポートリソースが起動しているノードに対して、死活監視のためのポートの監視機構を提供します。
      Azure プローブポートモニタリソースの詳細は『リファレンスガイド』 -「Azure プローブポートモニタリソースを理解する」を参照してください。
      Azure プローブポートリソースを1つ追加すると、Azure プローブポートモニタリソースが1つ自動的に作成されます。
    • Azure ロードバランスモニタリソース

      Microsoft Azure プローブポートリソースが起動していないノードに対して、プローブポートと同じポート番号が開放されていないかの監視機構を提供します。
      Azure ロードバランスモニタリソースの詳細は『リファレンスガイド』 -「Azure ロードバランスモニタリソースを理解する」を参照してください。
      Azure プローブポートリソースを1つ追加すると、Azure ロードバランスモニタリソースが1つ自動的に作成されます。
    • カスタムモニタリソース

      Microsoft Azure の Service Management API へ疎通可能かどうかを監視し、外部ネットワークとの通信の健全性を監視するためのスクリプトを設定します。
      カスタムモニタリソースの詳細は『リファレンスガイド』 -「カスタムモニタリソースを理解する」を参照してください。
      1. [モニタリソース一覧] で [追加] をクリックします。

      2. [タイプ] ボックスでモニタリソースのタイプ (カスタムモニタ) を選択し、[名前] ボックスにモニタリソース名 (genw1) を入力します。[次へ] をクリックします。

      3. [監視(共通)] 画面が表示されます。
        [監視タイミング] を [常時] であることを確認し、[次へ] をクリックします。

      4. [監視(固有)] 画面が表示されます。
        [この製品で作成したスクリプト] をチェックします。
        作成するスクリプトのサンプルは以下のとおりです。
        #! /bin/sh
        <CLUSTERPROインストールパス>/bin/clpazure_port_checker ?h management.core.windows.net -p 443
        exit $?

        [監視タイプ] を [同期] にチェックします。[次へ] をクリックします。

      5. [回復動作] 画面が表示されます。
        [回復動作] に [最終動作のみ実行]、[回復対象] に [LocalServer]、[最終動作] に [何もしない]を設定します。

      6. [完了] をクリックして設定を終了します。

    • IPモニタリソース

      仮想マシンで構成されたクラスタ間の通信を監視し、内部ネットワークとの通信の健全性を監視する IP モニタリソースを作成します。
      IPモニタリソースの詳細は『リファレンスガイド』 -「IP モニタリソースを理解する」を参照してください。
      1. [モニタリソース一覧] で [追加] をクリックします。

      2. [タイプ] ボックスでモニタリソースのタイプ (IPモニタ) を選択し、[名前] ボックスにモニタリソース名 (ipw1) を入力します。[次へ] をクリックします。

      3. [監視(共通)] 画面が表示されます。
        [監視タイミング] が [常時] であることを確認します。

        [監視を行うサーバを選択する] で起動可能なサーバをひとつ選択し追加します。

        [次へ] をクリックします。

      4. [監視(固有)] 画面が表示されます。

        [共通] タブの [IPアドレス一覧] で [追加] を選択し、3 で選択したサーバとは別のサーバのIPアドレスを設定します。[次へ] をクリックします。

      5. [回復動作] 画面が表示されます。
        [回復動作] に [最終動作のみ実行]、[回復対象] に [LocalServer]、[最終動作] に [何もしない] を設定します。

      6. [完了] をクリックして設定を終了します。

      7. 次にもう一方のサーバでも、同様のモニタリソースを作成します。[モニタリソース一覧] で [追加] をクリックします。

      8. [タイプ] ボックスでモニタリソースのタイプ (IPモニタ) を選択し、[名前] ボックスにモニタリソース名 (ipw2) を入力します。[次へ] をクリックします。

      9. [監視(共通)] 画面が表示されます。
        [監視タイミング] が [常時] であることを確認します。
        [監視を行うサーバを選択する] で起動可能なサーバをひとつ選択し追加します。
        [次へ] をクリックします。
      10. [監視(固有)] 画面が表示されます。
        [共通] タブの [IPアドレス一覧] で [追加] を選択し、9 で選択したサーバとは別のサーバのIPアドレスを設定します。[次へ] をクリックします。
      11. [回復動作] 画面が表示されます。
        [回復動作] に [最終動作のみ実行]、[回復対象] に [LocalServer]、[最終動作] に [何もしない] を設定します。
      12. [完了] をクリックして設定を終了します。

    • マルチターゲットモニタリソース

      Microsoft AzureのService Management APIへの通信を監視するカスタムモニタリソースと、仮想マシンで構成されたクラスタ間のIP モニタリソースの両方の状態を確認するマルチターゲットモニタリソースを作成します。
      両方のモニタリソースの状態が異常となった際に、NP解決用の処理を記載したスクリプトを実行します。
      マルチターゲットモニタリソースの詳細は『リファレンスガイド』 -「マルチターゲットモニタリソースを理解する」を参照してください。
      1. [モニタリソース一覧] で [追加] をクリックします。

      2. [タイプ] ボックスでモニタリソースのタイプ (マルチターゲットモニタ) を選択し、[名前] ボックスにモニタリソース名 (mtw1) を入力します。[次へ] をクリックします。

      3. [監視(共通)] 画面が表示されます。
        [監視タイミング] が [常時] であることを確認し、[次へ] をクリックします。

      4. [監視(固有)] 画面が表示されます。
        利用可能なモニタリソース一覧から [追加] を選択し、Service Management APIへの疎通確認用カスタムモニタリソース、両サーバに設定したそれぞれのIPモニタリソースの3つのモニタリソースを追加します(genw1、ipw1、ipw2)。[次へ] をクリックします。

      5. [回復動作] 画面が表示されます。
        [回復動作] に [最終動作のみ実行]、[最終動作前にスクリプトを実行する]をチェック、[回復対象] に [LocalServer]、[最終動作] に [何もしない] を設定します。
        [スクリプト設定] をクリックし、マルチターゲットモニタリソースが異常検出時に実行するスクリプトを作成します。

      6. スクリプトの編集ダイアログが表示されます。
        [この製品で作成したスクリプト] をチェックし、スクリプトを [編集] します。作成するスクリプトのサンプルは以下のとおりです。
        以下は「 5.1. 構築例について」を参照して設定してください。ポートは業務により異なります。
        ・ロードバランサーの負荷分散規則 - バックエンドポート
        ・ロードバランサーの負荷分散規則 - ポート
        ・ロードバランサーのフロントエンドIP(パブリックIPアドレス)
        #! /bin/sh
        <CLUSTERPROインストールパス>/bin/clpazure_port_checker -h 127.0.0.1 -p <ロードバランサーの負荷分散規則 - バックエンドポート>
        if [ $? -ne 0 ]
        then
            clpdown
            exit 0
        fi
        <CLUSTERPROインストールパス>/bin/clpazure_port_checker -h <ロードバランサーのフロントエンドIP(パブリックIPアドレス)> -p <ロードバランサーの負荷分散規則 - ポート>
        if [ $? -ne 0 ]
        then
            clpdown
            exit 0
        fi
        [タイムアウト] は clpazure_port_checker のタイムアウト値(5秒固定)より長く設定します。上記のサンプルスクリプトでは clpazure_port_checker を2回実行するため、10秒より大きな値を推奨します。
        [OK] をクリックします。
      7. [完了] をクリックして設定を終了します。

  4. クラスタプロパティの設定

    クラスタプロパティの詳細は『リファレンスガイド』-「クラスタプロパティ」を参照してください。

    • クラスタプロパティ

      Microsoft Azure と CLUSTERPRO の連携用に、クラスタプロパティ内の設定を以下のように設定します。

      1. Cluster WebUI から設定モードへ移動し、クラスタ名のプロパティアイコンをクリックします。

      2. [タイムアウト] タブを選択します。ハートビートの[タイムアウト]に以下の 「A + B + C」の結果を設定します。

        • A :NP 解決用のマルチターゲットモニタリソースで監視しているモニタリソースの[インターバル] × ([リトライ回数] + 1)

        ※3つあるモニタリソースのうち上記計算式の結果が大きい方を選択してください。

        • B :マルチターゲットモニタリソースの [インターバル] × ([リトライ回数] + 1)

        • C :30秒(マルチターゲットモニタリソースでの異常検出前にハートビートがタイムアウトしないようにするための猶予時間。適宜変更可能)

        注釈

        ハートビートのタイムアウト値が、NP 解決用のモニタで異常を検出する時間より短い場合、NP 解決処理が動作する前にハートビートのタイムアウトを検出します。この場合、待機サーバでサービスが起動され、クラスタ内でサービスの二重起動が発生する可能性があります。

      3. [OK] をクリックします。

  5. 設定の反映とクラスタの起動

    1. Cluster WebUI の設定モードから、[設定の反映] をクリックします。
      「設定を反映しますか。」 というポップアップメッセージが表示されるので、[OK] をクリックします。
      アップロードに成功すると、[反映に成功しました。] のメッセージが表示されますので、[OK] をクリックします。
      アップロードに失敗した場合は、表示されるメッセージに従って操作を行ってください。
    2. Cluster WebUI のツールバーのドロップダウンメニューで [操作モード] を選択して、操作モードに切り替えます。

    3. 使用するリソースによって以降の手順が異なります。詳細は『インストール&設定ガイド』 - 「クラスタを生成するには」を参照してください。

5.5. 動作確認

構築した環境が正常に動作するかを、監視異常を発生させフェイルオーバグループがフェイルオーバすることにより確認します。
既にクラスタが正常に起動している状態からの確認手順は以下のとおりです。
  1. フェイルオーバグループ(failover1)が、現用系ノードのnode1で起動します。Cluster WebUI [ステータス] タブにおいてfailover1がnode1で [起動済] になっていることを確認します。

  2. Cluster WebUIのプルダウンより [操作モード] から [検証モード] に変更します。

  3. Cluster WebUI [ステータス] タブで [モニタ] 内のazureppw1を開き、node1 の [擬似障害発生] を選択します。

  4. Azure プローブポートリソース(azurepp1)が3回再活性後に、フェイルオーバグループ(failover1)が異常になり、ノードnode2へフェイルオーバします。
    Cluster WebUI [ステータス]タブにおいてfailover1がnode2で [起動済] になっていることを確認します。
    また、AzureロードバランサーのフロントエンドIP、ポートに対してフェイルオーバ後も正常にアクセスできることを確認します。

以上で、擬似障害の場合のフェイルオーバの動作確認は完了です。その他の障害発生時の動作確認については適宜実施してください。

6. 構築手順(内部ロードバランサーを使用したHAクラスタの場合)

6.1. 構築例について

本書では、Microsoft Azure において、CLUSTERPRO を使用した2ノードでの片方向スタンバイクラスタの構築手順を紹介します。本手順は、node1 を現用系サーバとしたミラーディスク型の構成を対象としています。

以下の表は既定値が存在しないパラメータ、および既定値から変更したパラメータについて記載しています。

  • Microsoft Azureの設定(node1、node2で共通の設定)

    設定項目

    設定値

    リソース グループの設定

    名前

    TestGroup1

    リージョン

    (アジア太平洋)東日本

    仮想ネットワークの設定

    名前

    Vnet1

    アドレス空間

    10.5.0.0/24

    サブネット名

    Vnet1-1

    サブネットアドレス範囲

    10.5.0.0/24

    リソース グループ名

    TestGroup1

    場所

    (アジア太平洋)東日本

    ロードバランサーの設定

    名前

    TestLoadBalancer

    種類

    内部

    仮想ネットワーク

    Vnet1

    サブネット

    Vnet1-1

    IPアドレスの割り当て

    静的

    プライベートIPアドレス

    10.5.0.200

    リソース グループ

    TestGroup1

    地域

    (アジア太平洋)東日本

    バックエンドプール - 名前

    TestBackendPool

    関連付け先

    可用性セット

    ターゲット仮想マシン

    node1
    node2

    ネットワークIP 構成

    10.5.0.110
    10.5.0.111

    正常性プローブ - 名前

    TestHealthProbe

    正常性プローブ - ポート

    26001

    負荷分散規則 - 名前

    TestLoadBalancingRule

    負荷分散規則 - ポート

    80(業務を提供しているポート番号)

    負荷分散規則 - バックエンドポート

    8080(業務を提供しているポート番号)

  • Microsoft Azureの設定(node1、node2でそれぞれ設定)

    設定項目

    設定値

    node1

    node2

    仮想マシンの設定

    ディスクの種類

    Standard HDD

    Standard HDD

    ユーザー名

    testlogin

    testlogin

    パスワード

    PassWord_123

    PassWord_123

    リソース グループ名

    TestGroup1

    TestGroup1

    地域

    (アジア太平洋)東日本

    (アジア太平洋)東日本

    ネットワーク セキュリティ グループの設定

    名前

    node1-nsg

    node2-nsg

    可用性セットの設定

    名前

    AvailabilitySet1

    AvailabilitySet1

    更新ドメイン

    5

    5

    障害ドメイン

    2

    2

    診断ストレージアカウントの設定

    名前

    自動生成

    自動生成

    パフォーマンス

    Standard

    Standard

    レプリケーション

    ローカル冗長ストレージ(LRS)

    ローカル冗長ストレージ(LRS)

    IP構成の設定

    IPアドレス

    10.5.0.110

    10.5.0.111

    ディスクの設定

    名前

    node1_DataDisk_0

    node2_DataDisk_0

    ソースの種類

    なし(空のディスク)

    なし(空のディスク)

    アカウントの種類

    Standard HDD

    Standard HDD

    サイズ

    20

    20

  • CLUSTERPROの設定(クラスタプロパティ)

    設定項目

    設定値

    node1

    node2

    • クラスタ名

    Cluster1

    • サーバ名

    node1

    node2

    • NP解決タブ - 種別

    Ping

    • NP解決タブ - Pingターゲット

    10.5.0.5

    • NP解決タブ - [サーバ] 列

    使用する

    使用する

  • CLUSTERPROの設定(フェイルオーバグループ)

    リソース名

    設定項目

    設定値

    ミラーディスクリソース

    リソース名

    md

    詳細タブ - マウントポイント

    /mnt/md

    詳細タブ - データパーティションデバイス名

    /dev/sdc2

    詳細タブ -クラスタパーティションデバイス名

    /dev/sdc1

    詳細タブ -ファイルシステム

    ext4

    ミラータブ - 初期ミラー構築を行う

    オン

    ミラータブ - 初期 mkfs を行う

    オン

    Azure プローブポートリソース

    リソース名

    azurepp1

    プローブポート

    26001(正常性プローブ - ポートで指定した値)

    EXEC リソース(DSRを使用する場合)

    リソース名

    exec1

  • CLUSTERPROの設定(モニタリソース)

    モニタリソース名

    設定項目

    設定値

    ミラーディスクモニタリソース

    モニタリソース名

    mdw1

    Azure プローブポートモニタリソース

    モニタリソース名

    azureppw1

    回復対象

    azurepp1

    Azure ロードバランスモニタリソース

    モニタリソース名

    aurelbw1

    回復対象

    azurepp1

6.2. Microsoft Azureの設定

Microsoft Azure ポータル(https://portal.azure.com/)にログインし、 4.1. 構築例について を参考に以下の設定を行います。

  1. リソースグループの作成

    リソースを管理するリソースグループを作成します。

  2. 仮想ネットワークの作成

    仮想ネットワークを作成します。

  3. 仮想マシンの作成

    クラスタを構成する仮想マシンの数だけ作成します。

  4. プライベートIPアドレスの設定

    IP アドレスは初期設定では動的割り当てとなっているため、静的割り当てに変更します。
    ※ネットワークインターフェイスのIP構成から割り当てを変更します。
    ※変更後は新しいプライベートIP アドレスを利用できるようにするために、仮想マシンが自動的に再起動されます。
  5. ロードバランサーの作成

    1. ロードバランサーを作成します。詳細は以下のWebサイトを参照してください。

      ※ ロードバランサーの種類は[内部]を選択し作成します。
      ※ デプロイには数分掛かります。
    2. 仮想マシンをバックエンドプールに紐付けます。

    3. 正常性プローブを設定します。

    4. 負荷分散規則を設定します。

      DSRを使用する場合は、[ポート]と[バックエンドポート]に同一のポート番号を設定、[フローティングIP(Direct Server Return)]を有効に設定します。
      指定するポート番号は、業務を提供するアプリケーションへの接続に使用するポート番号を指定します(例.80)。
      DSR構成を作成する場合は以下を参照してください。

6.3. インスタンスの設定

  1. ミラーディスクの準備

    ミラーディスクリソース用のパーティションを設定します。
    ミラーディスク用のパーティションについては、『インストール&設定ガイド』の「システム構成を決定する」-「ミラーディスクリソース用のパーティションを設定する (Replicator 使用時は必須)」を参照してください。
    DSRを使用する場合、クラスタを構成する各ノードにおいてループバックアダプタを追加します。
    DSR構成を作成する場合は以下を参照してください。
  2. OS 起動時間の調整、ネットワーク設定の確認、ルートファイルシステムの確認、ファイアウォールの設定を確認、サーバの時刻を同期、SELinuxの設定を確認

    各手順は『インストール&設定ガイド』 - 「システム構成を決定する」-「ハードウェア構成後の設定」を参照してください。

  3. CLUSTERPROのインストール

    インストール手順は『インストール&設定ガイド』を参照してください。
    インストール完了後、OSの再起動を行ってください。
  4. CLUSTERPROのライセンスを登録

    ライセンス登録手順は『インストール&設定ガイド』を参照してください。

6.4. CLUSTERPROの設定

Cluster WebUI のセットアップ、および接続方法は『インストール&設定ガイド』 - 「クラスタ構成情報を作成する」を参照してください。

以下のリソース/モニタリソースを追加する手順を記述します。

  • ミラーディスクリソース

  • Azure プローブポートリソース

  • Azure プローブポートモニタリソース

  • Azure ロードバランスモニタリソース

  • PINGネットワークパーティション解決リソース(NP解決用)

上記以外の設定は、『インストール&設定ガイド』、『リファレンスガイド』を参照してください。

  1. クラスタの作成

    最初に、クラスタ生成ウィザードを開始し、クラスタを構築します。

    • クラスタの構築

      1. Cluster WebUI にアクセスし、[クラスタ生成ウィザード] をクリックします。

      2. クラスタ生成ウィザード]の[クラスタ]が表示されます。
        [クラスタ名] に任意のクラスタ名を入力します。
        [言語] を適切に選択します。[次へ] をクリックします。

      3. [基本設定]が表示されます。
        Cluster WebUI に接続したインスタンスがマスタサーバとして登録済みの状態で表示されます。
        [追加] をクリックし、残りのインスタンスを追加します(インスタンスのPrivate IP アドレスを指定します)。[次へ] をクリックします。

      4. [インタコネクト] 画面が表示されます。
        インタコネクトのために使用するIPアドレス(各インスタンスのPrivate IP アドレス)を指定します。また、後で作成するミラーディスクリソースの通信経路として [MDC] に mdc1 を選択します。[次へ] をクリックします。

      5. [NP解決] 画面が表示されます。
        PING方式のNP解決を行う場合、[追加] をクリックして [NP 解決一覧] に行を追加します。[種別] 列のセルをクリックし、[Ping] を選択します。Ping ターゲット列のセルをクリックして Ping を送信する対象となる機器のIPアドレスを設定します。IPアドレスは、Microsoft Azure のネットワークの内部に存在するクラスタサーバ以外のサーバを設定してください。各サーバ列のセルをクリックして [使用する] [使用しない] を設定します。[次へ] をクリックします。

  2. グループリソースの追加

    • グループの定義

      フェイルオーバグループを作成します。

      1. [グループ一覧] 画面が表示されます。

        [追加]をクリックします。

      2. [グループの定義] 画面が表示されます。
        [名前] にフェイルオーバグループ名(failover1)を設定します。[次へ] をクリックします。

      3. [起動可能サーバ 画面が表示されます。
        何も指定せず [次へ] をクリックします。
      4. [グループ属性] 画面が表示されます。
        何も指定せず [次へ] をクリックします。
      5. [グループリソース一覧] 画面が表示されます。
        以降の手順で、この画面でグループリソースを追加していきます。

    • ミラーディスクリソース

      ミラーディスクリソースを作成します。
      詳細は 『リファレンスガイド』 -「ミラーディスクリソースを理解する」を参照してください。
      1. [グループリソース一覧] で [追加] をクリックします。

      2. [グループ のリソース定義 | failover1] 画面が開きます。
        [タイプ] ボックスでグループリソースのタイプ(ミラーディスクリソース) を選択し、[名前] ボックスにグループ名 (md) を入力します。[次へ] をクリックします。

      3. [依存関係] 画面が表示されます。
        何も指定せず [次へ] をクリックします。
      4. [復旧動作] 画面が表示されます。
        [次へ] をクリックします。
      5. [詳細] 画面が表示されます。
        [データパーティションデバイス名] [クラスタパーティションデバイス名] に「5. 仮想マシンの設定」で作成したパーティションのデバイス名を入力します。[マウントポイント]、[ファイルシステム]を入力します。 [完了] をクリックして設定を終了します。

    • Azure プローブポートリソース

      Microsoft Azure 上で CLUSTERPRO を利用する場合、業務が稼働するノードの特定のポートでロードバランサーからの死活監視を待ち受ける仕組みを提供します。
      Azure プローブポートリソースの詳細は『リファレンスガイド』 -「Azure プローブポートリソースを理解する」を参照してください。
      1. [グループリソース一覧] で [追加] をクリックします。

      2. [グループ のリソース定義 | failover1] 画面が開きます。[タイプ] ボックスでグループリソースのタイプ (Azure プローブポートリソース) を選択して、[名前] ボックスにグループ名 (azurepp1) を入力します。[次へ] をクリックします。

      3. [依存関係] 画面が表示されます。何も指定せず [次へ] をクリックします。

      4. [復旧動作] 画面が表示されます。[次へ] をクリックします。

      5. [プローブポート] にロードバランサーの設定(正常性プローブの設定)時に [ポート] として指定した値を入力します。

      6. [完了] をクリックします。

    • EXEC リソース(DSRを使用する場合)

      EXEC リソースを追加することにより、ロードバランサーの切り替えに合わせて、ループバックアダプタにフロントエンドIPアドレスを追加/削除する仕組みを提供します。
      EXEC リソースの詳細は 『リファレンスガイド』-「EXEC リソースを理解する」を参照してください。
      1. [グループリソース一覧] で [追加] をクリックします。

      2. [グループのリソース定義 | failover1] 画面が開きます。[タイプ] ボックスでグループリソースのタイプ (EXECリソース) を選択して、[名前] ボックスにグループ名 (exec1) を入力します。

      3. [次へ] をクリックします。

      4. [依存関係] 画面が表示されます。何も指定せず [次へ] をクリックします。

      5. [復旧動作] 画面が表示されます。[次へ] をクリックします。

      6. start.sh、stop.sh を選択し、[編集] をクリックします。スクリプトはCLUSTERPROオフィシャルブログ(https://jpn.nec.com/clusterpro/blog/20200528.html)を参考に設定してください。CLUSTERPROオフィシャルブログに掲載のスクリプトはサンプルです。環境に合わせてカスタマイズしてください。

      7. [完了] をクリックします。

  3. モニタリソースの追加

    • Azure プローブポートモニタリソース

      Microsoft Azure プローブポートリソースが起動しているノードに対して、死活監視のためのポートの監視機構を提供します。
      Azure プローブポートモニタリソースの詳細は『リファレンスガイド』 -「Azure プローブポートモニタリソースを理解する」を参照してください。
      Azure プローブポートリソースを1つ追加すると、Azure プローブポートモニタリソースが1つ自動的に作成されます。
    • Azure ロードバランスモニタリソース

      Microsoft Azure プローブポートリソースが起動していないノードに対して、プローブポートと同じポート番号が開放されていないかの監視機構を提供します。
      Azure ロードバランスモニタリソースの詳細は『リファレンスガイド』 -「Azure ロードバランスモニタリソースを理解する」を参照してください。
      Azure プローブポートリソースを1つ追加すると、Azure ロードバランスモニタリソースが1つ自動的に作成されます。
  4. 設定の反映とクラスタの起動

    1. Cluster WebUI の設定モードから、[設定の反映] をクリックします。
      「設定を反映しますか。」 というポップアップメッセージが表示されるので、[OK] をクリックします。
      アップロードに成功すると、[反映に成功しました。] のメッセージが表示されますので、[OK] をクリックします。
      アップロードに失敗した場合は、表示されるメッセージに従って操作を行ってください。
    2. Cluster WebUI のツールバーのドロップダウンメニューで [操作モード] を選択して、操作モードに切り替えます。

    3. 使用するリソースによって以降の手順が異なります。詳細は『インストール&設定ガイド』 - 「クラスタを生成するには」を参照してください。

6.5. 動作確認

構築した環境が正常に動作するかを、監視異常を発生させフェイルオーバグループがフェイルオーバすることにより確認します。
既にクラスタが正常に起動している状態からの確認手順は以下のとおりです。
  1. フェイルオーバグループ(failover1)が、現用系ノードのnode1で起動します。Cluster WebUI [ステータス] タブにおいてfailover1がnode1で[起動済]になっていることを確認します。
    DSRを使用する場合は、パケットキャプチャを実施し、クライアントのIPアドレスとロードバランサーのフロントエンドIPアドレスで通信が行われていることもあわせて確認します。
  2. Cluster WebUIのプルダウンより[操作モード]から[検証モード]に変更します。
  3. Cluster WebUI [ステータス] タブにおいてazureppw1の[擬似障害発生]アイコンを選択します。
  4. Azure プローブポートリソース(azurepp1)が3回再活性後に、フェイルオーバグループ(failover1)が異常になり、ノードnode2へフェイルオーバします。
    Cluster WebUI [ステータス]タブにおいてfailover1がnode2で [起動済] になっていることを確認します。
    また、AzureロードバランサーのフロントエンドIP、ポートに対してフェイルオーバ後も正常にアクセスできることを確認します。
    DSRを使用する場合は、パケットキャプチャを実施し、クライアントのIPアドレスとロードバランサーのフロントエンドIPアドレスで通信が行われていることもあわせて確認します。
以上で、擬似障害の場合におけるフェイルオーバの動作確認は完了です。その他の障害発生時の動作確認については適宜実施してください。
DSR構成を作成する場合は以下を参照してください。

7. エラーメッセージ一覧

各リソース/モニタリソースのエラーメッセージについては、以下のマニュアルを参照してください。

8. 注意・制限事項

8.1. Azure DNSを使用したHAクラスタの場合

8.1.1. Microsoft Azureの注意事項

  • マルチテナントのクラウド環境では、物理環境や一般的な仮想化環境(非クラウド環境)に比べて性能の差が大きくなる(性能の劣化率が大きくなる)傾向があります。性能を重視するシステムでは、設計フェーズにおいて、この点に留意する必要があります。

  • 仮想マシンをシャットダウンしただけでは、仮想マシンの状態は[停止済み]となり課金状態が継続されます。Microsoft Azureポータルの仮想マシンの設定画面の[停止]を実行し、仮想マシンの状態を[停止済み(割り当て解除済み)]にしてください。

  • 可用性セットは、仮想マシンの作成時にのみ設定できます。 可用性セットの内外に仮想マシンを移動するには、仮想マシンを再作成する必要があります。

  • CLUSTERPROがMicrosoft Azureと連携するためには、Microsoft Azureの組織アカウントが必要となります。組織アカウント以外のアカウントはAzure CLI実行時に対話形式でのログインが必要となるため使用できません。

8.1.2. CLUSTERPROの注意事項

以下のマニュアルを参照してください。

Azure のメモリ保持メンテナンスにより、仮想マシンは最大で 30 秒間一時停止状態になる場合があります。
メモリ保持メンテナンスについての詳細は以下を参照してください。
[クラスタプロパティ]-[タイムアウト]タブ-[ハートビートタイムアウト]はメモリ保持メンテナンスを考慮した値を設定してください。
また、[ハートビートタイムアウト]と併せて以下も調整してください。
  • OS の起動時間は[ハートビートタイムアウト]より長くなるよう調整してください。

  • [クラスタプロパティ]-[監視]タブ-[シャットダウン監視タイムアウト]にて、既定値(ハートビートのタイムアウトを使用する)から変更する場合、[ハートビートタイムアウト]以下となるよう調整してください。

以下のマニュアルも参照してください。

8.2. ロードバランサーを使用したHAクラスタの場合

8.2.1. Microsoft Azureの注意事項

  • マルチテナントのクラウド環境では、物理環境や一般的な仮想化環境(非クラウド環境)に比べて性能の差が大きくなる(性能の劣化率が大きくなる)傾向があります。性能を重視するシステムでは、設計フェーズにおいて、この点に留意する必要があります。

  • 仮想マシンをシャットダウンしただけでは、仮想マシンの状態は[停止済み]となり課金状態が継続されます。Microsoft Azureポータルの仮想マシンの設定画面の[停止]を実行し、仮想マシンの状態を[停止済み(割り当て解除済み)]にしてください。

  • 可用性セットは、仮想マシンの作成時にのみ設定できます。 可用性セットの内外に仮想マシンを移動するには、仮想マシンを再作成する必要があります。

8.2.2. CLUSTERPROの注意事項

以下のマニュアルを参照してください。

Azure のメモリ保持メンテナンスにより、仮想マシンは最大で 30 秒間一時停止状態になる場合があります。
メモリ保持メンテナンスについての詳細は以下を参照してください。
[クラスタプロパティ]-[タイムアウト]タブ-[ハートビートタイムアウト]はメモリ保持メンテナンスを考慮した値を設定してください。
また、[ハートビートタイムアウト]と併せて以下も調整してください。
  • OS の起動時間は[ハートビートタイムアウト]より長くなるよう調整してください。

  • [クラスタプロパティ]-[監視]タブ-[シャットダウン監視タイムアウト]にて、既定値(ハートビートのタイムアウトを使用する)から変更する場合、[ハートビートタイムアウト]以下となるよう調整してください。

以下のマニュアルも参照してください。