この記事を読むのに必要な時間:およそ 2 分
止められないシステムを守る
金融システム,決済システム,医療システムなどをはじめ,「止めることが許されないシステム」は拡大の一途をたどっています。こうしたミッションクリティカルなシステムにおいて,複数台のサーバを用いてクラスタシステムを構築することで,なんらかの障害が発生した場合にも,稼動中の「現用系」からすばやく「待機系」に業務を引き継ぎ,わずかなダウンタイムで業務を継続させることができます。本稿では,こうしたIT基盤を守るクラスタシステムのしくみと活用方法を概観します。
一般に,クラスタシステムと言った場合,大きく以下の3つに分けることができます。
- ロードバランスクラスタ
- 負荷分散装置などを利用したクラスタで,もっとも一般的に使われている。
- フェイルオーバクラスタ
- 障害が起きたら別のサーバに場所を変えて業務を継続・実行するクラスタ。HA(High Availability)クラスタとも呼ばれる。
- 演算クラスタ
- HPC(High Performance Computing)クラスタに代表される。高速数値計算,科学技術計算などに用いられる。
ここではこのうちフェイルオーバクラスタについて,日本電気㈱(NEC)のCLUSTERPROを題材に解説します。CLUSTERPROはフェイルオーバクラスタ製品のうち,調査会社の調べで2006年のシステム件数(富士キメラ総研),売上金額(ミック経済研究所)においてシェア1位となっている製品です。CLUSTERPROはNECが96年のリリース以来10年にわたって開発してきたソフトウェアで,Windows版,Linux版からなるCLUSTERPRO XとHP-UXに対応したCLUSTERPRO X HA Seriesの大きく2つの系統があります。
障害監視のしくみ
CLUSTERPROによる監視のしくみは,図1のようになっています。各サーバにインストールされたCLUSTERPROのモジュールが図1の矢印の先にあるような対象を定期的に監視しています。たとえばネットワーク周りのリンクダウンの検出,ストレージエリアを使ったアクセス状態の監視,そしてアプリケーションに対する存在監視と監視オプションによるステータスの戻り値の監視などです。これらを現用系のみならず,待機系でも行っています。
図1 異常発生の検出のしくみ
![図1 異常発生の検出のしくみ 図1 異常発生の検出のしくみ](/assets/images/ad/2007/nec/thumb/TH400_40-1.jpg)
フォルトトレランスとの違い
クラスタリングと似ているしくみとしてフォルトトレラント(FT)システムがあります。これはCPU,マザーボード,メモリなどのハードウェアがすべて二重化されたもので,人工衛星などにも使われている,ハードウェアの障害故障に対してたいへん強いしくみですが,FTではプログラムバグに起因するエラーなどを拾うことができません。フェイルオーバシステムでは,ハードウェアに加えて,OS,ソフトウェアの障害を検出することができます。
代表的な運用形態
フェイルオーバシステムの代表的な運用形態としては図2のようなものがあります。
図2 運用形態
![図2 運用形態 図2 運用形態](/assets/images/ad/2007/nec/thumb/TH400_40-2.jpg)
オーソドックスなのは「アクティブ-スタンバイ」と呼ばれる方式で,アクティブな左側のサーバの上でOracle,SQL Serverなどによる業務アプリケーションが動いています。右のサーバではOSは起動していますが,業務アプリケーションは起動していない状態です。このようにして待機系を眠らしておくともったいないという場合,「アクティブ-アクティブ」が考えられます。違うアプリケーションをそれぞれのサーバで動かしていく使い方です。図2のG1とG2はそれぞれ別のアプリケーションを表現しています。片方がダウンすると,生き残った1台は両方のサーバのアプリケーションをすべて引き受けるという形ですが,残り1台になったときに若干アプリケーションのレスポンスの劣化がありますので,それを見越して,メモリを多めに搭載,CPUのクロック数が良いものを載せるなどが必要です。また予算としてはサーバ1台プラスになりますが,アクティブが2台で,右側に専用スタンバイ機が構えているという「2+1スタンバイ」も理想的です。図2の下にある「M+nスタンバイ」は,Mは業務がアクティブなサーバ,nはスタンバイのサーバ数で,コストパフォーマンスがよい方法です。
OS標準のフリー版ソフト
フェイルオーバシステムにも最近では,OS標準のフリー版があります。ただ,特にオープンソースのものだと負荷テストが十分に行えていないなどの背景から,障害検出が十分でないことも多いようです。「NECの場合,出荷時にサーバの事業部がクラスタの装置を組んで,CLUSTERPROをインストールして負荷テストを全部かけるんです。ランニング中にディスクを引っこ抜いたり,複数の目的の異なる負荷プログラムを48時間ずつ,ぶっ通しで動かすとか」(第二コンピュータソフトウェア事業部 船田泰伸氏)。こうしたテストはオープンソースやフリーソフトではどうしても限界があると言えます。
CLUSTERPROの今後の進化
CLUSTERPROは今後,LAN内のクラスタがダウンした場合,遠隔地で業務が継続できるという遠隔クラスタ機能の強化(2008年3月末リリース予定),アプリケーションプロセスが使用しているメモリをコピーするプロセスマイグレーション(Linux版から実装開始)などの機能強化が予定されているほか,可用性強化,対応プラットフォーム・アプリケーションの拡大,海外サポートの強化などが予定されています。