HAクラスタソフト「Pacemaker」と、その関連プロダクトである「Heartbeat」「Corosync」の関連性について紹介します。
HAクラスタソフト「Pacemaker」とは
概要
Pacemakerはオープンソースソフトウェア(OSS)として開発されている、HAクラスタソフト(リソースマネージャクラスタ)です。Linux-HA Japanプロジェクトが日本国内向けに維持管理/支援などを行っています。
主な特徴
・マシン/アプリケーションレベルの障害検出と回復
・任意の冗長構成サポート
・複数マシン障害に対応
・複数マシンでアクティブにする必要があるアプリケーションをサポート
・複数モードアプリケーション(マスター/スレーブ)をサポート など
オフィシャルサイト
システムノード状態監視ミドルウェア「Heartbeat」とは
概要
Heartbeatは、システムノード状態監視ミドルウェアです。
システム障害を検出した場合にバックアップシステムに切り替えてサービスを継続させるための機能を提供します。
「システム障害を発生させにくくする」ことに加えて、「仮に障害が発生した場合でもサービス停止時間をより短くする」ことを目的としています。
主な機能
Heartbeatは以下の機能を提供します。
・クラスタノード間でのメッセージ交換
・ハードウェアの監視/制御 など
Pacemaker連携
「Pacemaker」と組み合わせて利用することで、リソースの状態まで監視を行うHA(High Availability)クラスタを構築できます。
利用非推奨
「Heartbeat」と「Corosync」は排他的関係になっているため、「Heartbeat+Pacemaker」あるいは「Corosync+Pacemaker」の組み合わせのどちらかを選択する必要があります。
「Heartbeat Ver3.0.6」以降、クラスタリングシステム構築において、Heartbeatは推奨されなくなっており、今後機能強化が行われることがないメンテナンスモードになっています。
Heartbeatの代わりとして、後継となる「Corosync」の使用が推奨されています。
クラスタ通信層制御「Corosync」とは
概要
Corosyncは、HAクラスタ構成の中でクラスタ通信層制御を担当するクラスタ基盤ソフトウェアです。
「Heartbeat」の後継として、クラスタ通信フレームワークを提供し、クラスタ構成サーバ間でノードの死活監視を行います。
主な特徴
・仮想同期保証を備えた閉鎖プロセスグループ通信モデル(複製された状態マシンを作成)
・シンプルアベイラビリティマネージャ(アプリケーションプロセスが失敗した場合にアプリケーションプロセスを再起動)
・構成および統計インメモリデータベース(情報の変更通知を設定/取得/受信) など
Pacemaker連携
Corosyncは高可用性フレームワークとして使用されています。
「Corosync」はクラスタ通信層制御機能を持ちますが、リソース監視/制御機能を持っていません。そのため、リソース監視/制御機能「Pacemaker」と連携させて、クラスタシステムを構成します。
「Corosync」がノード死活監視を行い、ノードがダウンした場合には「Pacemaker」でリソース制御(ノード切り離し+待機系ノードへのリソース引継ぎ)が実行されます。
オフィシャルサイト
→Corosync(The Corosync Cluster Engine)
まとめ
ご紹介したように、「Pacemaker」+「Corosync」を組み合わせることで高機能なHAクラスタ環境を構成できます。
弊社では、DRBDとPacemakerなどを利用したシステム冗長化構成「LINBITクラスタスタック」を提供しています。
→LINBITクラスタスタック(DRBD、Heartbeat、Pacemaker、およびリソースエージェント)を使ったシステムの冗長化
弊社にご連絡をいただければ、さまざまなHAクラスタ環境構築についてのご提案も行えます。まずは、お気軽にお問い合わせください。
→お問い合わせ
参考元サイト