Heartbeatの特徴とユニークな機能:Heartbeatでかんたんクラスタリング(1)(3/3 ページ)
サーバが落ちたときに代替機がそのサービスを引き継ぐことにより、サービスのダウンタイムを減少させるHAクラスタを、オープンソースソフトウェアの「Heartbeat」を使って構成する方法を紹介します。第1回はまず、クラスタリングの基本とHeartbeatの特徴を説明します
「Watchdog」と「STONITH」
ここで、Heartbeatの面白い機能を2つ紹介しましょう。「Watchdog」のサポートと「STONITH」機能です。
Watchdogは日本語に訳すと「番犬」といったところでしょうか。
Heartbeatは、ハードウェア障害やサービスの障害を検知することができます。では、Heartbeat自体に障害が起きたら、誰が面倒を見ればいいのでしょうか? HeartbeatはWatchdogのサポートにより、このパラドックスを解決しています。
HeartbeatがサポートするWatchdogに、Linuxカーネルが提供するWatchdog機能があります。Linux Kernel Watchdogは、監視対象プロセスが一定期間応答を返さなかった場合にOSの再起動を行います。これにより、特別なハードウェアを必要とすることなく、Heartbeat自体に障害が発生したときにサーバが再起動され、フレッシュな状態にすることができます。
STONITHは、「Shoot The Other Node In The Head」の略で、「Node Fencing」ということもあります。監視対象ノードに異常が発生した場合、監視しているノード(正常なノード)が監視されているノード(異常ノード)を強制的に停止/再起動させることができる機能です。
最近のLinuxカーネルでは見なくなりましたが、かつては、カーネル自体の反応はないのにIPアドレスを離してくれない……といったことがよく起きていました。もし、これがHAクラスタを構成するサーバで起きたときはどんなことになるでしょう? Heartbeat自体が異常を検知し、スタンバイノードをアクティブにすることにより、サービスを維持しようとします。しかしこのままではIPアドレスが重複した状態になるため、正しくサービスを維持することができなくなります。
このようなときにSTONITH機能を設定しておくと、異常のあったノードを停止/再起動することにより、円滑なフェイルオーバーを行い、サービスのダウンタイムを軽減させることができます。ただし、この機能を用いるにはサーバ機本体に専用ポートが必要なためコストが掛かってしまうこともあります。また、テスト用に近いものですが、SSHを用いたものも提供されています。
このSTONITHについては面白い逸話がありますが、これについては、ぜひLinux-HAのサイトで読んでみてください。またWatchdogとSTONITHについては、次回以降でより詳しく紹介したいと思っています。
以上のように、Heartbeatは個人ユースだけでなく、企業での使用に耐え得る高度なソフトウェアになっているといえます。
また、Linux HAの日本語サイト[注11]も開設され、情報の取得が容易に行えるようになりました。皆さんもぜひこの機会にサイトを読んでいただき、Heartbeatを試していただければと思います。
【注11】 http://linux-ha.org/ja/HomePage_jaを参照
商用ソフトウェアとの違いは?
私自身、それほど多くのHAクラスタリングソフトウェアを触ったことがあるわけではありませんが、ここで、Heartbeatとある商用製品とを簡単に比較してみたいと思います。主な違いは以下のとおりです。
項目 | Heartbeat | 商用製品 |
---|---|---|
インストール | ○ RPMなどのパッケージで提供されている場合は容易だが、ソースコードからビルドとなると…… |
○ インストール用のコマンドを実行するだけ。ただし、対応していないディストリビューションには基本的にインストールが行えない |
設定 | △ GUIツールにて設定が行えるが、結構難しい面もある |
○ Webブラウザ経由で対話的な設定を行う |
管理 | △ 設定用GUIツールにて行えるが、設定と同じ問題もある。また、コマンドでも行える |
○ Webブラウザ経由での管理が行える |
拡張設定 | ○ 既存の設定に対し、付加していくことが可能 |
× 既存設定に対して拡張する場合、設定を最初からやり直さなくてはならない |
サポート ソフトウェア |
○ 過不足ない程度までそろっている |
○ サポートしているものは多いが、別途料金が発生することもある |
IPv6サポート (アプリケーションサービス用) |
○ | × 今後の予定もなし? |
STONITH | ○ | △ 独自拡張が必要 |
開発容易性 | ○ | △ |
やはりHeartbeatと商用製品では、無償、有償、開発体制などの影響もあって、それぞれに異なる傾向が出ていると思いますが、いかがでしょう?
では次回は、実際にHeartbeatのインストールといくつかの設定を行い、その手順を解説したいと思います。
Copyright © ITmedia, Inc. All Rights Reserved.