HAを見守る「Watchdog」と「STONITH」Heartbeatでかんたんクラスタリング(3)(1/3 ページ)

サービスの継続を確保するはずのHeartbeat自体が不安定になってしまったら、いったいどうすればいいのでしょう? この問題を解決してくれる2つの機能「Watchdog」と「STONITH」の使い方を紹介しましょう。

» 2008年01月23日 00時00分 公開
[花島タケシVA Linux Systems Japan株式会社]

自浄機能として働く2つの機能

 前回まで、オープンソースのHA(高可用性)クラスタ構築ソフトウェア「Heartbeat」の導入・設定方法を解説してきました。これを踏まえて今回は、予告どおり、Heartbeatのユニークな機能である「Watchdog」と「STONITH」に触れていきたいと思います。

 第1回でも紹介したとおり、この2つは、Heartbeat自身の「自浄機能」ともいえる役割を果たすものです。簡単に説明しますと、

名称 役割
Watchdog 稼働しているノードが不安定になったときに、ホストをOSごと再起動する機能
STONITH 相手ノードが不安定になったときに、相手ノードをOSごと再起動/停止する機能

となります。

 Heartbeatはあるサービスを監視し、そのサービスやOSに不具合が生じた場合にフェイルオーバーを行うことで、サービスの継続を確保します。しかしながら、Heartbeat自体が不安定になってしまった場合、サービスの二重起動などが発生して、いわゆる「スプリットブレイン(split brain)現象」に陥り、正常なサービスの継続が行えなくなってしまいます。

図1 WatchdogやSTONITHの役割 図1 WatchdogやSTONITHの役割

 また、heartbeatプロセスから起動される子プロセスがkillされたときにも、OSの再起動などが行われることがあります。

 そうしたとき、WatchdogやSTONITHの機能を利用することで、こうした問題を回避できます。

 では、それぞれの設定方法とテスト方法を紹介していきましょう。Heartbeatも含めた全体的な設定環境は、下記のとおり、前回紹介したApache向けの設定を流用することにします。

図2 全体的な設定環境 図2 全体的な設定環境

 また後述するコラムのように、新たにバージョン2.1.3がリリースされましたので、以降の解説はこのバージョンをベースに進めていきたいと思います。

コラム 最新バージョン、2.1.3リリース

 2007年12月21日に、Heartbeatの最新バージョンとなる2.1.3がリリースされました。ここでの主な変更点としては、

  • 2.1.2で報告されたPolicy Engineのバグの修正
  • 管理用コマンド「ciblint」「hb_report」の追加
  • Tomcat、iSCSI、ids(IBM Informix Dynamic ServerSphinxSearchDaemon用RA(リソースエージェント)の追加やXen用RAの最新版対応
  • STONITH external/ipmi、ibmrsa-telnetの追加
  • OpenBSDへの対応
  • heartbeatが不安定になったときの挙動の変更
  • そのほか、バグ修正など

があります。

 例えばTomcatは、いままでもHeartbeatから使用できなかったわけではありません。しかしTomcat用RAが提供されたことにより、使用に当たっての敷居が低くなりました。実際のところ、ApacheとTomcatを組み合わせて使用されているケースも多いので、そうしたサイトでもHeartbeatを導入するメリットが増えたと思います。

また、Xen用RAがXenの最新版に追従したことも、現在のリソースリッチなハードウェア状況を考えるとうれしい限りです。個人的には、次期バージョンでは、DRBD(http://www.drbd.org/)の最新版(8.x系)への対応に期待したいと考えています。

 なお、記事の執筆時点では、まだCentOS用のパッケージは提供されていませんが、これまで同様、間もなく提供されると思います。またRHEL用のものは、Heartbeat日本語サイトにて公開されています。


       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。