1. はじめに¶
1.1. 対象読者と目的¶
本書は、クラスタシステムに関して、システムを構築する管理者、およびユーザサポートを行うシステムエンジニア、保守員を対象にしています。
ここでご紹介するソフトウェアや設定例は、あくまで参考情報としてご提供するものであり、各ソフトウェアの動作保証を行うものではありません。
1.2. 適用範囲¶
動作環境については 「スタートアップガイド」-「CLUSTERPRO の動作環境」を参照してください。
本書に記載した各製品・サービスのスクリーンショット等は執筆時点のものであり、それ以降に変更されている可能性があります。最新の情報はそれぞれのWebサイトやマニュアルを参照してください。
1.3. 本書の構成¶
「4. 構築手順(Azure DNSを使用したHAクラスタの場合) 」:Azure DNSを使用したHAクラスタの構築手順について説明します。
「5. 構築手順(パブリックロードバランサーを使用したHAクラスタの場合)」:パブリックロードバランサーを使用したHAクラスタの構築手順について説明します。
「6. 構築手順(内部ロードバランサーを使用したHAクラスタの場合)」:内部ロードバランサーを使用したHAクラスタの構築手順について説明します。
「7. エラーメッセージ一覧」:エラーメッセージと対処について説明します。
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. 本書の表記規則¶
本書では、注意すべき事項、重要な事項および関連情報を以下のように表記します。
注釈
この表記は、重要ではあるがデータ損失やシステムおよび機器の損傷には関連しない情報を表します。
重要
この表記は、データ損失やシステムおよび機器の損傷を回避するために必要な情報を表します。
参考
この表記は、参照先の情報の場所を表します。
また、本書では以下の表記法を使用します。
表記 |
使用方法 |
例 |
---|---|---|
[ ] 角かっこ |
コマンド名の前後
画面に表示される語 (ダイアログボックス、メニューなど) の前後
|
[スタート] をクリックします。
[プロパティ] ダイアログ ボックス
|
コマンドライン中の [ ] 角かっこ |
かっこ内の値の指定が省略可能であることを示します。 |
|
# |
Linux ユーザが、root でログインしていることを示すプロンプト |
|
モノスペースフォント |
パス名、コマンド ライン、システムからの出力 (メッセージ、プロンプトなど)、ディレクトリ、ファイル名、関数、パラメータ |
|
太字 |
ユーザが実際にコマンドラインから入力する値を示します。 |
以下を入力します。
# clpcl -s -a
|
|
ユーザが有効な値に置き換えて入力する項目 |
|
本書の図では、CLUSTERPROを表すために このアイコンを使用します。
2. 概要¶
2.1. 機能概要¶
本書では、Microsoft Azureのクラウド サービス上に、Azure Resource Manager を使用したCLUSTERPRO X(以下、CLUSTERPRO と記す)によるHA クラスタを構築する方法を説明します。
![2つのFault Domainとそれぞれの中に配置されたVM](_images/img_functional-overview-10.png)
図 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 プローブポートリソース |
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.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.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.4 内部ロードバランサーを使用したHAクラスタ¶
ロードバランサーを使用したHAクラスタの構成例としては以下の2種類があります。用途に応じて使用するロードバランサーを決定してください。
用途
使用するロードバランサー
構築手順
業務を Microsoft Azure のネットワークの外部に公開する場合
パブリックロードバランサー
業務を 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状態が発生したと判断し、設定された処理(警告、回復処理、サーバダウン処理など)を行います。
業務の公開範囲 |
応答確認先 |
手段 |
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秒(固定)経過しても応答がない場合は異常と判定します(タイムアウト)。異常の場合は、標準エラー出力にエラーメッセージを出力します。本コマンドをカスタムモニタリソースより実行することで、ネットワークパーティション状態の判定を行うことが可能です。- オプション
- -h hostname
判定するサーバをhostnameで指定します(FQDN名もしくはIPアドレス)。省略できません。
- -p port
判定するポート番号を port で指定します(ポート番号もしくはサービス名)。省略できません。
- 戻り値
- 0
正常
- 1
異常(通信エラー)
- 2
異常(タイムアウト)
- 3
異常(引数不正、内部エラー)
2.4. オンプレミスとMicrosoft Azureの違い¶
オンプレミスとMicrosoft AzureにおけるCLUSTERPROの機能差分は以下のとおりです。 表内の✓は機能が使用できることを意味し、n/a は機能が使用できないことを意味します。
機能 |
オンプレミス |
Microsoft Azure |
---|---|---|
共有ディスク型クラスタの構築可否 |
✓ |
✓ |
ミラーディスク型クラスタの構築可否 |
✓ |
✓ |
ハイブリッドディスク型クラスタの構築可否 |
✓ |
✓ |
管理用グループの使用可否 |
✓ |
n/a |
フローティングIPリソースの使用可否 |
✓ |
n/a |
仮想IPリソースの使用可否 |
✓ |
n/a |
Azure プローブポートリソースの使用可否 |
n/a |
✓ |
Azure DNSリソースの使用可否 |
n/a |
✓ |
オンプレミスとMicrosoft Azureにおける、ミラーディスクを使用した2ノードクラスタの構築手順の流れは以下を参照してください。
オンプレミス環境とMicrosoft Azure環境でクラスタを構築する作業手順の違いは、事前準備として Microsoft Azure の設定が必要であることを除き、違いはありません。
CLUSTERPROインストール前
項番
手順
オンプレミス
Microsoft Azure
1
Microsoft Azureの設定
不要
◇Azure DNSリソースを使用する場合・本書「 4.2. Microsoft Azureの設定 」参照◇パブリックロードバランサーを使用する場合・本書「 5.2. Microsoft Azureの設定 」参照◇内部ロードバランサーを使用する場合・本書「 6.2. Microsoft Azureの設定 」参照2
インスタンスの設定
不要
3
ミラーディスクリソース用のパーティションを設定
オンプレミスと同様
4
OS 起動時間の調整
『インストール&設定ガイド』 - 「システム構成を決定する」-「ハードウェア構成後の設定」参照
オンプレミスと同様
5
ネットワーク設定の確認
『インストール&設定ガイド』 - 「システム構成を決定する」-「ハードウェア構成後の設定」参照
オンプレミスと同様
6
ルートファイルシステムの確認
『インストール&設定ガイド』 - 「システム構成を決定する」-「ハードウェア構成後の設定」参照
オンプレミスと同様
7
ファイアウォールの設定を確認
『インストール&設定ガイド』 - 「システム構成を決定する」-「ハードウェア構成後の設定」参照
オンプレミスと同様
8
サーバの時刻を同期
『インストール&設定ガイド』 - 「システム構成を決定する」-「ハードウェア構成後の設定」参照
オンプレミスと同様
9
CLUSTERPRO のインストール
『インストール&設定ガイド』 - 「CLUSTERPRO をインストールする」参照
オンプレミスと同様
CLUSTERPROインストール後
項番
手順
オンプレミス
Microsoft Azure
10
CLUSTERPRO のライセンスを登録
『インストール&設定ガイド』 - 「ライセンスを登録する」参照
オンプレミスと同様
11
クラスタの作成-ハートビート方式の設定
『インストール&設定ガイド』 - 「クラスタ構成情報を作成する」-「2 ノードクラスタ構成情報の作成手順」参照。
COMハートビート、BMCハートビート、ディスクハートビートは使用できません。
12
クラスタの作成-NP解決処理の設定
ネットワークパーティション解決リソースを使用。以下を参照。本書「2.3. ネットワークパーティション解決」を参照。
13
クラスタの作成-フェイルオーバグループの作成、モニタリソースの作成
『インストール&設定ガイド』 - 「クラスタ構成情報を作成する」-「2 ノードクラスタ構成情報の作成手順」参照
オンプレミスに加え、以下を参照。◇AWS DNSリソースを使用する場合・本書「4.4. CLUSTERPROの設定」◇ロードバランサーを使用する場合使用するロードバランサーにより以下のいずれかを参照・本書「5.4. CLUSTERPROの設定」・本書「6.4. CLUSTERPROの設定」
3. 動作環境¶
以下のマニュアルを参照してください。
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
Cluster1
サーバ名
node1
node2
タイムアウトタブ - ハートビートタイムアウト
120
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
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
テナント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
モニタリソース一覧
genw1ipw1ipw2回復動作
最終動作のみ実行
回復対象
LocalServer
4.2. Microsoft Azureの設定¶
Microsoft Azure ポータル(https://portal.azure.com/)にログインし、 4.1. 構築例について を参考に以下の設定を行います。
リソースグループの作成
リソースを管理するリソースグループを作成します。
仮想ネットワークの作成
仮想ネットワークを作成します。
仮想マシンの作成
クラスタを構成する仮想マシンの数だけ作成します。
プライベートIPアドレスの設定
IP アドレスは初期設定では動的割り当てとなっているため、静的割り当てに変更します。※ネットワークインターフェイスのIP構成から割り当てを変更します。※変更後は新しいプライベートIP アドレスを利用できるようにするために、仮想マシンが自動的に再起動されます。DNSゾーンの作成
DNSゾーンを作成します。
4.3. インスタンスの設定¶
ミラーディスクの準備
ミラーディスクリソース用のパーティションを設定します。ミラーディスク用のパーティションについては、『インストール&設定ガイド』の「システム構成を決定する」-「ミラーディスクリソース用のパーティションを設定する (Replicator 使用時は必須)」を参照してください。OS 起動時間の調整、ネットワーク設定の確認、ルートファイルシステムの確認、ファイアウォールの設定を確認、サーバの時刻を同期、SELinuxの設定を確認
Azure CLIのインストール
Azure CLI を npm パッケージからインストールする手順を説明します。詳細な手順や他の手段については、以下のWeb サイトを参照してください。Azure CLI のインストール:必ず以下の方法でインストールしてください。それ以外の方法によるインストールでは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
サービス プリンシパルの作成
Azure CLI を使用して、サービス プリンシパルを作成します。Azure DNSリソースは Microsoft Azure にログインし、DNSゾーンへの登録や監視を実行します。Microsoft Azure へのログイン時、サービス プリンシパルによる Azure ログインを利用します。本書ではセキュリティ観点から証明書ベースの認証を記載しています。証明書には有効期限があることに注意してください。詳細は az ad sp create-for-rbac の --years オプションを参照してください。サービスプリンシパルや詳細な手順については、以下のWeb サイトを参照してください。
Azure CLI を使用してサインインする:Azure CLI で Azure サービス プリンシパルを作成する:組織のアカウントでログインします。
$ az login -u <アカウント名> -p <パスワード>
サービス プリンシパルを作成し、登録します。Cluster WebUI の Azure DNS リソース設定時に入力必要なため、表示される appID および tenant はメモしてください。以下の例では、/home/testlogin/tmpbyJ1cK.pem にサービス プリンシパルが作成されます。証明書の有効期限を10年に指定しています。
$ az ad sp create-for-rbac --display-name azure-test --create-cert --years 10 --role Contributor --scopes <サービス プリンシパルのロールの割り当てが適用されるスコープ> { "appId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "displayName": "azure-test", "fileWithCertAndPrivateKey": "/home/testlogin/tmpbyJ1cK.pem", "password": null, "tenant": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }
ログアウトします。
$ az logout --username <アカウント名>
作成されたサービス プリンシパルを利用して、Microsoft Azure へログインできるか確認します。
$ az login --service-principal -u <上記のappIDの値> --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": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "type": "servicePrincipal" } } ]
ログアウトします。
$ az logout --username <上記のnameの値>
作成されたサービスプリンシパルのロールを既定のContributor(共同作成者)から別のロールに変更する場合、Actionsプロパティとして以下のすべての操作へのアクセス権を持つロールを選択してください。この条件を満たさないロールに変更した場合、後程設定する Azure DNS モニタリソースによる監視がエラーにより失敗します。
Microsoft.Network/dnsZones/A/write
Microsoft.Network/dnsZones/A/delete
Microsoft.Network/dnsZones/NS/read
CLUSTERPROのインストール
インストール手順は 『インストール&設定ガイド』を参照してください。インストール完了後、OSの再起動を行ってください。CLUSTERPROのライセンスを登録
ライセンス登録手順は 『インストール&設定ガイド』を参照してください。
4.4. CLUSTERPROの設定¶
Cluster WebUI のセットアップ、および接続方法は『インストール&設定ガイド』 - 「クラスタ構成情報を作成する」を参照してください。
以下のリソース/モニタリソースを追加する手順を記述します。
ミラーディスクリソース
Azure DNSリソース
Azure DNSモニタリソース
カスタムモニタリソース(NP解決用)
IPモニタリソース(NP解決用)
マルチターゲットモニタリソース(NP解決用)
上記以外の設定は、『インストール&設定ガイド』、『リファレンスガイド』を参照してください。
クラスタの作成
最初に、クラスタ生成ウィザードを開始し、クラスタを構築します。
クラスタの構築
Cluster WebUI にアクセスし、[クラスタ生成ウィザード] をクリックします。
- [クラスタ生成ウィザード]の[クラスタ]が表示されます。[クラスタ名] に任意のクラスタ名を入力します。[言語] を適切に選択します。[次へ] をクリックします。
- [基本設定]が表示されます。Cluster WebUI に接続したインスタンスがマスタサーバとして登録済みの状態で表示されます。[追加] をクリックし、残りのインスタンスを追加します(インスタンスのPrivate IP アドレスを指定します)。[次へ] をクリックします。
- [インタコネクト] 画面が表示されます。インタコネクトのために使用するIPアドレス(各インスタンスのPrivate IP アドレス)を指定します。また、後で作成するミラーディスクリソースの通信経路として [MDC] に mdc1 を選択します。[次へ] をクリックします。
- [NP解決] 画面が表示されます。ただし、NP解決は本画面では設定せず、 別途IP モニタリソース、カスタムモニタリソース、マルチターゲットモニタリソースを追加することによって同等のことを実現します。NP解決の設定は、後述の「3 モニタリソースの追加」で行います。クラスタシステムにアクセスするクライアントの配置やオンプレミス環境との接続条件(専用線接続など)によって、NP解決先やNP解決の方法は、その都度検討する必要があります。推奨のNP解決先やNP解決の方法はありません。NP 解決にネットワークパーティション解決リソースを利用することも可能です。[次へ] をクリックします。
グループリソースの追加
グループの定義
フェイルオーバグループを作成します。
- [グループ一覧] 画面が表示されます。[追加]をクリックします
- [グループの定義] 画面が表示されます。[名前] にフェイルオーバグループ名(failover1)を設定します。[次へ] をクリックします。
- [起動可能サーバ] 画面が表示されます。何も指定せず [次へ] をクリックします。
- [グループ属性] 画面が表示されます。何も指定せず [次へ] をクリックします。
- [グループリソース一覧]が表示されます。以降の手順で、この画面でグループリソースを追加していきます。
ミラーディスクリソース
ミラーディスクリソースを作成します。詳細は 『リファレンスガイド』 -「ミラーディスクリソースを理解する」を参照してください。[グループリソース一覧] で [追加] をクリックします。
- [グループ のリソース定義 | failover1] 画面が開きます。[タイプ] ボックスでグループリソースのタイプ(ミラーディスクリソース) を選択し、[名前] ボックスにグループ名 (md) を入力します。[次へ] をクリックします。
- [依存関係] 画面が表示されます。何も指定せず [次へ] をクリックします。
- [復旧動作] 画面が表示されます。[次へ] をクリックします。
- [詳細] 画面が表示されます。[データパーティションデバイス名] [クラスタパーティションデバイス名] に「6. 仮想マシンの設定」で作成したパーティションのデバイス名を入力します。[マウントポイント]、[ファイルシステム]を入力します。 [完了] をクリックして設定を終了します。
Azure DNSリソース
Azure DNS に対してレコードを登録、解除する仕組みを提供します。Azure DNSリソースの詳細は 『リファレンスガイド』 - 「Azure DNS リソースを理解する」を参照してください。[グループリソース一覧] で [追加] をクリックします。
[グループ のリソース定義 | failover1] 画面が開きます。[タイプ] ボックスでグループリソースのタイプ (Azure DNSリソース) を選択して、[名前] ボックスにグループ名 (azuredns1) を入力します。[次へ] をクリックします。
- [依存関係] 画面が表示されます。何も指定せず [次へ] をクリックします。
- [復旧動作] 画面が表示されます。[次へ] をクリックします。
- [レコードセット名]、[ゾーン名]、[IPアドレス]、[リソースグループ名]、[ユーザURI]、[テナントID]、[サービスプリンシパルのファイルパス]、[サービスプリンシパルのthumbprint]、[Azure CLI ファイルパス] に値を入力します。[IPアドレス] は各サーバのIPアドレスを使用する場合、各サーバのタブでIPアドレスを入力します。サーバ別の設定を行う場合は [共通] タブでは、任意のサーバのIPアドレスを記載し、他のサーバは個別設定を行うようにしてください。[サービスプリンシパルのthumbprint] は、Azure CLI 1.0 (Azure クラシック CLI) 使用時のみ入力が必要です。[ユーザURI] には「9. サービス プリンシパルの作成」でメモした appID を指定してください。[テナントID] には「9. サービス プリンシパルの作成」でメモした tenant を指定してください。
[完了] をクリックします。
モニタリソースの追加
Azure DNS モニタリソース
Azure DNS に登録したレコードセットの確認および名前解決確認の監視機構を提供します。Azure DNS モニタリソースの詳細は 『リファレンスガイド』 -「Azure DNS モニタリソースを理解する」を参照してください。Azure DNS リソースを1つ追加すると、Azure DNS モニタリソースが1つ自動的に作成されます。カスタムモニタリソース
Microsoft Azure の Service Management API へ疎通可能かどうかを監視し、外部ネットワークとの通信の健全性を監視するためのスクリプトを設定します。カスタムモニタリソースの詳細は『リファレンスガイド』 -「カスタムモニタリソースを理解する」を参照してください。[モニタリソース一覧] で [追加] をクリックします。
[タイプ] ボックスでモニタリソースのタイプ (カスタムモニタ) を選択し、[名前] ボックスにモニタリソース名 (genw1) を入力します。[次へ] をクリックします。
- [監視(共通)] 画面が表示されます。[監視タイミング] を [常時] であることを確認し、[次へ] をクリックします。
- [監視(固有)] 画面が表示されます。[この製品で作成したスクリプト] をチェックします。
作成するスクリプトのサンプルは以下のとおりです。
#! /bin/sh <CLUSTERPROインストールパス>/bin/clpazure_port_checker -h management.core.windows.net -p 443 exit $?
[監視タイプ] を [同期] にチェックします。[次へ] をクリックします。
- [回復動作] 画面が表示されます。[回復動作] に [最終動作のみ実行]、[回復対象] に [LocalServer]、[最終動作] に [何もしない]を設定します。
[完了] をクリックして設定を終了します。
IPモニタリソース
仮想マシンで構成されたクラスタ間の通信を監視し、内部ネットワークとの通信の健全性を監視する IP モニタリソースを作成します。IPモニタリソースの詳細は『リファレンスガイド』 -「IP モニタリソースを理解する」を参照してください。[モニタリソース一覧] で [追加] をクリックします。
[タイプ] ボックスでモニタリソースのタイプ (IPモニタ) を選択し、[名前] ボックスにモニタリソース名 (ipw1) を入力します。[次へ] をクリックします。
- [監視(共通)] 画面が表示されます。[監視タイミング] が [常時] であることを確認します。
[監視を行うサーバを選択する] で起動可能なサーバをひとつ選択し追加します。
[次へ] をクリックします。
[監視(固有)] 画面が表示されます。
[共通] タブの [IPアドレス一覧] で [追加] を選択し、3 で選択したサーバとは別のサーバのIPアドレスを設定します。[次へ] をクリックします。
- [回復動作] 画面が表示されます。[回復動作] に [最終動作のみ実行]、[回復対象] に [LocalServer]、[最終動作] に [何もしない] を設定します。
[完了] をクリックして設定を終了します。
次にもう一方のサーバでも、同様のモニタリソースを作成します。[モニタリソース一覧] で [追加] をクリックします。
[タイプ] ボックスでモニタリソースのタイプ (IPモニタ) を選択し、[名前] ボックスにモニタリソース名 (ipw2) を入力します。[次へ] をクリックします。
- [監視(共通)] 画面が表示されます。[監視タイミング] が [常時] であることを確認します。[監視を行うサーバを選択する] で起動可能なサーバをひとつ選択し追加します。[次へ] をクリックします。
- [監視(固有)] 画面が表示されます。[共通] タブの [IPアドレス一覧] で [追加] を選択し、9 で選択したサーバとは別のサーバのIPアドレスを設定します。[次へ] をクリックします。
- [回復動作] 画面が表示されます。[回復動作] に [最終動作のみ実行]、[回復対象] に [LocalServer]、[最終動作] に [何もしない] を設定します。
[完了] をクリックして設定を終了します。
マルチターゲットモニタリソース
Microsoft AzureのService Management APIへの通信を監視するカスタムモニタリソースと、仮想マシンで構成されたクラスタ間のIP モニタリソースの両方の状態を確認するマルチターゲットモニタリソースを作成します。両方のモニタリソースの状態が異常となった際に、NP解決用の処理を記載したスクリプトを実行します。マルチターゲットモニタリソースの詳細は『リファレンスガイド』 -「マルチターゲットモニタリソースを理解する」を参照してください。[モニタリソース一覧] で [追加] をクリックします。
[タイプ] ボックスでモニタリソースのタイプ (マルチターゲットモニタ) を選択し、[名前] ボックスにモニタリソース名 (mtw1) を入力します。[次へ] をクリックします。
- [監視(共通)] 画面が表示されます。[監視タイミング] が [常時] であることを確認し、[次へ] をクリックします。
- [監視(固有)] 画面が表示されます。利用可能なモニタリソース一覧から [追加] を選択し、Service Management APIへの疎通確認用カスタムモニタリソース、両サーバに設定したそれぞれのIPモニタリソースの3つのモニタリソースを追加します(genw1、ipw1、ipw2)。[次へ] をクリックします。
- [回復動作] 画面が表示されます。[回復動作] に [最終動作のみ実行]、[回復対象] に [LocalServer]、[最終動作] に [クラスタサービス停止とOSシャットダウン] を設定します。
[完了] をクリックして設定を終了します。
クラスタプロパティの設定
クラスタプロパティの詳細は『リファレンスガイド』 -「クラスタプロパティ」を参照してください。
クラスタプロパティ
Microsoft Azure と CLUSTERPRO の連携用に、クラスタプロパティ内の設定を以下のように設定します。
Cluster WebUI から設定モードへ移動し、クラスタ名のプロパティアイコンをクリックします。
[タイムアウト] タブを選択します。ハートビートの[タイムアウト]に以下の 「A + B + C」の結果を設定します。
A :NP 解決用のマルチターゲットモニタリソースで監視しているモニタリソースの[インターバル] × ([リトライ回数] + 1)
※ 3つあるモニタリソースのうち上記計算式の結果が大きい方を選択してください。
B :マルチターゲットモニタリソースの [インターバル] × ([リトライ回数] + 1)
C :30秒(マルチターゲットモニタリソースでの異常検出前にハートビートがタイムアウトしないようにするための猶予時間。適宜変更可能)
注釈
ハートビートのタイムアウト値が、NP 解決用のモニタで異常を検出する時間より短い場合、NP 解決処理が動作する前にハートビートのタイムアウトを検出します。この場合、待機サーバでサービスが起動され、クラスタ内でサービスの二重起動が発生する可能性があります。
[OK] をクリックします。
設定の反映とクラスタの起動
- Cluster WebUI の設定モードから、[設定の反映] をクリックします。「設定を反映しますか。」 というポップアップメッセージが表示されるので、[OK] をクリックします。アップロードに成功すると、[反映に成功しました。] のメッセージが表示されますので、[OK] をクリックします。アップロードに失敗した場合は、表示されるメッセージに従って操作を行ってください。
Cluster WebUI のツールバーのドロップダウンメニューで [操作モード] を選択して、操作モードに切り替えます。
使用するリソースによって以降の手順が異なります。詳細は『インストール&設定ガイド』 - 「クラスタを生成するには」を参照してください。
4.5. 動作確認¶
フェイルオーバグループ(failover1)が、現用系ノードのnode1で起動します。Cluster WebUI [ステータス]タブにおいてfailover1がnode1で[起動済]になっていることを確認します。
Microsoft Azure ポータルにログインし、DNS ゾーンより cluster1.zone を選択後、[概要]を選択します。画面右上に表示されているDNS サーバー(画面例では、ネームサーバー 1、ネームサーバー 2、ネームサーバー 3、ネームサーバー 4)を確認します。
上記で確認したDNS サーバーに対し、nslookup コマンドで該当レコードセットが存在することを確認します。
$ nslookup test-record1.cluster1.zone <上記で確認したDNSサーバー>
Microsoft Azure ポータルにおいて、DNS ゾーンからA レコードを手動で削除します。これにより、azurednsw1 は監視異常を検出します。DNS ゾーンより cluster1.zone を選択し、[概要]を選択します。
削除するレコードを選択し、[削除]を選択します。削除確認にて[はい]を選択します。
azurednsw1 の[インターバル]後にフェイルオーバグループ(failover1)が異常になり、ノードnode2へフェイルオーバします。Cluster WebUI [ステータス]タブにおいてfailover1がnode2で[起動済]になっていることを確認します。
上記で確認した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
関連付け先
可用性セット
ターゲット仮想マシン
node-1node-2ネットワークIP 構成
10.5.0.11010.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
Cluster1
サーバ名
node1
node2
タイムアウトタブ - ハートビートタイムアウト
120
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
モニタリソース一覧
genw1ipw1ipw2回復動作
最終動作のみ実行
回復対象
LocalServer
最終動作前にスクリプトを実行する
オン
タイムアウト
30
5.2. Microsoft Azureの設定¶
Microsoft Azure ポータル(https://portal.azure.com/)にログインし、 4.1. 構築例について を参考に以下の設定を行います。
リソースグループの作成
リソースを管理するリソースグループを作成します。
仮想ネットワークの作成
仮想ネットワークを作成します。
仮想マシンの作成
クラスタを構成する仮想マシンの数だけ作成します。
プライベートIPアドレスの設定
IP アドレスは初期設定では動的割り当てとなっているため、静的割り当てに変更します。※ネットワークインターフェイスのIP構成から割り当てを変更します。※変更後は新しいプライベートIP アドレスを利用できるようにするために、仮想マシンが自動的に再起動されます。ロードバランサーの作成
ロードバランサーを作成します。詳細は以下のWebサイトを参照してください。
- Load Balancer のドキュメント:
※ ロードバランサーの種類は[パブリック]を選択し作成します。※ デプロイには数分掛かります。仮想マシンをバックエンドプールに紐付けます。
正常性プローブを設定します。
負荷分散規則を設定します。
受信セキュリティ規則を設定します。
ネットワーク セキュリティ グループの受信セキュリティ規則に負荷分散規則で設定したバックエンドポートを追加します。
5.3. インスタンスの設定¶
ミラーディスクの準備
ミラーディスクリソース用のパーティションを設定します。ミラーディスク用のパーティションについては、『インストール&設定ガイド』の「システム構成を決定する」-「ミラーディスクリソース用のパーティションを設定する (Replicator 使用時は必須)」を参照してください。OS 起動時間の調整、ネットワーク設定の確認、ルートファイルシステムの確認、ファイアウォールの設定を確認、サーバの時刻を同期、SELinuxの設定を確認
各手順は『インストール&設定ガイド』 - 「システム構成を決定する」-「ハードウェア構成後の設定」を参照してください。
CLUSTERPROのインストール
インストール手順は『インストール&設定ガイド』を参照してください。インストール完了後、OSの再起動を行ってください。CLUSTERPROのライセンスを登録
ライセンス登録手順は『インストール&設定ガイド』を参照してください。
5.4. CLUSTERPROの設定¶
Cluster WebUI のセットアップ、および接続方法は『インストール&設定ガイド』 - 「クラスタ構成情報を作成する」を参照してください。
以下のリソース/モニタリソースを追加する手順を記述します。
ミラーディスクリソース
Azure プローブポートリソース
Azure プローブポートモニタリソース
Azure ロードバランスモニタリソース
カスタムモニタリソース(NP解決用)
IPモニタリソース(NP解決用)
マルチターゲットモニタリソース(NP解決用)
上記以外の設定は、『インストール&設定ガイド』、『リファレンスガイド』を参照してください。
クラスタの作成
最初に、クラスタ生成ウィザードを開始し、クラスタを構築します。
クラスタの構築
Cluster WebUI にアクセスし、[クラスタ生成ウィザード] をクリックします。
[クラスタ生成ウィザード]の[クラスタ]が表示されます。
[クラスタ名] に任意のクラスタ名を入力します。[言語] を適切に選択します。[次へ] をクリックします。- [基本設定] 画面が表示されます。Cluster WebUI に接続したインスタンスがマスタサーバとして登録済みの状態で表示されます。[追加] をクリックし、残りのインスタンスを追加します(インスタンスのPrivate IP アドレスを指定します)。[次へ] をクリックします。
- [インタコネクト] 画面が表示されます。インタコネクトのために使用するIPアドレス(各インスタンスのPrivate IP アドレス)を指定します。また、後で作成するミラーディスクリソースの通信経路として [MDC] に mdc1 を選択します。[次へ] をクリックします。
- [NP解決] 画面が表示されます。ただし、NP解決は本画面では設定せず、 別途IP モニタリソース、カスタムモニタリソース、マルチターゲットモニタリソースを追加することによって同等のことを実現します。NP解決の設定は、後述の「3 モニタリソースの追加」 で行います。クラスタシステムにアクセスするクライアントの配置やオンプレミス環境との接続条件(専用線接続など)によって、NP解決先やNP解決の方法は、その都度検討する必要があります。推奨のNP解決先やNP解決の方法はありません。NP 解決にネットワークパーティション解決リソースを利用することも可能です。[次へ] をクリックします。
グループリソースの追加
グループの定義
フェイルオーバグループを作成します。
[グループ一覧] 画面が表示されます。
[追加]をクリックします。
[グループの定義] 画面が表示されます。
[名前] にフェイルオーバグループ名(failover1)を設定します。[次へ] をクリックします。
- [起動可能サーバ] 画面が表示されます。何も指定せず [次へ] をクリックします。
- [グループ属性] 画面が表示されます。何も指定せず [次へ] をクリックします。
- [グループリソース一覧] 画面が表示されます。以降の手順で、この画面でグループリソースを追加していきます。
ミラーディスクリソース
ミラーディスクリソースを作成します。詳細は 『リファレンスガイド』 -「ミラーディスクリソースを理解する」を参照してください。[グループリソース一覧] で [追加] をクリックします。
- [グループ のリソース定義 | failover1] 画面が開きます。[タイプ] ボックスでグループリソースのタイプ(ミラーディスクリソース) を選択し、[名前] ボックスにグループ名 (md) を入力します。[次へ] をクリックします。
- [依存関係] 画面が表示されます。何も指定せず [次へ] をクリックします。
- [復旧動作] 画面が表示されます。[次へ] をクリックします。
- [詳細] 画面が表示されます。[データパーティションデバイス名]、[クラスタパーティションデバイス名] に「5. 仮想マシンの設定」で作成したパーティションのデバイス名を入力します。[マウントポイント]、[ファイルシステム]を入力します。[完了] をクリックして設定を終了します。
Azure プローブポートリソース
Microsoft Azure 上で CLUSTERPRO を利用する場合、業務が稼働するノードの特定のポートでロードバランサーからの死活監視を待ち受ける仕組みを提供します。Azure プローブポートリソースの詳細は『リファレンスガイド』 -「Azure プローブポートリソースを理解する」を参照してください。[グループリソース一覧] で [追加] をクリックします。
[グループ のリソース定義 | failover1] 画面が開きます。[タイプ] ボックスでグループリソースのタイプ (Azure プローブポートリソース) を選択して、[名前] ボックスにグループ名 (azurepp1) を入力します。[次へ] をクリックします。
- [依存関係] 画面が表示されます。何も指定せず [次へ] をクリックします。
- [復旧動作] 画面が表示されます。[次へ] をクリックします。
[プローブポート] にロードバランサーの設定(正常性プローブの設定)時に [ポート] として指定した値を入力します。
[完了] をクリックします。
モニタリソースの追加
Azure プローブポートモニタリソース
Microsoft Azure プローブポートリソースが起動しているノードに対して、死活監視のためのポートの監視機構を提供します。Azure プローブポートモニタリソースの詳細は『リファレンスガイド』 -「Azure プローブポートモニタリソースを理解する」を参照してください。Azure プローブポートリソースを1つ追加すると、Azure プローブポートモニタリソースが1つ自動的に作成されます。Azure ロードバランスモニタリソース
Microsoft Azure プローブポートリソースが起動していないノードに対して、プローブポートと同じポート番号が開放されていないかの監視機構を提供します。Azure ロードバランスモニタリソースの詳細は『リファレンスガイド』 -「Azure ロードバランスモニタリソースを理解する」を参照してください。Azure プローブポートリソースを1つ追加すると、Azure ロードバランスモニタリソースが1つ自動的に作成されます。カスタムモニタリソース
Microsoft Azure の Service Management API へ疎通可能かどうかを監視し、外部ネットワークとの通信の健全性を監視するためのスクリプトを設定します。カスタムモニタリソースの詳細は『リファレンスガイド』 -「カスタムモニタリソースを理解する」を参照してください。[モニタリソース一覧] で [追加] をクリックします。
[タイプ] ボックスでモニタリソースのタイプ (カスタムモニタ) を選択し、[名前] ボックスにモニタリソース名 (genw1) を入力します。[次へ] をクリックします。
- [監視(共通)] 画面が表示されます。[監視タイミング] を [常時] であることを確認し、[次へ] をクリックします。
- [監視(固有)] 画面が表示されます。[この製品で作成したスクリプト] をチェックします。作成するスクリプトのサンプルは以下のとおりです。
#! /bin/sh <CLUSTERPROインストールパス>/bin/clpazure_port_checker ?h management.core.windows.net -p 443 exit $?
[監視タイプ] を [同期] にチェックします。[次へ] をクリックします。
- [回復動作] 画面が表示されます。[回復動作] に [最終動作のみ実行]、[回復対象] に [LocalServer]、[最終動作] に [何もしない]を設定します。
[完了] をクリックして設定を終了します。
IPモニタリソース
仮想マシンで構成されたクラスタ間の通信を監視し、内部ネットワークとの通信の健全性を監視する IP モニタリソースを作成します。IPモニタリソースの詳細は『リファレンスガイド』 -「IP モニタリソースを理解する」を参照してください。[モニタリソース一覧] で [追加] をクリックします。
[タイプ] ボックスでモニタリソースのタイプ (IPモニタ) を選択し、[名前] ボックスにモニタリソース名 (ipw1) を入力します。[次へ] をクリックします。
- [監視(共通)] 画面が表示されます。[監視タイミング] が [常時] であることを確認します。
[監視を行うサーバを選択する] で起動可能なサーバをひとつ選択し追加します。
[次へ] をクリックします。
[監視(固有)] 画面が表示されます。
[共通] タブの [IPアドレス一覧] で [追加] を選択し、3 で選択したサーバとは別のサーバのIPアドレスを設定します。[次へ] をクリックします。
- [回復動作] 画面が表示されます。[回復動作] に [最終動作のみ実行]、[回復対象] に [LocalServer]、[最終動作] に [何もしない] を設定します。
[完了] をクリックして設定を終了します。
次にもう一方のサーバでも、同様のモニタリソースを作成します。[モニタリソース一覧] で [追加] をクリックします。
[タイプ] ボックスでモニタリソースのタイプ (IPモニタ) を選択し、[名前] ボックスにモニタリソース名 (ipw2) を入力します。[次へ] をクリックします。
- [監視(共通)] 画面が表示されます。[監視タイミング] が [常時] であることを確認します。[監視を行うサーバを選択する] で起動可能なサーバをひとつ選択し追加します。[次へ] をクリックします。
- [監視(固有)] 画面が表示されます。[共通] タブの [IPアドレス一覧] で [追加] を選択し、9 で選択したサーバとは別のサーバのIPアドレスを設定します。[次へ] をクリックします。
- [回復動作] 画面が表示されます。[回復動作] に [最終動作のみ実行]、[回復対象] に [LocalServer]、[最終動作] に [何もしない] を設定します。
[完了] をクリックして設定を終了します。
マルチターゲットモニタリソース
Microsoft AzureのService Management APIへの通信を監視するカスタムモニタリソースと、仮想マシンで構成されたクラスタ間のIP モニタリソースの両方の状態を確認するマルチターゲットモニタリソースを作成します。両方のモニタリソースの状態が異常となった際に、NP解決用の処理を記載したスクリプトを実行します。マルチターゲットモニタリソースの詳細は『リファレンスガイド』 -「マルチターゲットモニタリソースを理解する」を参照してください。[モニタリソース一覧] で [追加] をクリックします。
[タイプ] ボックスでモニタリソースのタイプ (マルチターゲットモニタ) を選択し、[名前] ボックスにモニタリソース名 (mtw1) を入力します。[次へ] をクリックします。
- [監視(共通)] 画面が表示されます。[監視タイミング] が [常時] であることを確認し、[次へ] をクリックします。
- [監視(固有)] 画面が表示されます。利用可能なモニタリソース一覧から [追加] を選択し、Service Management APIへの疎通確認用カスタムモニタリソース、両サーバに設定したそれぞれのIPモニタリソースの3つのモニタリソースを追加します(genw1、ipw1、ipw2)。[次へ] をクリックします。
- [回復動作] 画面が表示されます。[回復動作] に [最終動作のみ実行]、[最終動作前にスクリプトを実行する]をチェック、[回復対象] に [LocalServer]、[最終動作] に [何もしない] を設定します。[スクリプト設定] をクリックし、マルチターゲットモニタリソースが異常検出時に実行するスクリプトを作成します。
- スクリプトの編集ダイアログが表示されます。[この製品で作成したスクリプト] をチェックし、スクリプトを [編集] します。作成するスクリプトのサンプルは以下のとおりです。・ロードバランサーの負荷分散規則 - バックエンドポート・ロードバランサーの負荷分散規則 - ポート・ロードバランサーのフロントエンド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] をクリックします。 [完了] をクリックして設定を終了します。
クラスタプロパティの設定
クラスタプロパティの詳細は『リファレンスガイド』-「クラスタプロパティ」を参照してください。
クラスタプロパティ
Microsoft Azure と CLUSTERPRO の連携用に、クラスタプロパティ内の設定を以下のように設定します。
Cluster WebUI から設定モードへ移動し、クラスタ名のプロパティアイコンをクリックします。
[タイムアウト] タブを選択します。ハートビートの[タイムアウト]に以下の 「A + B + C」の結果を設定します。
A :NP 解決用のマルチターゲットモニタリソースで監視しているモニタリソースの[インターバル] × ([リトライ回数] + 1)
※3つあるモニタリソースのうち上記計算式の結果が大きい方を選択してください。
B :マルチターゲットモニタリソースの [インターバル] × ([リトライ回数] + 1)
C :30秒(マルチターゲットモニタリソースでの異常検出前にハートビートがタイムアウトしないようにするための猶予時間。適宜変更可能)
注釈
ハートビートのタイムアウト値が、NP 解決用のモニタで異常を検出する時間より短い場合、NP 解決処理が動作する前にハートビートのタイムアウトを検出します。この場合、待機サーバでサービスが起動され、クラスタ内でサービスの二重起動が発生する可能性があります。
[OK] をクリックします。
設定の反映とクラスタの起動
- Cluster WebUI の設定モードから、[設定の反映] をクリックします。「設定を反映しますか。」 というポップアップメッセージが表示されるので、[OK] をクリックします。アップロードに成功すると、[反映に成功しました。] のメッセージが表示されますので、[OK] をクリックします。アップロードに失敗した場合は、表示されるメッセージに従って操作を行ってください。
Cluster WebUI のツールバーのドロップダウンメニューで [操作モード] を選択して、操作モードに切り替えます。
使用するリソースによって以降の手順が異なります。詳細は『インストール&設定ガイド』 - 「クラスタを生成するには」を参照してください。
5.5. 動作確認¶
フェイルオーバグループ(failover1)が、現用系ノードのnode1で起動します。Cluster WebUI [ステータス] タブにおいてfailover1がnode1で [起動済] になっていることを確認します。
Cluster WebUIのプルダウンより [操作モード] から [検証モード] に変更します。
Cluster WebUI [ステータス] タブで [モニタ] 内のazureppw1を開き、node1 の [擬似障害発生] を選択します。
- 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
関連付け先
可用性セット
ターゲット仮想マシン
node1node2ネットワークIP 構成
10.5.0.11010.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
Cluster1
サーバ名
node1
node2
NP解決タブ - 種別
Ping
Ping
NP解決タブ - ターゲット
10.5.0.5
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. 構築例について を参考に以下の設定を行います。
リソースグループの作成
リソースを管理するリソースグループを作成します。
仮想ネットワークの作成
仮想ネットワークを作成します。
仮想マシンの作成
クラスタを構成する仮想マシンの数だけ作成します。
プライベートIPアドレスの設定
IP アドレスは初期設定では動的割り当てとなっているため、静的割り当てに変更します。※ネットワークインターフェイスのIP構成から割り当てを変更します。※変更後は新しいプライベートIP アドレスを利用できるようにするために、仮想マシンが自動的に再起動されます。ロードバランサーの作成
ロードバランサーを作成します。詳細は以下のWebサイトを参照してください。
- Load Balancer のドキュメント:
※ ロードバランサーの種類は[内部]を選択し作成します。※ デプロイには数分掛かります。仮想マシンをバックエンドプールに紐付けます。
正常性プローブを設定します。
負荷分散規則を設定します。
DSRを使用する場合は、[ポート]と[バックエンドポート]に同一のポート番号を設定、[フローティングIP(Direct Server Return)]を有効に設定します。指定するポート番号は、業務を提供するアプリケーションへの接続に使用するポート番号を指定します(例.80)。DSR構成を作成する場合は以下を参照してください。
6.3. インスタンスの設定¶
ミラーディスクの準備
ミラーディスクリソース用のパーティションを設定します。ミラーディスク用のパーティションについては、『インストール&設定ガイド』の「システム構成を決定する」-「ミラーディスクリソース用のパーティションを設定する (Replicator 使用時は必須)」を参照してください。DSRを使用する場合、クラスタを構成する各ノードにおいてループバックアダプタを追加します。DSR構成を作成する場合は以下を参照してください。OS 起動時間の調整、ネットワーク設定の確認、ルートファイルシステムの確認、ファイアウォールの設定を確認、サーバの時刻を同期、SELinuxの設定を確認
各手順は『インストール&設定ガイド』 - 「システム構成を決定する」-「ハードウェア構成後の設定」を参照してください。
CLUSTERPROのインストール
インストール手順は『インストール&設定ガイド』を参照してください。インストール完了後、OSの再起動を行ってください。CLUSTERPROのライセンスを登録
ライセンス登録手順は『インストール&設定ガイド』を参照してください。
6.4. CLUSTERPROの設定¶
Cluster WebUI のセットアップ、および接続方法は『インストール&設定ガイド』 - 「クラスタ構成情報を作成する」を参照してください。
以下のリソース/モニタリソースを追加する手順を記述します。
ミラーディスクリソース
Azure プローブポートリソース
Azure プローブポートモニタリソース
Azure ロードバランスモニタリソース
PINGネットワークパーティション解決リソース(NP解決用)
上記以外の設定は、『インストール&設定ガイド』、『リファレンスガイド』を参照してください。
クラスタの作成
最初に、クラスタ生成ウィザードを開始し、クラスタを構築します。
クラスタの構築
Cluster WebUI にアクセスし、[クラスタ生成ウィザード] をクリックします。
- [クラスタ生成ウィザード] の [クラスタ] が表示されます。[クラスタ名] に任意のクラスタ名を入力します。[言語] を適切に選択します。[次へ] をクリックします。
- [基本設定]が表示されます。Cluster WebUI に接続したインスタンスがマスタサーバとして登録済みの状態で表示されます。[追加] をクリックし、残りのインスタンスを追加します(インスタンスのPrivate IP アドレスを指定します)。[次へ] をクリックします。
- [インタコネクト] 画面が表示されます。インタコネクトのために使用するIPアドレス(各インスタンスのPrivate IP アドレス)を指定します。また、後で作成するミラーディスクリソースの通信経路として [MDC] に mdc1 を選択します。[次へ] をクリックします。
- [NP解決] 画面が表示されます。PING方式のNP解決を行う場合、[追加] をクリックして [NP 解決一覧] に行を追加します。[種別] 列のセルをクリックし、[Ping] を選択します。ターゲット列のセルをクリックして Ping を送信する対象となる機器のIPアドレスを設定します。IPアドレスは、Microsoft Azure のネットワークの内部に存在するクラスタサーバ以外のサーバを設定してください。各サーバ列のセルをクリックして [使用する] [使用しない] を設定します。[次へ] をクリックします。
グループリソースの追加
グループの定義
フェイルオーバグループを作成します。
[グループ一覧] 画面が表示されます。
[追加]をクリックします。
- [グループの定義] 画面が表示されます。[名前] にフェイルオーバグループ名(failover1)を設定します。[次へ] をクリックします。
- [起動可能サーバ] 画面が表示されます。何も指定せず [次へ] をクリックします。
- [グループ属性] 画面が表示されます。何も指定せず [次へ] をクリックします。
- [グループリソース一覧] 画面が表示されます。以降の手順で、この画面でグループリソースを追加していきます。
ミラーディスクリソース
ミラーディスクリソースを作成します。詳細は 『リファレンスガイド』 -「ミラーディスクリソースを理解する」を参照してください。[グループリソース一覧] で [追加] をクリックします。
- [グループ のリソース定義 | failover1] 画面が開きます。[タイプ] ボックスでグループリソースのタイプ(ミラーディスクリソース) を選択し、[名前] ボックスにグループ名 (md) を入力します。[次へ] をクリックします。
- [依存関係] 画面が表示されます。何も指定せず [次へ] をクリックします。
- [復旧動作] 画面が表示されます。[次へ] をクリックします。
- [詳細] 画面が表示されます。[データパーティションデバイス名] [クラスタパーティションデバイス名] に「5. 仮想マシンの設定」で作成したパーティションのデバイス名を入力します。[マウントポイント]、[ファイルシステム]を入力します。 [完了] をクリックして設定を終了します。
Azure プローブポートリソース
Microsoft Azure 上で CLUSTERPRO を利用する場合、業務が稼働するノードの特定のポートでロードバランサーからの死活監視を待ち受ける仕組みを提供します。Azure プローブポートリソースの詳細は『リファレンスガイド』 -「Azure プローブポートリソースを理解する」を参照してください。[グループリソース一覧] で [追加] をクリックします。
[グループ のリソース定義 | failover1] 画面が開きます。[タイプ] ボックスでグループリソースのタイプ (Azure プローブポートリソース) を選択して、[名前] ボックスにグループ名 (azurepp1) を入力します。[次へ] をクリックします。
[依存関係] 画面が表示されます。何も指定せず [次へ] をクリックします。
[復旧動作] 画面が表示されます。[次へ] をクリックします。
[プローブポート] にロードバランサーの設定(正常性プローブの設定)時に [ポート] として指定した値を入力します。
[完了] をクリックします。
EXEC リソース(DSRを使用する場合)
EXEC リソースを追加することにより、ロードバランサーの切り替えに合わせて、ループバックアダプタにフロントエンドIPアドレスを追加/削除する仕組みを提供します。EXEC リソースの詳細は 『リファレンスガイド』-「EXEC リソースを理解する」を参照してください。[グループリソース一覧] で [追加] をクリックします。
[グループのリソース定義 | failover1] 画面が開きます。[タイプ] ボックスでグループリソースのタイプ (EXECリソース) を選択して、[名前] ボックスにグループ名 (exec1) を入力します。
[次へ] をクリックします。
[依存関係] 画面が表示されます。何も指定せず [次へ] をクリックします。
[復旧動作] 画面が表示されます。[次へ] をクリックします。
start.sh、stop.sh を選択し、[編集] をクリックします。スクリプトはCLUSTERPROオフィシャルブログ(https://jpn.nec.com/clusterpro/blog/20200528.html)を参考に設定してください。CLUSTERPROオフィシャルブログに掲載のスクリプトはサンプルです。環境に合わせてカスタマイズしてください。
[完了] をクリックします。
モニタリソースの追加
Azure プローブポートモニタリソース
Microsoft Azure プローブポートリソースが起動しているノードに対して、死活監視のためのポートの監視機構を提供します。Azure プローブポートモニタリソースの詳細は『リファレンスガイド』 -「Azure プローブポートモニタリソースを理解する」を参照してください。Azure プローブポートリソースを1つ追加すると、Azure プローブポートモニタリソースが1つ自動的に作成されます。Azure ロードバランスモニタリソース
Microsoft Azure プローブポートリソースが起動していないノードに対して、プローブポートと同じポート番号が開放されていないかの監視機構を提供します。Azure ロードバランスモニタリソースの詳細は『リファレンスガイド』 -「Azure ロードバランスモニタリソースを理解する」を参照してください。Azure プローブポートリソースを1つ追加すると、Azure ロードバランスモニタリソースが1つ自動的に作成されます。
設定の反映とクラスタの起動
- Cluster WebUI の設定モードから、[設定の反映] をクリックします。「設定を反映しますか。」 というポップアップメッセージが表示されるので、[OK] をクリックします。アップロードに成功すると、[反映に成功しました。] のメッセージが表示されますので、[OK] をクリックします。アップロードに失敗した場合は、表示されるメッセージに従って操作を行ってください。
Cluster WebUI のツールバーのドロップダウンメニューで [操作モード] を選択して、操作モードに切り替えます。
使用するリソースによって以降の手順が異なります。詳細は『インストール&設定ガイド』 - 「クラスタを生成するには」を参照してください。
6.5. 動作確認¶
- フェイルオーバグループ(failover1)が、現用系ノードのnode1で起動します。Cluster WebUI [ステータス] タブにおいてfailover1がnode1で[起動済]になっていることを確認します。DSRを使用する場合は、パケットキャプチャを実施し、クライアントのIPアドレスとロードバランサーのフロントエンドIPアドレスで通信が行われていることもあわせて確認します。
- Cluster WebUIのプルダウンより[操作モード]から[検証モード]に変更します。
- Cluster WebUI [ステータス] タブにおいてazureppw1の[擬似障害発生]アイコンを選択します。
- Azure プローブポートリソース(azurepp1)が3回再活性後に、フェイルオーバグループ(failover1)が異常になり、ノードnode2へフェイルオーバします。Cluster WebUI [ステータス]タブにおいてfailover1がnode2で [起動済] になっていることを確認します。また、AzureロードバランサーのフロントエンドIP、ポートに対してフェイルオーバ後も正常にアクセスできることを確認します。DSRを使用する場合は、パケットキャプチャを実施し、クライアントのIPアドレスとロードバランサーのフロントエンドIPアドレスで通信が行われていることもあわせて確認します。
8. 注意事項¶
以下のマニュアルを参照してください。
『スタートアップガイド』 -「注意制限事項」-「通信ポート番号」
Azure DNSを使用した HA クラスタの場合
ロードバランサーを使用した HA クラスタの場合
Azure のメモリ保持メンテナンス
Azure のメモリ保持メンテナンスにより、仮想マシンは最大で 30 秒間一時停止状態になる場合があります。メモリ保持メンテナンスについての詳細は以下を参照してください。[クラスタプロパティ]-[タイムアウト]タブ-[ハートビートタイムアウト]はメモリ保持メンテナンスを考慮した値を設定してください。また、[ハートビートタイムアウト]と併せて以下も調整してください。
OS の起動時間は[ハートビートタイムアウト]より長くなるよう調整してください。
[クラスタプロパティ]-[監視]タブ-[シャットダウン監視タイムアウト]にて、既定値(ハートビートのタイムアウトを使用する)から変更する場合、[ハートビートタイムアウト]以下となるよう調整してください。
以下のマニュアルも参照してください。
CLUSTERPRO で設定するディスクデバイス名
Azure 環境では運用中にデバイス名(例 /dev/sdb1)が変更される場合があります。そのため、ミラーディスクリソース等に設定するデバイス名は Azureの機能で設定されるシンボリックリンクを利用するか、または、LVMの論理ボリュームを設定することを推奨しています。ミラーディスクのデータパーティションをLVMで構成している場合、業務を停止することなくデータパーティションを拡張することができます。
Azure DNSを使用する場合の注意事項
CLUSTERPROがMicrosoft Azureと連携するためには、Microsoft Azureの組織アカウントが必要となります。組織アカウント以外のアカウントはAzure CLI実行時に対話形式でのログインが必要となるため使用できません。