第4回 故障発生時にフェイルオーバーしない?
田中 崇幸
NTT OSSセンタ
2008/7/24
| NTTグループの各社で鳴らした俺たちLinuxトラブルシューティング探偵団は、各社で培ったOSS関連技術を手に、NTT OSSセンタに集められた。普段は基本的にNTTグループのみを相手に活動しているが、それだけで終わる俺たちじゃあない。引き続きOSSに関するトラブルの解決過程を@ITで連載していくぜ。
ソースコードさえあればどんなトラブルでも解決する命知らず、不可能を可能にし、多くのバグを粉砕する、俺たちLinuxトラブルシューティング探偵団! 助けを借りたいときは、いつでもいってくれ! OS:高田哲生 俺はリーダー、高田哲生。Linuxの達人。俺のようにソースコードレベルでOSを理解している人間でなければ、百戦錬磨のLinuxトラブルシューティング探偵団のリーダーは務まらん。 Web:福山義仁 俺は、福山義仁。Web技術の達人さ。ApacheのようなWebサーバからTomcat、JBossみたいなJava、アプリケーション技術まで、何でも問題を解決してみせるぜ。 DBMS:下垣徹 下垣徹。PostgreSQLの達人だ。開発からサポートまで何でもやってみせらぁ。でも某商用DBMSだけは勘弁な。 HA:田中 崇幸 よぉ! お待ちどう。俺さまこそHAエキスパート。Heartbeatを使ってクラスタを構成する腕は天下一品! HAが好きなんて奇人? 変人? だから何? HaHaHaHa!! システム最後のとりで、HAらしく、4回目の大事な大トリは、俺さま田中崇幸が受け持つぜ! |
| 関連記事: | |
| 第1回 高負荷なのに片方のサーバにだけ余裕が……なぜ? http://www.atmarkit.co.jp/flinux/rensai/troubleshoot01/ts01a.html |
|
| 第2回 サービス直前の非常事態! アプリケーションが復帰しない? http://www.atmarkit.co.jp/flinux/rensai/troubleshoot02/ts02a.html |
|
| 第3回 PostgreSQLを遅くしている犯人はどこだ? http://www.atmarkit.co.jp/flinux/rensai/troubleshoot03/ts03a.html |
|
故障対策のはずのHAクラスタで故障って……?
4回目はオープンソースである「Heartbeat」(http://linux-ha.org/ja/HomePage_ja)を用いた高可用性クラスタシステム(HAクラスタ)の故障と解決例を紹介します。
HeartbeatやHAクラスタの概要、インストール方法などは過去の連載を読んでいただくのがよいでしょう。「リソース」や「リソースエージェント」というキーワードも多数出てきますので、これについてはコラムを参照してください。
| 関連記事: | |
| 連載:Heartbeatでかんたんクラスタリング http://www.atmarkit.co.jp/flinux/index/indexfiles/heartbeatindex.html |
|
| Linuxクラスタリングへの招待 http://www.atmarkit.co.jp/flinux/index/indexfiles/clusterindex.html |
|
今回紹介するトラブル例は、Webアプリケーションシステムを、オープンソースのHeartbeatを用い、アクティブ-スタンバイ形式でHigh Availability(HA)クラスタ化したシステムで起こった故障事例です。
ノードやリソースの故障発生時には、アクティブ系からスタンバイ系へフェイルオーバーするといった、ごく一般的なHAクラスタモデルです。
![]() |
| 図1 標準的なアクティブ-スタンバイ型のHAクラスタモデル例 |
と、すでにここで、読者の中には疑心暗鬼になっている人がいるかもしれませんね。本来HAクラスタは、故障発生時にもサービスを継続させる仕組みのはずですから。そんなHAクラスタで故障が起こるって、一体どういうことなのでしょう?
故障が発生したのにフェイルオーバーしない!?
ある日、クライアントのWebブラウザでWebアプリケーションに接続すると、Apacheの「Internal Server Error」の画面が突如出てくるといった故障が発生しました。しかし、サーバ側でスタンバイ系へフェイルオーバーする気配はなく、サービスは復旧しません。これではノード監視だけではなくリソース監視も行うHAクラスタの意味がありません。
では、なぜHeartbeatはフェイルオーバーさせなかったのでしょうか?
| ■コラム 「リソース」「リソースエージェント」とは? | |||
HAクラスタにおける「リソース」とは、サービスを提供するために必要な構成要素のことで、Heartbeatが起動、停止、監視などの制御対象とするアプリケーションやNIC、ディスクなどを示します。 「リソースエージェント」とは、そのリソースとHeartbeatを仲介するプログラムになります。Heartbeatは、リソースエージェントに対して指示を出し、リソースの起動(start)と停止(stop)の制御を行います。さらにバージョン2では、バージョン1では実装されていなかったリソースの監視(monitor)も可能になりました。
Heartbeatバージョン2では、Web系、DB系、ネットワーク系、ファイルシステム系などのリソースエージェントが、OCF(注)形式で/usr/lib/ocf/resource.d/heartbeat/に標準で多数用意されています。一般的にシェルスクリプトで作成され、ユーザーが新規に作成することも可能です。 Heartbeatは、リソースエージェントからリソースを起動(start)し、監視(monitor)していて故障検出した場合は、リソースを停止(stop)し、スタンバイ系にフェイルオーバーを行うことが可能です。
|
| 第3回へ | 1/3 |
|
||||||
|
||||||
TechTargetジャパン
- OSSライセンスの採用傾向に「変化」あり (2012/5/21)
OSS普及の一翼を担ってきたライセンス、GPLファミリー採用の割合が減少傾向にあるそうです。いったいどうして? - ここからFirefoxの反撃が始まる (2012/3/12)
2月のLinux SquareのランキングではFirefoxの記事がダントツのページビューを集め、トップに立ちました - CMakeでMySQLをビルドしてみる (2012/3/8)
ここまでの作業でCMakeを使う準備が整いました。今回はひとまずMySQLをビルドしてみます - MySQLのビルドに欠かせないCMakeを準備する (2012/3/2)
今回は、MySQLをビルドするために欠かせないツール「CMake」をインストールし、使う準備をします
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -


