HP IceWall技術レポート:

NEC CLUSTERPRO を用いたIceWallサーバーの冗長化

コンテンツに進む

1. はじめに

HP IceWall SSOは、構成するサーバーを冗長化することで障害発生時にもサービスを継続できるシステムを構築する事が可能です。システム内には冗長化するポイントがいくつかありますが、IceWallサーバーの冗長化にはロードバランサーを使用する方法とHAクラスタリングの方法があります。
本技術レポートでは、日本電気株式会社(NEC)のHAクラスタリングソフトウェア「CLUSTERPRO」を使った冗長化(二重化)の方式と検証結果についてご紹介します。CLUSTERPROを用いてコストを抑えつつIceWallサーバーを冗長化できることが確認できました。

2. IceWallサーバーの冗長化方式

HP IceWall SSOにおいてリバースプロキシとして動作するIceWallサーバーは、ステートレスで、かつ複数のサーバー間で共有するデーターが無いため、通常のWebサーバーと同じ考え方で冗長化を行う事が可能です。つまり、ロードバランサーを使った方式とHAクラスタリングの方式のどちらでも冗長化が可能です。

ロードバランサーによる冗長化


HAクラスタリングによる冗長化



2つの方式のうち、ロードバランサーを使った方式は最も一般的です。 ロードバランサーでは複数のサーバーをActive/Activeで動作させる事が可能で、冗長化と共に負荷分散も可能です。そのため負荷の高い大規模なシステムまで広く使われている方式です。
一方、ロードバランサーはサーバーとは別のハードウェアとなるため、ハードウェアの導入コストや管理コストがかかります。また、ロードバランサーとサーバー間のネットワークが別セグメントになるため、ネットワーク構成が複雑になるデメリットもあります。

一方、HAクラスタリングによる冗長化ではActive/Standby動作となって負荷分散ができないため、WebサーバーやIceWallサーバーを冗長化するような用途には従来あまり使われていませんでした。
しかし、近年のサーバーはCPU性能が飛躍的に向上し、1台でかなりの性能が得られるようになってきました。また、仮想環境では自由にCPU数を増減させることができます。そのため必ずしも複数台のIceWallサーバーで負荷を分散する必要が無いケースが多くなっています。そしてIceWallサーバー間には共有データが無いため共有ディスク装置といった高価になりがちなハードウェアも必要ありません。
つまり、サーバー本体以外のハードウェアの追加が必要無くシステム構成のシンプルでコスト面でもメリットがあるHAクラスタリングは、必要とされるシステムの性能要件によっては十分選択肢になりえると考えられます。

3. CLUSTERPRO について

CLUSTERPRO(クラスタープロ)は、システムの障害を監視し、障害発生時には健全なサーバーに業務を引き継ぐことで、高可用性を実現するHAクラスタリングソフトウェアです。

CLUSTERPROの特徴
  1. HAクラスターシステムを構築することで、 業務停止時間を最小限に抑制
    クラスターを構成するサーバーのうち一台が障害などにより停止しても、そのサーバーが実行していたアプリケーション・サービス等を他のサーバーへ自動的に引き継ぎ、障害時の業務停止時間を最小限に抑えます。

  2. 視覚的な運用ツールで管理
    ツリービュー表示により、システムの規模を問わず視覚的な運用ができます。 また、Javaベースで開発されているので、OSに関わらず同じ操作が可能です。 さらにAndroidやiOS端末にも対応し、場所を選ばず管理ができます。

  3. 多様な障害検知機能で、ダウンタイムを最小限に抑制
    業務で使用しているアプリケーションの死活監視や資源の障害監視を行うことでアプリケーションのバグや人間の誤操作による業務停止時間 も最小限に抑えます。
CLUSTERPROについての詳細はNECのサイト http://jpn.nec.com/clusterpro/ このリンクをクリックすると、HP社外へリンクします。 をご参照ください。

4. ロードバランサーと CLUSTERPROによる冗長化の比較

IceWallサーバーの冗長化にロードバランサーとCLUSTERPROによるHAクラスタリングを使った場合の比較を以下に示します。

  ロードバランサー HAクラスタリング
(CLUSTERPROの場合)
耐障害性
サーバー障害はロードバランサーが検知

サーバー障害はCLUSTERPROが検知
コスト
H/W購入コスト(ロードバランサー)および導入コストが必要

CLUSTERPROのライセンス・保守コストのみ(一般的なロードバランサーより安価)
ネットワーク構成
ネットワークセグメントの追加が必要な場合あり

サーバーの接続のみ
構築・設定
物理的スペースが必要
ネットワークの知識が必要

