1. はじめに

1.1. 対象読者と目的

本書は、クラスタシステムに関して、システムを構築する管理者、およびユーザサポートを行うシステムエンジニア、保守員を対象にしています。
ここでご紹介するソフトウェアや設定例は、あくまで参考情報としてご提供するものであり、各ソフトウェアの動作保証を行うものではありません。

1.2. 適用範囲

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

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

1.3. 本書の構成

1.4. CLUSTERPRO マニュアル体系

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

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 インストール&設定ガイド』を補完する役割を持ちます。

CLUSTERPRO X 互換機能ガイド』 (Legacy Feature Guide)

管理者、および CLUSTERPRO を使用したクラスタシステムの導入を行うシステムエンジニアを対象読者とし、CLUSTERPRO X4.0 WebManager および Builder に関する情報について記載します。

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. 機能概要

本書では、Oracle Cloud Infrastructure(以下、OCI と記す)のクラウド サービス上に、CLUSTERPRO X(以下、CLUSTERPRO と記す)によるHAクラスターを構築する方法を説明します。
OCI において、リージョンや可用性ドメインを使用し仮想マシンをHAクラスター化することで、業務の可用性を高めることができます。
  • リージョン

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

    OCI では、可用性ドメインと呼ばれる論理的なグループに各ノードを配置できます。
    異なる可用性ドメインに各ノードを配置することで、OCI の計画済みメンテナンスや物理ハードウェアの障害などの計画外メンテナンスによる影響を最小限に抑えることが可能です。
リージョン、可用性ドメインについては以下を参照してください。
リージョンと可用性ドメイン:

2.2. 基本構成

本書では、ロード・バランサを使用したHAクラスターを想定しています(片方向スタンバイクラスタの構成)。
HAクラスターについて、選択するCLUSTERPROのリソース、必要なOCIのサービスは以下のとおりです。

用途

選択する CLUSTERPRO のリソース

必要な OCI のサービス

仮想 IP アドレス(プライベート IP アドレス)でクライアントからアクセスしたい場合

Oracle Cloud 仮想 IP リソース

プライベート・ロード・バランサ

仮想 IP アドレス(グローバル IP アドレス)でクライアントからアクセスしたい場合

Oracle Cloud 仮想 IP リソース

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

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

クライアントアプリケーションは、OCI 環境の仮想マシンに対して、仮想 IP アドレス(以下、VIP と記載)を使用してクラスターを構成するノードに接続することができます。
VIP アドレスを使用することにより、フェイルオーバーまたは、グループの移動が発生しても、クライアントは、仮想マシンの切り替えを意識する必要がありません。
プライベート・ロード・バランサを使用したHAクラスターの場合、図 2.1 プライベート・ロード・バランサを使用したHAクラスター の OCI 環境上に構築したクラスタには、OCI のロード・バランサ(Load Balancer)の VIP を指定してアクセスします。VIP はロード・バランサに付与されたプライベート IP アドレスです。
2つのクライアントVMと、2つのサーバVM、およびロードバランサ

図 2.1 プライベート・ロード・バランサを使用したHAクラスター

パブリック・ロード・バランサを使用したHAクラスターの場合、図 2.2 パブリック・ロード・バランサを使用したHAクラスター の OCI 環境上に構築したクラスタには、OCI のロード・バランサ(Load Balancer)の VIP を指定してアクセスします。VIP はロード・バランサに付与されたグローバル IP アドレスです。
クラスターの現用系と待機系は、OCI のロード・バランサにおけるヘルス・チェックを利用して切り替えます。ヘルス・チェックには Oracle Cloud 仮想 IP リソースが提供するポートを利用します。
インターネット上のクライアントと、2つのサーバVM、およびロードバランサ

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

ロード・バランサについては以下を参照してください。
ロード・バランシングの概要:
ロード・バランサを使用したHAクラスター構成において必要なリソース、モニタリソースは以下のとおりです。

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

説明

設定

Oracle Cloud 仮想 IP リソース

業務が稼働するノードの特定のポートでロード・バランサからの死活監視(ヘルス・チェック用のポートへのアクセス)を待ち受ける仕組みを提供します。
活性時にOCIのロード・バランサからの死活監視を待ち受けるための制御プロセスを起動します。
非活性時には死活監視を待ち受けるための制御プロセスを停止します。

