VA Linux Systems Japan株式会社
花島タケシ
2007/11/13
「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を用いたものも提供されています。
![]() |
| 図6 WatchdogとSTONITHの例 |
この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のインストールといくつかの設定を行い、その手順を解説したいと思います。
|
3/3 |
|
||||||
|
||||||
| Linux Square全記事インデックス |
| Linux Squareフォーラム 仮想化技術関連記事 |
| 連載:実践! Xenで実現するサーバ統合 有力な仮想化技術として注目を集めるようになった「Xen」。このXenを活用してサーバ統合を実践していく手順を具体的に紹介します |
|
| 特集:サーバの仮想化技術とビジネス展開の可能性 jailからUML/VMwareまで 1台のマシンで複数のサーバを動かす「仮想化技術」。VMwareやUMLの登場により、WebサイトだけでなくOS自体を仮想化できるようになった |
|
| 特集:仮想化技術のアプローチと実装 VMwareから要注目技術Xenまで 1台のサーバで複数の仮想マシンを実行する仮想化技術は、空間コストを引き下げる可能性を持つ。最新の仮想化技術を概観してみよう |
|
| 特集:仮想OS「User Mode Linux」活用法 技術解説からカーネルカスタマイズまで Linux上で仮想的なLinuxを動かすUMLの仕組みからインストール/管理方法やIPv6などに対応させるカーネル構築までを徹底解説 |
|
| 特集:仮想化技術の大本命「Xen」を使ってみよう インストール & Debian環境構築編 高いパフォーマンスで本命の1つとなった仮想マシンモニタ「Xen」。日本語による情報が少ないXenを、実際に動かしてみよう |
|
| 特集:仮想化技術の大本命「Xen」を使ってみよう Xen対応カスタムカーネル構築編 Xen環境およびその上で動作する仮想マシン用カーネルを自分で構築しよう。これにより、自由にカスタマイズしたカーネルを利用できる |
|
| 特集:IPv6、UML、セキュリティ機能の統合 全貌を現したLinuxカーネル2.6[第4章] 今回は、これまでに紹介し切れなかった機能を一気に紹介する。これを読めば、カーネル2.6の正式リリースが楽しみになるだろう |
|
| Linux Squareプロダクトレビュー VMware Workstation 4 PC/AT互換機エミュレータとして不動の地位を築いたVMware。その新バージョンがリリースされた。新機能を早速試してみよう |
|
| 古くて新しい「サーバ仮想化技術」の行方 サーバ仮想化を実現するための技術がソフトウェア、ハードウェアの両面で出そろってきた。ハイパーバイザーのさらなる高速化に向けた動きを紹介する |
|
| Linux Squareフォーラム全記事インデックス |
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|





