Heartbeatについて説明する前に、まず、用語について整理しておきたいと思います。
すでにこの記事でもいくつか出てきていますが、Heartbeatソフトウェアを解説するうえで「Heartbeat」「heartbeat」、そして「ハートビート」と、同じ読み方の用語が3つ出てきます。これらはそれぞれ、次のような異なる意味で使用していますので注意してください。
名称 | 意味 |
---|---|
Heartbeat | オープンソースソフトウェア「Heartbeat」全体を指すものとします |
heartbeat | 上記のHeartbeatで提供されるプログラム、 もしくはそれを起動したときのプロセスを指すものとします |
ハートビート | HAクラスタを構成するPCが相互に状態監視をする際の ネットワーク構成、およびその通信を指すものとします |
Heartbeatは、Alan Robertson氏が率いる「Linux HAプロジェクト」により提供されるオープンソースソフトウェアで、HAクラスタを構成するためのソフトウェアです。Heartbeatの特徴をいくつか書き出しますと、
などが挙げられます。
Heartbeatの歴史はかなり古く、ソースコードに含まれるドキュメントによると、1999年3月に登場したバージョン0.2.0が最初のリリースです。その後、2003年2月にバージョン1.0.1が、2005年7月に2.0.0がリリースされ、最新バージョンは2.1.2となっています。実に7年以上にわたる大プロジェクトです。
また最近になって、メーリングリスト上でバージョン2.1.3のスケジュールが発表されました。皆さんがこれを読んでいるころには、すでにリリースされているかもしれません。
Heartbeatは現在では多くのLinuxディストリビューションに採用されているだけでなく、FreeBSD、Solaris、Mac OS XやOpenBSDに対してもポーティングが行われ、動作が確認されています。
また、Heartbeatにより提供されるものは、コアとなる部分だけでなく、MySQL、DB2といったRDBソフトウェア、DRBD、SANなどのデータシェアリングアレンジメント、SAP、Xen、Apacheといったサービスを管理するための機能も含まれており、商用ソフトウェアと遜色(そんしょく)のない出来になっています。
Heartbeat バージョン1系では、冗長化構成は1台のサーバでサービス提供を行い、もう1台がアクシデントに備えるという形の「アクティブ/スタンバイ構成」(1対1構成とも呼ばれます)のみでした。基本的には、同じスペックのマシンを用意し、サービスを提供しているアクティブサーバに異常が発生した場合、スタンバイサーバが稼働していたサービスをすべて引き継ぐといったものです。
現在のバージョン2系では、それに加えて複数台での構成をサポートしています。それも、「1対多」や「1対n」と呼ばれる構成だけでなく、「多対多」や「n対m」と呼ばれるものにも対応します。管理対象となるノードの最大数はありませんが、30台程度での運用実績があるようです。
加えて、ポリシーベースのリソース配置により、より柔軟できめ細かいクラスタを構成することが可能になっています。図5では示していませんが、時刻を基準としたポリシーも設定できますので、夜間などの負荷の高くなる時間にのみ運用台数を増やすなどの負荷分散を行うことも可能です。
Copyright © ITmedia, Inc. All Rights Reserved.