システムの高可用性を実現するための仕組みである「HAクラスタ構成」を制御するソフトウェア、「クラスタソフト(クラスタリングソフト)」について紹介します。
HAクラスタ構成とは
高可用性を目的としたクラスタ構成は、「HA(High Availability)クラスタ構成」と呼ばれます。「冗長化構成」とも呼ばれます。
最大の目的は、一部で障害が発生してもシステムを止めずに、サービスを提供し続けることにあります。
基本的に、アクティブサーバ(1台)+バックアップサーバ(1台以上)で構成され、アクティブサーバに障害が発生した場合に、その障害を即座に探知して、バックアップサーバにメイン処理を移行させて、システム全体のサービスを継続します。
HAクラスタソフトとは
HAクラスタ構成を管理/制御するソフトウェアのことを指します。
「一般的なハードウェア」と「HAクラスタソフト」を組み合わせることにより、特殊で大変高価なハードウェアによるクラスタ構成に迫るほどの高可用な構成を構築することができます。
HAクラスタソフト紹介(商用製品)
商用製品として代表的なNECの「CLUSTERPRO」を紹介します。
NECの「CLUSTERPRO(クラスタープロ)」は、日本を含むアジア・パシフィックで、数多くの導入実績があり、大きなシェアを誇る、HAクラスタリングソフトウェアです。
<特徴1:高度な障害検出機能>
スタンバイ系でも、常に、アクティブ系と同様の監視を行っているため、障害発生時にフェイルオーバーされない可能性を大幅に下げることができます。
<特徴2:堅牢なアーキテクチャデザイン>
CLUSTERPROは、クラスタ管理情報を共有ディスク上に配置せず、全サーバのローカルディスクへ冗長配置する構造となっています。そのため、最低でもどれか1台のサーバが起動できていれば、サービスを継続できる可能性を高めることができます。
<特徴3:動的ハートビート間隔調節機能>
システムやネットワークの高負荷状態によって、ハートビート受送信が間に合わず、誤ったフェイルオーバーを防ぐための機能です。
<特徴4:スプリットブレインの回避と対策>
スプリットブレインとは、ハートビート通信が全て切断され、システムとしては大変深刻な状態のことです。
Windows版、Linux版共に、スプリットブレインを回避するためのさまざまな対策が施されています。
<特徴5:多くの導入実績>
導入実績は相当な数となっており、CLUSTERPROに関する技術ドキュメントは豊富に揃っています。日本のベンダーがリリースしているHAクラスタリングソフトという点も、安心できるポイントです。
HAクラスタソフト紹介(オープンソース製品)
オープンソース製品として代表的な「Pacemaker+Corosync」を紹介します。
<Pacemakerとは>
Pacemakerプロジェクトが開発しているオープンソースソフトウェアです。Corosyncと協調動作して、HAクラスタ上で稼働するアプリケーション(サービス)の監視機能、起動&停止機能を有します。
<Corosyncとは>
高可用性の標準アプリケーションインターフェース仕様(AIS)を定めるOpenAISプロジェクトから派生したオープンソースクラスタ通信フレームワークです。「Heartbeat」の後継製品です。クラスタ構成の中でクラスタ通信層(クラスタ制御部)の管理を担当します。クラスタを構成している全サーバの個々の稼働状態を全サーバで共有します。
<Pacemaker+Corosync>
アプリケーションの稼働を制御する「Pacemaker」と、クラスタ通信を制御する「Corosync」を組み合わせることで、商用製品に匹敵するHAクラスタ構成を実現することができます。
<Pacemakerの特徴>
(1)監視対象(スクリプト)が豊富
監視対象となる、ファイルシステム、データベース、仮想IPアドレスなどリソースを監視/制御するスクリプトが豊富に揃えられています。
(2)リソース制御機能(フェイルカウント)
Pacemakerはリソース監視を行いながら、異常検知したタイミングでフェイルカウントをアップしていきます。事前に設定されているフェイルカウントの閾値を超えた場合にフェイルオーバーする仕組みとなっています。
(3)スプリットブレイン対策(フェンシング対応)
電源管理ツールと連携させることにより、スプリットブレイン発生時に強制電源OFFをすることができます。
(4)THROTTLE機能
CPUなどのリソース状態などを監視して、負荷状況に応じてジョブ実行数などに制限をかけることができます。
<Corosyncの特長>
(1)安定性
OpenAISプロジェクトから派生した代表的なクラスタ制御ソフトウェアであるため、実績面からしても安定性があります。
(2)可用性
障害検知速度が高く、スプリットブレイン回復時の動作も安定しているため、高い可用性があります。
(3)多ノード対応
ノード追加/削除時の処理が安定しており、起動時間も短く、多ノード構成にも対応できます。
まとめ
今回ご紹介した2本のクラスタソフト以外にも、多くのHAクラスタリングソフトが存在します。システム規模、システム要件、予算などの条件に合致する、ベストなクラスタリングソフトを選定することが求められます。