Heartbeatの仕組み
Heartbeatの仕組み
オープンソースとして開発されているHAクラスタソフトウェアのHeartbeatは、1999年に登場しましたが、2005年夏にリリースされたv2.0で大きな機能的向上がなされています。ここでは、その基本的な仕組みと機能について確認します。

図2:Heartbeatの仕組み
ハートビート
クラスタノード間の通信を行うためには、最低1つのハートビート専用のネットワークが必要です。また、ハートビートに使用するネットワークが切れた 場合には、待機系のノードが間違って稼動してしまう「スプリットブレイン」の状態になる可能性があるため、2つ目のハートビート専用のネットワークを用意 することが推奨されています。2ノードクラスタの場合、2つ目のネットワークの代わりにクロスケーブルによるシリアル接続も可能です。
ネットワーク監視(PING監視)
ネットワークインターフェースの状態を確認するために、指定したIPアドレスにPINGが通るかどうかのチェックを行うことができます。
仮想IPアドレス
指定したIPアドレスを仮想IPアドレスとして設定します。
共有リソース
共有リソースとして次のような種類のものを登録することができます。
- ファイルシステム
- SCSIデバイスへのアクセス抑制
- 起動ファイルが作成されているサービス
- xinetdに登録されたサービス
この他にも標準でサンプルスクリプトが"/etc/ha.d/resource.d/"以下にインストールされているので、共有リソースとしてすぐ に使用できます。最も使用頻度が高いと思われるApacheをはじめ、商用データベースであるDB2用のスクリプトなどもあります。
サービス監視
商用のクラスタソフトウェアの場合、標準でメジャーなアプリケーション用のサービス監視機能が搭載されていたりしますが、Heartbeatの場合には標準機能としてはありません。
そのため、Heartbeat 1.xの場合には、他の監視用ソフトウェアを併用する必要がありましたが、Heartbeat 2.xからはrespawnの機能を使用することで、必要に応じたサービス監視のためのスクリプトを作成することで対応ができるようになりました。
障害時の通知
共有リソースにある、制御用に用意されたサンプルスクリプトである"MailTo"を使用すれば、フェイルオーバー時に指定したアドレスへメールを送信することも可能です。