必須

Oracle Cloud 仮想 IP モニタリソース

Oracle Cloud 仮想 IP リソースが起動しているノードに対して、Oracle Cloud 仮想 IP リソース活性時に起動する制御プロセスの死活監視を行います。

必須

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

Oracle Cloud 仮想 IP リソースが起動していないノードに対して、ヘルス・チェック用ポートと同じポート番号が開放されていないかを監視します。

必須

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

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

任意

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

HAクラスターを構成している仮想マシンは、お互いにハートビートによって死活監視を行っています。
各仮想マシンが異なるサブネットに分散している構成においては、ハートビートが途絶えた時に、サービスの二重起動など望ましくない状態が発生します。
サービスの二重起動を回避するために、他の仮想マシンがダウンしたか、自身がネットワークから孤立した状態(ネットワークパーティション状態。以下、NP状態と記す)かのどちらであるかを区別する必要があります。
ネットワークパーティション解決(以下、NP解決と記す)は、Pingなどの応答を返却可能な常時稼働している装置(応答確認先)に対してPing確認を行い、応答がない場合はNP状態が発生したと判断し、設定された処理(警告、回復処理、サーバダウン処理など)を行います。
ハートビート 及び NP解決の構成については以下を参考にしてください。
下記の図に対応した、ハートビート 及び NP解決の種別は以下の通りです。

ハートビート/NP解決種別

種類

(1)

カーネルモードLANハートビートリソース

(2)

カーネルモードLANハートビートリソース

(3)

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

(4)

ディスクハートビートリソース

ハートビート 及び NP解決構成(ミラーディスク型クラスター)

Witnessサーバと2つのサーバVM

図 2.3 ハートビート 及び NP解決構成(ミラーディスク型クラスター)

ハートビート 及び NP解決構成(共有ディスク型クラスター)

Witnessサーバと2つのサーバVM、共有ディスク

図 2.4 ハートビート 及び NP解決構成(共有ディスク型クラスター)

Witnessハートビートリソースを使用することで、クラスタ外に用意された Witness Server に対するアクセス情報を元に、相手サーバの生存を確認することができます。
また、HTTP ネットワークパーティション解決リソースと併用することで、全ての通信路(ハートビート)に障害が発生し、ネットワーク的に分断された状態になった場合(ネットワークパーティション状態)に、データの保護を目的とした緊急シャットダウンなどの動作を行います。
なお、クラスタシステムにアクセスするクライアントの配置やオンプレミス環境との接続条件(専用線接続など)によって、NP解決先やNP解決の方法はその都度検討する必要があります。
ハートビートリソースやNP解決については、以下を参照してください。

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

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

機能

オンプレミス

OCI

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

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

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

n/a

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

n/a

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

3. 動作環境

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

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

4. ミラーディスク型クラスター構築手順

4.1. 構築例について

本書では、OCI において、CLUSTERPRO を使用した2ノードでの片方向スタンバイクラスタの構築手順を紹介します。
OCI 上の同じ 仮想クラウド・ネットワーク(以下、VCN と記す)内のクライアントからアクセス可能な HAクラスターを構築します。
本手順は、server1 を現用系サーバとしたミラーディスク型構成を対象としています。
以下の表は既定値が存在しないパラメータ、および既定値から変更したパラメータについて記載しています。
  • OCIの設定(各インスタンスで共通の設定)

    設定項目

    設定値

    VCN の設定

    • 名前

    test-vcn

    ロード・バランサの設定

    • ロード・バランサ名

    test-loadbalancer

    • 可視性タイプ

    プライベート / パブリック (*)

    • 仮想クラウド・ネットワーク

    test-vcn

    ロード・バランサの設定(バックエンド・セットの設定)

    • バックエンドの追加 名前

    server1, server2

    • バックエンドの追加 ポート

    8080(業務を提供しているポート番号:クラスタ側)

    • ヘルス・チェック・ポリシー プロトコル

    TCP

    • ヘルス・チェック・ポリシー ポート

    12345

    • ヘルス・チェック・ポリシー 間隔(ミリ秒)

    5000

    ロード・バランサの設定(リスナーの設定)

    • トラフィックのタイプ

    TCP

    • リスナーでモニターするポート

    80(業務を提供しているポート番号:クライアント側)

