サービスを止めないためのHAクラスタ

5.2. クラスタシステムの基礎 | 5.4. HAクラスタ事例紹介

5.3. HAクラスタの技術

5.3.1. ハートビートとフェイルオーバー

HAクラスタを構成する機器同士は、ハートビートと呼ばれる信号を送受信しあい、それぞれが正常に動作していることを確かめます。ハートビートとは「心臓の拍動」を意味し、自身が生きている(正常に動作している)ことを周囲に知らせるために定期的に送信する信号です。

待機系で稼働系のハートビートを受信できなくなった場合は、稼働系がダウンしたと判断し、待機系がデータや処理を引き継ぎ、処理を継続します。この待機系への処理引き継ぎの仕組みをフェイルオーバーと言います。フェイルオーバーには、待機系を常に動作させておき、障害発生時に直ちに切り替えるホットスタンバイ、通常は停止しておき、障害発生時に起動するコールドスタンバイ、これらの中間に位置するウォームスタンバイという、三つの方法があります。なお、複数の待機系でHAクラスタを構成している場合に、二台目以降で障害が発生した際も次々に処理を引き継いでいく仕組みをカスケードフェイルオーバーと言います。稼働系の障害要因が取り除かれ、本来の稼働系、待機系の構成に戻すことをフェイルバックと言います。

ハードビートの間隔やフェイルオーバー/フェイルバックを自動化するか、手動で行うかは、対象システムに要求される可用性のレベルに応じて決まってきます。


5.3.2. HAクラスタソフトウェア

日本国内ベンダーのクラスタソフトウェア製品では、NECの「CLUSTERPRO」、富士通の「PRIMECLUSTER」、東芝ソリューションの「ClusterPerfect」などが有名です。

HAクラスタを構成する場合、それぞれのノードを二重化するため、それだけでもコストがかかりますので、さらにコストがかかることになるとクラスタを諦める、という選択をされることもあるかもしれません。しかし、諦めないでください。「Heartbeat」というオープンソースソフトウェアがあります。ここでは、Heartbeatについて簡単に紹介します。

Heartbeatは、Linux-HAプロジェクトが提供するGPLのオープンソースソフトウェアです。プロジェクト名にあるLinuxはもちろんのこと、FreeBSDや Solaris、さらにはMacOS/XやOpenBSD上でも動作します。

Heartbeatの主要な機能は以下の通りです。

  • 二台以上のサーバで構成するクラスタに対応
  • データベースサーバ、Webサーバ、メールサーバ、ファイルサーバなど、様々なタイプのサービスを管理できる
  • ミリ秒単位で障害を検知できる
  • クラスタの設定を柔軟に追加できる
  • Heartbeat自身の障害を検知してOSを再起動する仕組みがある
  • 稼働系が待機系の異常を検知した際に、待機系を停止/再起動する仕組みがある

無料小冊子のお申込みはこちら

株式会社システム計画研究所のオフィシャルサイトはこちら

当サイトへのご質問及び安全・安心・信頼のシステム開発に関するご相談はこちら

通信・ネットワークシステムの開発マネージメント情報サイト「通信・ネットワークシステム開発.COM」はこちら

サーバ監視・ネットワーク監視ツール isNetSentry-S のサイトはこちら