NEC CLUSTERPRO X とは。

NEC が販売している HA型クラスタリングソフトウェアである「CLUSTERPRO X」の概要についてご紹介します。

CLUSTERPRO X とは

CLUSTERPRO X とは NEC が販売しているHA型クラスタリングソフトウェアです。実は、x86 サーバをクラスタ化する "CLUSTERPRO X" 以外にも、高可用性の維持や高度な監視を実現する "CLUSTERPRO MC" などといった「CLUSTERPRO ほにゃらら"」という製品群がいくつか存在します。

CLUSTERPRO X はその中核となる製品ということですね。詳しく知りたい方は下記NECサイトから確認して下さい。

CLUSTERPRO - 製品一覧

CLUSTERPRO X の概要

CLUSTERPRO X 4.0 for Windows スタートアップガイド
CLUSTERPRO X 4.0 for Windows インストール&設定ガイド

ここから先は上記リンクを基にご紹介します。CLUSTERPRO X はいわゆるアクティブ/スタンバイ型のクラスタ(HA クラスタと言います)を実現するソフトウェアです。CLUSTERPRO X は HA クラスタとして共有ディスク型とミラー型の構成に対応しています。

では、CLUSTERPRO X で何をクラスタリングできるのでしょうか。共有ディスクもしくはミラーリングにより各ノードは共通のデータを保持することができますが、それはあくまでディスクの話であり、メモリやプロセス状態は含まれません。

クラスタで可用性を向上させたいのはあくまでアプリケーションです。クラスタにおけるアプリケーションのフェイルオーバとはすなわち、障害が発生したサーバで実行していたアプリケーションを健全なサーバで再実行することに他なりません。つまり、アプリケーション側が別サーバでの再実行に対応していなければなりません。

CLUSTERPRO X では「動作確認済みソフトウェア」として、CLUSTERPRO X でのフェイルオーバに対応しているアプリケーションをまとめています。CLUSTERPRO X でのクラスタを構築する場合、まずはアプリケーションが対応しているかを確認しましょう。

CLUSTERPRO X 4.0 for Windows 動作確認済みソフトウェア

CLUSTERPRO X の構成

本記事では例をより具体的にするため、2ノード共有ディスク型の構成で話を進めていきます。

2ノード共有ディスクの場合の構成図

2ノード共有ディスク構成の場合、構成としては以下の様になります。

サーバ監視に焦点を当てた場合。スタートアップガイド P37 より引用

※インタコネクトとは、サーバ間をつなぐケーブルのことで、クラスタシステムではサーバの死活監視のために必要になります。

これらの構成図はマニュアルからそのまま引用しているのですが、あくまで構成例であるということを意識しなければなりません。(それをマニュアルできちんと明言していないから話がややこしくなっている気がしてなりません)

例えば1つ目の図で言うと、系間通信用のEthernetは半ば必須です。ハートビートの送受信を業務 LAN(パブリック LAN)や BMC 用 LAN だけで行うこともできそうですが(できるかどうかに関しては、すみませんがやったことがありません。)あまり一般的ではないと思います。共有ディスク型であれば共有ディスクはもちろん必須です。RS-232C 同士の接続ですが、この接続はハートビートに使用しているわけではありません。これはネットワークパーティション問題(これについては後述します)を解決するための接続です。ネットワークパーティションを解決する手段は他にも専用の共有ディスクを使用する方法などもあります。その場合は RS-232C の接続が不要になります。

下図が意味するところは、「インタコネクトを3つ用意してください」ではなく「複数のインタコネクトを設定できます」です。別にインタコネクトはプライマリだけでも構築できますが、複数用意することが推奨されています。

ネットワークパーティションとは

ネットワークパーティション問題について触れておきます。