ソフトウェアのインストールのみ
GUIで容易にクラスター構築が可能
管理性 △ / ○
ロードバランサーがHWの管理対象として追加
管理のしやすさは製品に依存

HWの管理対象はサーバーのみ
GUIでクラスターの管理・操作が可能
負荷分散
負荷分散可能
×
負荷分散はできない
性能
ロードバランサーの性能に依存
サーバー性能の不足は負荷分散で解消可能

1台あたりのサーバー性能に依存
拡張性
スケールアウト・スケールアップの両方が可能

基本的にスケールアップが中心


ロードバランサーとCLUSTERPROによるHAクラスタリングではそれぞれ一長一短があり、システムの性質によって選択する事になります。それぞれの適合ケースを以下にまとめます。

  ロードバランサー HAクラスタリング
(CLUSTERPROの場合)
適合ケース ・Activeなサーバー1台で処理できないような性能を必要とする中〜大規模システム
・スケールアウトでの拡張性が必要
・冗長化は必須だが、性能はそれほど必要が無い小規模システム
・導入するH/Wの数を削減したい場合
・安価に冗長構成を実現したい場合

5. 検証

5.1 構成

検証環境で実際にシステムを構築しIceWallサーバー間でフェイルオーバーが行われる事を確認しました。
以下に検証システムの構成を示します。
なおIceWallサーバー以外のIceWall SSOシステムを構成するサーバー(認証サーバー、認証データベース)については、今回の検証内容による影響は無く通常と同じ構成ですので省略しています。




2台のIceWallサーバーにCLUSTERPROをインストールし、フェイルオーバーグループを構成します。
フェイルオーバーグループには1つの仮想IPアドレスが割り当てられ、クライアントからは仮想IPアドレスへアクセスする事で常にActive側のIceWallサーバーにアクセスする事になります。
管理コンソールではCLUSTERPROのGUIにアクセスし設定や管理を行います。
2台のサーバーにはHP IceWall SSOのフォワーダーをインストールします。フォワーダーの設定は通常どおりで、特にHAクラスタリングについて考慮する必要はありません。

5.2 CLUSTERPRO設定

CLUSTERPROの設定は管理コンソール上の以下のようなGUIで行います。

設定画面(例)
拡大図

拡大図

今回の検証で設定した値を以下に掲載します。

CLUSTERPRO設定項目 設定内容
クラスター名 「icewall_cluster」を設定
サーバーの追加 ・マスター = Icewall01
・1 = Icewall02
インターコネクト設定 IPv6の設定を削除(今回はIPv4環境で検証)
NP解決設定 DefaultGatewayへのPing確認
グループ設定 「Icewall_failover」グループを作成
・タイプ = フェイルオーバー
・全てのサーバーでフェイルオーバー可能にチェック
グループリソース設定(FIP) ・タイプ = floating ip resource
・FIPとして利用するIPアドレスを設定
グループリソース設定
(EXECリソース)
・タイプ = execute resource
・名前 = exec_apache
・起動・停止スクリプトを設定
モニターリソース設定 ・タイプ = process name monitor
・対象リソース = exec_apache
・監視プロセス = /usr/sbin/httpd

※ 起動・停止スクリプトは、Apacheを起動できるシェルを設定します。
※ HP IceWall SSOのフォワーダー(dfw)はApacheからCGIプロセスとして起動されるため、モニターリソースにはApacheを設定します。

5.3 動作確認

以下の手順でフェイルオーバーの動作を確認しました。
  1. Icewall01のhttpdが稼動、icewall02のhttpdが停止しているとき、icewall01のhttpdを停止する
  2. CLUSTERPROがicewall01上で稼動しているhttpdの停止を検知するとicewall02のhttpdが起動
  3. icewall02のhttpdが停止した場合は、再度icewall01にフェイルオーバーされる
フェイルオーバーが起きた事は管理コンソール上の画面で以下のように確認できました。

フェイルオーバー前


フェイルオーバー後

6. おわりに

CLUSTERPROによるHAクラスタリングで、IceWallサーバーをGUIで簡単に冗長化することができます。
コスト等の問題でロードバランサーの導入は見送りたいが冗長化を担保したい場合は、是非IceWall SSOとCLUSTERPROを組み合わせた構成をご検討ください。

さらに日本ヒューレット・パッカードではCLUSTERPRについて導入計画の立案から設計、技術移管も含めた環境構築の全般をサポートするサービスも提供しています。導入の際には合わせてご検討ください。
2015.4.17  新規掲載
   
執筆者 日本ヒューレット・パッカード テクノロジーコンサルティング統括本部
テクニカルコンサルタント
大原 有祐