Linux-HA Logo

注記

このページでは、Linux-HAプロジェクトのリリース1アーキテクチャについて説明します。リリース 2[1]アーキテクチャの概要については、ベーシックアーキテクチャのページをご覧ください。

技術概要

Linux-HAプロジェクトの中でも、最も有名なコンポーネントがHeartbeat[2]です。Heartbeat[2]は、補助メッセージとして、ネットワーク(またはシリアルポート)を通じて、Heartbeat[2]以外のインスタンスに対するheartbeatパケットを送信します。

Heartbeat[2]は、クラスタ[3]全体にまたがるinitデーモンと大変似た働きをします。管理されたサービスそれぞれが、init(8)リスポーンディレクティブ(respawn directive)を伴ってスポーンされているかのように、常に、動作を確認します。

heartbeatパケットを受信しなくなると、そのノード[4]は停止されたものと仮定され、提供していたサービス(リソース[5])は、別のノード[4]フェイルオーバ[6]されます。こうしたノード停止の仮定は、STONITH[7]watchdog[8]タイマを正しく統合することで、確実に行うことができます。

Heartbeat[2]はまた、ルータとスイッチについても、ping[9]またはping_group[10]ディレクティブを用いて、クラスタメンバーのように監視をします。さらに、Heartbeat[2]は、ipfail[11]プログラムを結合して、ネットワークの接続性が危険にさらされた場合にもフェイルオーバを起こすことが可能です。

Heartbeat[2]は、haresources[12]ファイルの設定どおりに、サービス(リソース[13])を提供します。haresources[12]ファイルのサービスは、左から右の順番でスタートし、右から左の順番でストップします。

コミュニケーション

Heartbeat[2]は、さまざまなメカニズムを用いて、通信を行います。 UDP broadcast[14]UDP multicast[15]UDP unicast[16]シリアル通信[17]経路を組み合わせて、通信が行えます。

Heartbeatは、迷子になったパケット(lost packets)や壊れたパケット(corrupted packets)に対処するために、マルチキャスト通信プロトコルを使用します。

関連情報

クラスタコンセプト[18]ファクトシート[19]ipfail[11]ha.cf[20]Heartbeat[2]haresources[12]Heartbeatリソースエージェント[13]Heartbeatリリース2[1]ベーシックアーキテクチャ[21]テクニカルペーパー[22]


References

[1]http://www.linux-ha.org/ja/v2_ja
[2]http://www.linux-ha.org/ja/Heartbeat_ja
[3]http://ja.wikipedia.org/wiki/コンピュータ・クラスター
[4]http://www.linux-ha.org/ja/ClusterNode_ja
[5]http://www.linux-ha.org/ja/resource_ja
[6]http://en.wikipedia.org/wiki/Failover
[7]http://www.linux-ha.org/ja/STONITH_ja
[8]http://www.linux-ha.org/ja/ha.cf/WatchdogDirective_ja
[9]http://www.linux-ha.org/ja/ha.cf/PingDirective_ja
[10]http://www.linux-ha.org/ja/ha.cf/PingGroupDirective_ja
[11]http://www.linux-ha.org/ja/ipfail_ja
[12]http://www.linux-ha.org/ja/haresources_ja
[13]http://www.linux-ha.org/ja/HeartbeatResourceAgent_ja
[14]http://www.linux-ha.org/ja/ha.cf/BcastDirective_ja
[15]http://www.linux-ha.org/ja/ha.cf/McastDirective_ja
[16]http://www.linux-ha.org/ja/ha.cf/UcastDirective_ja
[17]http://www.linux-ha.org/ja/ha.cf/SerialDirective_ja
[18]http://www.linux-ha.org/ja/ClusterConcepts_ja
[19]http://www.linux-ha.org/ja/FactSheet_ja
[20]http://www.linux-ha.org/ja/ha.cf_ja
[21]http://www.linux-ha.org/ja/BasicArchitecture_ja
[22]http://www.linux-ha.org/ja/TechnicalPapers_ja


This information provided courtesy of the Linux-HA project at http://linux-ha.org/