ネットワークパーティションは、クラスターサーバー間の全ての通信路に障害が発生し、クラスターサーバーがネットワーク的に分断されてしまう状態のことです。ネットワークパーティションのことを「スプリットブレイン」と呼ぶ場合もあります。
ネットワークパーティションに対応できていないHAクラスターでは、通信路の障害とサーバーの障害を区別できず、共有ディスクなどの同一資源に複数のサーバーからアクセスしてデータ破壊を引き起こす場合があります。

HAクラスター入門 ~用語解説3~ | CLUSTERPRO オフィシャルブログ ~クラブロ~ より引用

ネットワークパーティションはクラスタシステムに限った話ではなく、共有ディスクを利用する構成(例えば vSphere など)共通の問題です。

CLUSTERPRO の場合、基本的には同時接続によるディスク破壊を最優先で回避するため、ネットワークパーティションを検知するとサーバは緊急シャットダウンします。

CLUSTERPRO において、上記のネットワークパーティション(スプリットブレイン)を解決する方法はいくつか提供されています。

代表的な方法を3つ紹介します。

COM方式

  • 2 ノードクラスタで使用可能
  • シリアルクロスケーブルが必要
  • COM 通信路を使用して相手サーバの生存確認を行うことによってネットワークパー ティション状態の判定を行う
  • COM 通信路が正常な状態で全てのネットワーク通信路に障害が発生した場合は、 ネットワークパーティションを検出して、マスタサーバを除いた全てのサーバが緊急シャットダウン

PING方式

  • ping コマンドを受信し、応答を返却可能な常時稼動している装置(以下、「ping 用装置」 と省略します) が必要
  • ping 用装置は複数指定することが可能
  • 他サーバからのハートビートの途絶を検出した際に、ping 用装置から ping コマンド の応答がある場合にはハートビートの途絶したサーバがダウンしたと判断してフェイル オーバを実施し、ping コマンドの応答がない場合はネットワークパーティション状態により自身がネットワークから孤立したものと判断して緊急シャットダウンする。これによ り、ネットワークパーティション状態が発生した際に、クライアントと通信可能な方のサー バで業務を継続することができる

DISK方式

  • 共有ディスクを使用するクラスタで選択できる
  • 共有ディスク上に専用のディスクパーティション (ディスクハートビート用パーティション) が必要
  • 共有ディスク上に定期的にデータを書き込み、他サーバの最終生存時刻を計算するこ とでネットワークパーティション状態の判定を行行う
    共有ディスクが正常な状態で全てのネットワーク通信路に障害が発生した場合は、ネッ トワークパーティションを検出して、マスタサーバ及びマスタサーバと通信できるサーバ がフェイルオーバ処理を実施する。それ以外のサーバは全て緊急シャットダウン
    他の方式に比べ、ディスク I/O の遅延を考慮する必要があるため、ネットワークパー ティション解決に時間がかかる。この時間はクラスタのプロパティで設定するハートビートタイムアウト時間とディスク I/O 待ち時間の長いほうの約 2 倍となる。

NECの推奨としては以下となっています。

  • 3 ノード以上で共有ディスクを使用するクラスタには、PING + DISK 方式を推奨します。
  • ハイブリッドを使用する場合は、共有ディスクが接続されたサーバでは PING + DISK 方式、共有ディスクが接続されていないサーバでは PING 方式のみを使用します。
  • 3 ノード以上で共有ディスクを使用しないクラスタには、PING 方式を推奨します。
  • 2 ノードで共有ディスクを使用するクラスタには COM + DISK 方式または、PING + DISK 方式を推奨します。
  • ノードで共有ディスクを使用しないクラスタを使用するクラスタには COM 方式または、 PING 方式を推奨します。

CLUSTERPRO X のソフトウェア構成

CLUSTERPRO X は以下の3つのソフトウェアで構成されています。

CLUSTERPRO 本体

CLUSTERPRO のメインモジュールです。クラスタを構成する各サーバにインストールします。

Cluster WebUI / WebManager

CLUSTERPRO の運用管理を行うための管理ツールです。 ユーザインターフェースとして Web ブラウザを利用します。実体は CLUSTERPRO 本体に組み込まれていますが、操作は管理端末上の Web ブラウザで行うため、CLUSTERPRO 本体とは区別されています。