(*) プライベートロードバランサを使用する場合は プライベート 、パブリックロードバランサを使用する場合は パブリック を選択してください。

  • OCIの設定(各インスタンスでそれぞれ設定)

    設定項目 設定値

    server1

    server2

    witness-server

    コンピュート・インスタンスの設定

    • インスタンスの命名

    server1

    server2

    witness-server

    • 可用性ドメイン

    LhRE:AP-TOKYO-1-AD-1

    • インスタンス・タイプ

    仮想マシン

    • 仮想クラウド・ネットワーク

    test-vcn

    • フォルト・ドメイン

    FAULT-DOMAIN-1

    FAULT-DOMAIN-2

    FAULT-DOMAIN-3

    ブロック・ボリュームの設定

    • 名前

    server1-datadisk-0

    server2-datadisk-0

    -

    • 可用性ドメイン

    LhRE:AP-TOKYO-1-AD-1

    -

    • デバイス・パス

    /dev/oracleoci/oraclevdb

    -

    ネットワークの設定

    • プライベートIPアドレス

    10.0.0.2

    10.0.0.3

    10.0.0.4

    • プライベートIPアドレス

    10.0.1.2

    10.0.1.3

    -

    • (*) パブリックIPアドレス

    140.238.54.236

    158.101.136.208

    164.92.39.211

(*) パブリックロードバランサを使用する場合に設定されます

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

    設定項目

    設定値

    server1

    server2

    • クラスタ名

    cluster1

    • サーバ名

    server1

    server2

    インタコネクト

    • カーネルモード

    10.0.0.2

    10.0.0.3

    • カーネルモード

    10.0.1.2

    10.0.1.3

    • Witness

    使用する

    使用する

    NP解決

    • HTTP

    使用する

    使用する

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

    リソース名

    設定項目

    設定値

    ミラーディスクリソース

    リソース名

    md1

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

    /dev/NMP1

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

    /mnt/md1

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

    /dev/oracleoci/oraclevdb2

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

    /dev/oracleoci/oraclevdb1

    Oracle Cloud 仮想 IP リソース

    リソース名

    ocvip1

    ポート番号

    12345(ヘルス・チェック・ポリシーの[ポート]で指定した値)

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

    監視リソース名

    設定項目

    設定値

    ミラーディスク監視リソース

    モニタリソース名

    mdw1

    ミラーディスクコネクト監視リソース

    モニタリソース名

    mdnw1

    Oracle Cloud 仮想 IP 監視リソース

    モニタリソース名

    ocvipw1

    回復対象

    ocvip1

    Oracle Cloud ロードバランス監視リソース

    モニタリソース名

    oclbw1

    回復対象

    ocvip1

4.2. OCIの設定

  1. VCN の作成

