検索
連載

Heartbeatの特徴とユニークな機能Heartbeatでかんたんクラスタリング(1)(2/3 ページ)

サーバが落ちたときに代替機がそのサービスを引き継ぐことにより、サービスのダウンタイムを減少させるHAクラスタを、オープンソースソフトウェアの「Heartbeat」を使って構成する方法を紹介します。第1回はまず、クラスタリングの基本とHeartbeatの特徴を説明します

PC用表示 関連情報
Share
Tweet
LINE
Hatena

Heartbeatの特徴と歴史

 Heartbeatについて説明する前に、まず、用語について整理しておきたいと思います。

 すでにこの記事でもいくつか出てきていますが、Heartbeatソフトウェアを解説するうえで「Heartbeat」「heartbeat」、そして「ハートビート」と、同じ読み方の用語が3つ出てきます。これらはそれぞれ、次のような異なる意味で使用していますので注意してください。

名称 意味
Heartbeat オープンソースソフトウェア「Heartbeat」全体を指すものとします
heartbeat 上記のHeartbeatで提供されるプログラム、
もしくはそれを起動したときのプロセスを指すものとします
ハートビート HAクラスタを構成するPCが相互に状態監視をする際の
ネットワーク構成、およびその通信を指すものとします

 Heartbeatは、Alan Robertson氏が率いる「Linux HAプロジェクト」により提供されるオープンソースソフトウェアで、HAクラスタを構成するためのソフトウェアです。Heartbeatの特徴をいくつか書き出しますと、

  • オープンソースソフトウェアであるため、特定のディストリビューションに依存しません
  • サブセカンド(1秒未満)単位でサーバ障害を検出します
  • 管理用GUIインターフェイスを提供しています
  • 設定の追加、削除などを、クラスタサービスを止めることなく行えます
  • 1%未満のプロセッサ使用率で動作します
  • ソースコードはセキュリティ専門者が適宜、十分精査しており、安全性も高いものとなっています

などが挙げられます。

 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構成とも呼ばれます)のみでした。基本的には、同じスペックのマシンを用意し、サービスを提供しているアクティブサーバに異常が発生した場合、スタンバイサーバが稼働していたサービスをすべて引き継ぐといったものです。

図4 バージョン1での構成例
図4 バージョン1での構成例

 現在のバージョン2系では、それに加えて複数台での構成をサポートしています。それも、「1対多」や「1対n」と呼ばれる構成だけでなく、「多対多」や「n対m」と呼ばれるものにも対応します。管理対象となるノードの最大数はありませんが、30台程度での運用実績があるようです。

 加えて、ポリシーベースのリソース配置により、より柔軟できめ細かいクラスタを構成することが可能になっています。図5では示していませんが、時刻を基準としたポリシーも設定できますので、夜間などの負荷の高くなる時間にのみ運用台数を増やすなどの負荷分散を行うことも可能です。

図5 ポリシーベースのリソース配置例
図5 ポリシーベースのリソース配置例

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る