Cluster WebUI と WebManager は纏められている為呼び方が2つあるのかと思いきや、この2つは管理ツールとして別のものです。

元々管理ツールは WebManager が提供されていたんですが、後述する builder と共に Java VM 上で動く Java アプレットとして実装されている為、Web ブラウザベースとはいえ操作するには Java(JRE)が必要でした。Cluster WebUI は CLUSTERPRO X 4.0 から新規に実装された管理ツールであり、既定の管理ツールとなっています。(Cluster WebUI はモダンな感じのUIです。)

ただし、CLUSTERPRO X インストール直後のクラスタ構築などは WebManager から行います。

builder

CLUSTERPRO の構成情報を作成するためのツールです。 WebManager の設定モードとして動作するオンライン版と、管理端末に個別にインストー ルするオフライン版があり、オンライン版は WebManager に組み込まれています。 WebManager と同じく、ユーザインターフェースとして Web ブラウザを利用します。

builder のオンライン版について、イメージ的には WebManager から画面をポチポチしていくと設定モードになることができ、そこで構成情報を編集するようなイメージです。なので、クラスタの構成情報管理には結局 JRE が必要となります。ちなみに、JRE がインストールされていればクラスタを構成するサーバ上でも WebManager および Builder を使用することができます。

上図は「スタートアップガイド」と「インストール&設定ガイド」から引用している CLUSTERPRO のソフトウェア構成です。スタートアップガイドの図は Cluster WebUI や builder が点線で表現されていますが、実体がないというイメージなのでしょう。

CLUSTERPRO X 障害監視の仕組み

(1)サーバーのシャットダウン/電源ダウン
(2)OS のパニック
(3)OS の部分的な障害(ディスク I/O のハングアップ)
(4)アプリケーションあるいはサービスの停止
(5)サービスのハングアップ *1
(6)NIC やパブリック LAN の異常検出
(7)CLUSTERPRO X サーバーモジュール自体の異常
(8)カスタム監視によるアプリケーションの監視

 

*1:エージェント製品による監視が必要です

 

CLUSTERPRO X - 特長/機能 より引用

CLUSTERPRO X では上記の項目を検出可能です。また、スタートアップガイドでは、何が検出できて、何が検出できないのかが以下の様に記載されています。

監視できる障害の例

  • ハードウェア障害 (OS が継続動作できないもの)
  • STOP エラー
  • アプリケーションの異常終了
  • 共有ディスクへのアクセス障害 (HBA の故障など)
  • パブリック LAN NIC の故障

監視できない障害の例

  • OS の部分的な機能障害 (マウス/キーボードのみが動作しない等)
  • アプリケーションのストール/結果異常 *1

スタートアップガイド P38 より

アプリケーション(サービス)のストール(ハングアップ)や結果異常は通常検出することができませんが、監視オプションを購入することで検出することができます。

CLUSTERPRO X のオプションについて

最後にCLUSTERPRO X のオプションについていくつか触れてみます。

CLUSTERPRO X Database Agent

主要アプリケーションに定期的にアクセスし、異常応答やハングアップを検出する機能です。

このオプションがないとデータベースサーバのクラスタ化ができないわけではありません。

Database Agent が無い場合、プロセスの消滅による異常は検出できますが、データベースのストールや結果異常を検出することができません。

CLUSTERPRO X Alert Service

サーバーダウン、フェールオーバーなど重要なイベントを電子メールで通報するオプションです。

サーバー起動時とサーバーダウン時に、警告灯(パトランプ)で通報しサーバーの状態を表示できます。

CLUSTERPRO X System Resource Agent

システムリソース、プロセスリソース、ディスクリソースを監視するオプションです。

 

次回は実際に CLUSTERPRO X をインストールしてみます。

CLUSTERPRO X 4.0 のインストール手順

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)