OCI Console にアクセスします(https://console.us-ashburn-1.oraclecloud.com/)。
VCN、およびサブネットを作成します。
詳細な手順は以下を参照してください。
ネットワーキングの概要:
ネットワーキング・シナリオ:
OCI の設定については以下も参考にしてください。
チュートリアル : Oracle Cloud Infrastructure を使ってみよう:
  1. インスタンスの作成

プラットフォーム・イメージからクラスターを構成する数の仮想マシンを作成します。
詳細な手順は以下を参照してください。
インスタンスの作成:
また、併せてセカンダリVNICの設定も行ってください。
詳細な手順は以下を参照してください。
  1. インスタンスの設定

作成した各インスタンスへ接続し、ログインします。
詳細な手順は以下を参照してください。
インスタンスへの接続:
  1. ブロック・ボリュームの作成

ミラーディスク(クラスタパーティション、データパーティション)に使用するブロック・ボリュームを追加、ブロック・ボリュームのアタッチをします。
アクセスは 読取り/書込み を選択してください。
詳細な手順は以下を参照してください。
ブロック・ボリュームの概要:
次にミラーディスクリソース用のパーティションを作成します。
ミラーディスクリソース用のパーティションの設定については、以下を参照してください。
  1. ロード・バランサ用のセキュリティ・リストの追加

以降のロード・バランサ作成時にバックエンド・サーバーを追加すると、ロード・バランシングサービスによってセキュリティ・リスト・ルールを自動的に作成することも可能です。
詳細な手順は以下を参照してください。
セキュリティ・リスト:
ロード・バランサの管理:
  1. ロード・バランサの作成

ロード・バランサを作成します。
[バックエンドの追加] で server1, server2 を追加してください。
ヘルス・チェック・ポリシーの [間隔(ミリ秒)] は、Oracle Coud 仮想 IP リソースの [ヘルスチェックのタイムアウト] より短い時間にしてください。
詳細な手順は以下を参照してください。
ロード・バランサの管理:

必要に応じてルート・テーブルおよびセキュリティ・リストを設定してください。
  1. OS 起動時間の調整、ネットワーク設定の確認、ルートファイルシステムの確認、ファイアウォールの設定を確認、サーバの時刻を同期、SELinuxの設定を確認

各手順は以下を参照してください。

4.3. CLUSTERPROの構築

  1. CLUSTERPROのインストール

インストール手順は以下を参照してください。インストール完了後、OSの再起動を行ってください。
  1. CLUSTERPROのライセンスを登録

ライセンス登録手順は以下を参照してください。
  1. CLUSTERPROの設定

Cluster WebUI のセットアップ、および接続方法は以下を参照してください。
以下のリソース/モニタリソースを追加する手順を記述します。

- ミラーディスクリソース
- Oracle Cloud 仮想 IP リソース
- Oracle Cloud 仮想 IP モニタリソース
- Oracle Cloud ロードバランスモニタリソース

上記以外の設定は以下を参照してください。
  1. クラスタの作成

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

  • クラスタの構築

    1. Cluster WebUI にアクセスし、[クラスタ生成ウィザード] をクリックします。
    2. クラスタ生成ウィザード]の[クラスタ]が表示されます。
      [クラスタ名] に任意のクラスタ名を入力します。
      [言語] を適切に選択します。[次へ] をクリックします。
    3. [基本設定]が表示されます。
      Cluster WebUI に接続したインスタンスがマスタサーバとして登録済みの状態で表示されます。
      [追加] をクリックし、残りのインスタンスを追加します(インスタンスのプライベートIPアドレスを指定します)。[次へ] をクリックします。
    4. [インタコネクト] 画面が表示されます。
      インタコネクトのために使用するIPアドレス(各インスタンスのプライベートIPアドレス)と、Witnessハートビートを指定します。
      また、後で作成するミラーディスクリソースの通信経路として [MDC] に mdc1 を選択します。[次へ] をクリックします。
      詳細は以下を参照してください。
    5. [NP解決] 画面が表示されます。
      HTTPNPを指定し、 [次へ] をクリックします。
      詳細は以下を参照してください。
  1. グループリソースの追加

  • グループの定義

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

    1. [グループ一覧] 画面が表示されます。
      [追加]をクリックします。
    2. [グループの定義] 画面が表示されます。
      [名前] にフェイルオーバーグループ名(failover1)を設定します。[次へ] をクリックします。
    3. [起動可能サーバ 画面が表示されます。
      何も指定せず [次へ] をクリックします。
    4. [グループ属性] 画面が表示されます。
      何も指定せず [次へ] をクリックします。
    5. [グループリソース一覧] 画面が表示されます。
      以降の手順で、この画面でグループリソースを追加していきます。
  • ミラーディスクリソース

    ミラーディスクリソースを作成します。
    詳細は以下を参照してください。
    1. [グループリソース一覧] で [追加] をクリックします。
    2. [グループ のリソース定義 | failover1] 画面が開きます。
      [タイプ] ボックスでグループリソースのタイプ(ミラーディスクリソース) を選択し、[名前] ボックスにリソース名を入力します。[次へ] をクリックします。
    3. [依存関係] 画面が表示されます。
      何も指定せず [次へ] をクリックします。
    4. [復旧動作] 画面が表示されます。
      [次へ] をクリックします。
    5. [詳細] 画面が表示されます。
      [データパーティションデバイス名] [クラスタパーティションデバイス名] に「4. ブロック・ボリュームの作成」で作成したパーティションのデバイス名を入力します。[マウントポイント]、[ファイルシステム]を入力します。 [完了] をクリックして設定を終了します。
  • Oracle Cloud 仮想 IP リソース

    OCI 上で CLUSTERPRO を利用する場合、業務が稼働するノードの特定のポートでロード・バランサからの死活監視を待ち受ける仕組みを提供します。
    Oracle Cloud 仮想 IP リソースの詳細は以下を参照してください。
    1. [グループリソース一覧] で [追加] をクリックします。
    2. [グループ のリソース定義 | failover1] 画面が開きます。[タイプ] ボックスでグループリソースのタイプ (Oracle Cloud 仮想 IP リソース) を選択して、[名前] ボックスにリソース名を入力します。[次へ] をクリックします。
    3. [依存関係] 画面が表示されます。何も指定せず [次へ] をクリックします。
    4. [復旧動作] 画面が表示されます。[次へ] をクリックします。
    5. [ポート] にロード・バランサの設定(バックエンド・セットの設定)時にヘルス・チェック・ポリシーの [ポート] として指定した値を入力します。
    6. [完了] をクリックします。
  1. モニタリソースの追加

  • Oracle Cloud 仮想 IP モニタリソース

    Oracle Cloud 仮想 IP リソースが起動しているノードに対して、死活監視のためのポートの監視機構を提供します。
    Oracle Cloud 仮想 IP リソースを1つ追加すると、Oracle Cloud 仮想 IP モニタリソースが1つ自動的に作成されます。
    Oracle Cloud 仮想 IP モニタリソースの詳細は以下を参照してください。
  • Oracle Cloud ロードバランスモニタリソース

    Oracle Cloud 仮想 IP リソースが起動していないノードに対して、ヘルス・チェック用ポートと同じポート番号が開放されていないかの監視機構を提供します。
    Oracle Cloud 仮想 IP リソースを1つ追加すると、Oracle Cloud ロードバランスモニタリソースが1つ自動的に作成されます。
    Oracle Cloud ロードバランスモニタリソースの詳細は以下を参照してください。
  1. 設定の反映とクラスタの起動

    以下を参照してください。

4.4. 動作確認

構築した環境が正常に動作するかを、監視異常を発生させフェイルオーバーグループがフェイルオーバーすることにより確認します。
既にクラスタが正常に起動している状態からの確認手順は以下のとおりです。
  1. フェイルオーバーグループ(failover1)が、現用系ノードのserver1で起動します。
    Cluster WebUI [ステータス] タブにおいてfailover1がserver1で[起動済]になっていることを確認します。
    クライアントから、フロントエンドのIPアドレスにアクセスし、現用系ノードに接続できることを確認します。
  2. Cluster WebUIのプルダウンより[操作モード]から[検証モード]に変更します。
  3. Cluster WebUI [ステータス] タブにおいて ocvipw1 の[擬似障害発生]アイコンを選択します。
  4. Oracle Cloud 仮想 IP リソース(ocvip1)が3回再活性後に、フェイルオーバーグループ(failover1)が異常になり、ノードserver2へフェイルオーバーします。
    Cluster WebUI [ステータス]タブにおいてfailover1がserver2で [起動済] になっていることを確認します。
    また、ロード・バランサのフロントエンドのIPアドレスに対してフェイルオーバー後も正常にアクセスできることを確認します。
以上で、擬似障害の場合におけるフェイルオーバーの動作確認は完了です。その他の障害発生時の動作確認については適宜実施してください。

5. 共有ディスク型クラスター構築手順

5.1. 構築例について

本書では、OCI において、CLUSTERPRO を使用した2ノードでの片方向スタンバイクラスタの構築手順を紹介します。
OCI 上の同じ 仮想クラウド・ネットワーク(以下、VCN と記す)内のクライアントからアクセス可能な HAクラスターを構築します。
本手順は、server1 を現用系サーバとし共有ディスク型構成を対象としています。
以下の表は既定値が存在しないパラメータ、および既定値から変更したパラメータについて記載しています。
  • OCIの設定(各インスタンスで共通の設定)

    設定項目

    設定値

    VCN の設定

    • 名前

    test-vcn

    ロード・バランサの設定

    • ロード・バランサ名

    test-loadbalancer

    • 可視性タイプ

    プライベート / パブリック (*)

    • 仮想クラウド・ネットワーク

    test-vcn

    ロード・バランサの設定(バックエンド・セットの設定)

    • バックエンドの追加 名前

    server1, server2

    • バックエンドの追加 ポート

    8080(業務を提供しているポート番号:クラスタ側)

    • ヘルス・チェック・ポリシー プロトコル

    TCP

    • ヘルス・チェック・ポリシー ポート

    12345

    • ヘルス・チェック・ポリシー 間隔(ミリ秒)

    5000

    ロード・バランサの設定(リスナーの設定)

    • トラフィックのタイプ

    TCP

    • リスナーでモニターするポート

    80(業務を提供しているポート番号:クライアント側)

(*) プライベートロードバランサを使用する場合は プライベート 、パブリックロードバランサを使用する場合は パブリック を選択してください。

  • OCIの設定(各インスタンスでそれぞれ設定)

    設定項目

    設定値

    server1

    server2

    witness-server

    コンピュート・インスタンスの設定

    • インスタンスの命名

    server1

    server2

    witness-server

    • 可用性ドメイン

    LhRE:AP-TOKYO-1-AD-1

    • インスタンス・タイプ

    仮想マシン

    • 仮想クラウド・ネットワーク

    test-vcn

    • フォルト・ドメイン

    FAULT-DOMAIN-1

    FAULT-DOMAIN-2

    FAULT-DOMAIN-3

    ブロック・ボリュームの設定

    • 名前

    shared-datadisk

    -

    • 可用性ドメイン

    LhRE:AP-TOKYO-1-AD-1

    -

    • デバイス・パス

    /dev/oracleoci/oraclevdb

    -

    ネットワークの設定

    • プライベートIPアドレス

    10.0.0.2

    10.0.0.3

    10.0.0.4

    • プライベートIPアドレス

    10.0.1.2

    10.0.1.3

    -

    • (*) パブリックIPアドレス

    140.238.54.236

    158.101.136.208

    164.92.39.211

(*) パブリックロードバランサを使用する場合に設定されます。

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

    設定項目

    設定値

    server1

    server2

    • クラスタ名

    cluster1

    • サーバ名

    server1

    server2

    インタコネクト

    • カーネルモード

    10.0.0.2

    10.0.0.3

    • カーネルモード

    10.0.1.2

    10.0.1.3

    • Witness

    使用する

    使用する

    • DISK

    /dev/oracleoci/oraclevdb1

    /dev/oracleoci/oraclevdb1

    NP解決

    • HTTP

    使用する

    使用する

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

    リソース名

    設定項目

    設定値

    ディスクリソース

    リソース名

    disk1

    詳細タブ - ディスクタイプ

    disk

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

    ext4

    詳細タブ - デバイス名

    /dev/oracleoci/oraclevdb2

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

    /mnt/disk1

    Oracle Cloud 仮想 IP リソース

    リソース名

    ocvip1

    ポート番号

    12345(ヘルス・チェック・ポリシーの[ポート]で指定した値)

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

    監視リソース名

    設定項目

    設定値

    Oracle Cloud 仮想 IP 監視リソース

    モニタリソース名

    ocvipw1

    回復対象

    ocvip1

    Oracle Cloud ロードバランス監視リソース

    モニタリソース名

    oclbw1

    回復対象

    ocvip1

5.2. OCIの設定

  1. VCN の作成

OCI Console にアクセスします(https://console.us-ashburn-1.oraclecloud.com/)。
VCN、およびサブネットを作成します。
詳細な手順は以下を参照してください。
ネットワーキングの概要:
ネットワーキング・シナリオ:
OCI の設定については以下も参考にしてください。
チュートリアル : Oracle Cloud Infrastructure を使ってみよう:
  1. インスタンスの作成

プラットフォーム・イメージからクラスターを構成する数の仮想マシンを作成します。
詳細な手順は以下を参照してください。
インスタンスの作成:
また、併せてセカンダリVNICの設定も行ってください。
詳細な手順は以下を参照してください。
  1. インスタンスの設定

作成した各インスタンスへ接続し、ログインします。
詳細な手順は以下を参照してください。
インスタンスへの接続:
  1. ブロック・ボリュームの作成

共有ディスク(ディスクハートビート、共有ディスク用パーティション)に使用するブロック・ボリュームを追加、ブロック・ボリュームのアタッチをします。
アクセスは 読取り/書込み-共有可能 を選択してください。
詳細な手順は以下を参照してください。
ブロック・ボリュームの概要:
次にディスクリソース用のパーティションを作成します。
ディスクリソース用のパーティションの設定については、以下を参照してください。
  1. ロード・バランサ用のセキュリティ・リストの追加

以降のロード・バランサ作成時にバックエンド・サーバーを追加すると、ロード・バランシングサービスによってセキュリティ・リスト・ルールを自動的に作成することも可能です。
詳細な手順は以下を参照してください。
セキュリティ・リスト:
ロード・バランサの管理:
  1. ロード・バランサの作成

ロード・バランサを作成します。
[バックエンドの追加] で server1, server2 を追加してください。
ヘルス・チェック・ポリシーの [間隔(ミリ秒)] は、Oracle Coud 仮想 IP リソースの [ヘルスチェックのタイムアウト] より短い時間にしてください。
詳細な手順は以下を参照してください。
ロード・バランサの管理:

必要に応じてルート・テーブルおよびセキュリティ・リストを設定してください。
  1. OS 起動時間の調整、ネットワーク設定の確認、ルートファイルシステムの確認、ファイアウォールの設定を確認、サーバの時刻を同期、SELinuxの設定を確認

各手順は以下を参照してください。

5.3. CLUSTERPROの構築

  1. CLUSTERPROのインストール

インストール手順は以下を参照してください。インストール完了後、OSの再起動を行ってください。
  1. CLUSTERPROのライセンスを登録

ライセンス登録手順は以下を参照してください。
  1. CLUSTERPROの設定

Cluster WebUI のセットアップ、および接続方法は以下を参照してください。
以下のリソース/モニタリソースを追加する手順を記述します。
- ディスクリソース
- Oracle Cloud 仮想 IP リソース
- Oracle Cloud 仮想 IP モニタリソース
- Oracle Cloud ロードバランスモニタリソース
上記以外の設定は以下を参照してください。
  1. クラスタの作成

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

  • クラスタの構築

    1. Cluster WebUI にアクセスし、[クラスタ生成ウィザード] をクリックします。
    2. クラスタ生成ウィザード]の[クラスタ]が表示されます。
      [クラスタ名] に任意のクラスタ名を入力します。
      [言語] を適切に選択します。[次へ] をクリックします。
    3. [基本設定]が表示されます。
      Cluster WebUI に接続したインスタンスがマスタサーバとして登録済みの状態で表示されます。
      [追加] をクリックし、残りのインスタンスを追加します(インスタンスのプライベートIPアドレスを指定します)。[次へ] をクリックします。
    4. [インタコネクト] 画面が表示されます。
      インタコネクトのために使用するIPアドレス(各インスタンスのプライベートIPアドレス)と、Witnessハートビート、ディスクハートビートを指定します。
      詳細は以下を参照してください。
    5. [NP解決] 画面が表示されます。
      HTTPNPを指定し、 [次へ] をクリックします。
      詳細は以下を参照してください。
  1. グループリソースの追加

  • グループの定義

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

    1. [グループ一覧] 画面が表示されます。
      [追加]をクリックします。
    2. [グループの定義] 画面が表示されます。
      [名前] にフェイルオーバーグループ名(failover1)を設定します。[次へ] をクリックします。
    3. [起動可能サーバ 画面が表示されます。
      何も指定せず [次へ] をクリックします。
    4. [グループ属性] 画面が表示されます。
      何も指定せず [次へ] をクリックします。
    5. [グループリソース一覧] 画面が表示されます。
      以降の手順で、この画面でグループリソースを追加していきます。
  • ディスクリソース

    ディスクリソースを作成します。
    詳細は以下を参照してください。
    1. [グループリソース一覧] で [追加] をクリックします。
    2. [グループ のリソース定義 | failover1] 画面が開きます。
      [タイプ] ボックスでグループリソースのタイプ(ディスクリソース) を選択し、[名前] ボックスにリソース名を入力します。[次へ] をクリックします。
    3. [依存関係] 画面が表示されます。
      何も指定せず [次へ] をクリックします。
    4. [復旧動作] 画面が表示されます。
      [次へ] をクリックします。
    5. [詳細] 画面が表示されます。
      [デバイス名] に「4. ブロック・ボリュームの作成」で作成したパーティションのデバイス名を入力します。[マウントポイント]、[ファイルシステム]を入力します。 [完了] をクリックして設定を終了します。
  • Oracle Cloud 仮想 IP リソース

    OCI 上で CLUSTERPRO を利用する場合、業務が稼働するノードの特定のポートでロード・バランサからの死活監視を待ち受ける仕組みを提供します。
    Oracle Cloud 仮想 IP リソースの詳細は以下を参照してください。
    1. [グループリソース一覧] で [追加] をクリックします。
    2. [グループ のリソース定義 | failover1] 画面が開きます。[タイプ] ボックスでグループリソースのタイプ (Oracle Cloud 仮想 IP リソース) を選択して、[名前] ボックスにリソース名を入力します。[次へ] をクリックします。
    3. [依存関係] 画面が表示されます。何も指定せず [次へ] をクリックします。
    4. [復旧動作] 画面が表示されます。[次へ] をクリックします。
    5. [ポート] にロード・バランサの設定(バックエンド・セットの設定)時にヘルス・チェック・ポリシーの [ポート] として指定した値を入力します。
    6. [完了] をクリックします。
  1. モニタリソースの追加

  • Oracle Cloud 仮想 IP モニタリソース

    Oracle Cloud 仮想 IP リソースが起動しているノードに対して、死活監視のためのポートの監視機構を提供します。
    Oracle Cloud 仮想 IP リソースを1つ追加すると、Oracle Cloud 仮想 IP モニタリソースが1つ自動的に作成されます。
    Oracle Cloud 仮想 IP モニタリソースの詳細は以下を参照してください。
  • Oracle Cloud ロードバランスモニタリソース

    Oracle Cloud 仮想 IP リソースが起動していないノードに対して、ヘルス・チェック用ポートと同じポート番号が開放されていないかの監視機構を提供します。
    Oracle Cloud 仮想 IP リソースを1つ追加すると、Oracle Cloud ロードバランスモニタリソースが1つ自動的に作成されます。
    Oracle Cloud ロードバランスモニタリソースの詳細は以下を参照してください。
  1. 設定の反映とクラスタの起動

    以下を参照してください。

5.4. 動作確認

構築した環境が正常に動作するかを、監視異常を発生させフェイルオーバーグループがフェイルオーバーすることにより確認します。
既にクラスタが正常に起動している状態からの確認手順は以下のとおりです。
  1. フェイルオーバーグループ(failover1)が、現用系ノードのserver1で起動します。
    Cluster WebUI [ステータス] タブにおいてfailover1がserver1で[起動済]になっていることを確認します。
    クライアントから、フロントエンドのIPアドレスにアクセスし、現用系ノードに接続できることを確認します。
  2. Cluster WebUIのプルダウンより[操作モード]から[検証モード]に変更します。
  3. Cluster WebUI [ステータス] タブにおいて ocvipw1 の[擬似障害発生]アイコンを選択します。
  4. Oracle Cloud 仮想 IP リソース(ocvip1)が3回再活性後に、フェイルオーバーグループ(failover1)が異常になり、ノードserver2へフェイルオーバーします。
    Cluster WebUI [ステータス]タブにおいてfailover1がserver2で [起動済] になっていることを確認します。
    また、ロード・バランサのフロントエンドのIPアドレスに対してフェイルオーバー後も正常にアクセスできることを確認します。
以上で、擬似障害の場合におけるフェイルオーバーの動作確認は完了です。その他の障害発生時の動作確認については適宜実施してください。

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

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

7. 注意・制限事項

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

7.1.1. OCIの注意事項

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

7.1.2. CLUSTERPROの注意事項

  • OS の起動時間は[ハートビートタイムアウト]より長くなるよう調整してください。
  • [クラスタプロパティ]-[監視]タブ-[シャットダウン監視タイムアウト]にて、既定値(ハートビートのタイムアウトを使用する)から変更する場合、[ハートビートタイムアウト]以下となるよう調整してください。
    以下を参照してください。
  • ブロックボリュームのアタッチ方式を iSCSI に設定した状態でネットワーク異常が発生した場合、ミラーディスクリソース / ディスクリソースの非活性に失敗することがあります。
    そのため、アタッチ方式として iSCSI を指定する場合は、リソースの非活性異常時動作を クラスタサービス停止とOSシャットダウン に設定してください。

以下も参照してください。