Pacemakerでかんたんクラスタリング体験してみよう!

第1回 Pacemakerの歴史を見てみよう!

この記事を読むのに必要な時間:およそ 2.5 分

はじめに

Pacemakerというと,心臓ペースメーカーやマラソンペースメーカー,某DJガジェットという印象があるかもしれませんが,それだけではありません!

この連載ではオープンソースで作られているHAクラスタソフト「Pacemaker」を概要から構築,保守運用にいたるまでLinux-HA Japanのプロジェクトメンバーで紹介します。HAクラスタは敷居が高いと考える人は多いでしょうが,この連載で身近なソフトウェアと思っていただければ幸いです。記念すべき連載第1回目では,Pacemakerの概要,歴史を紹介します。

HAクラスタって?

まずクラスタとは何か説明しましょう。クラスタとはもともと果実や花の房という意味で,同じようにまとまっているものの事を言います。

複数のコンピュータをつなげ,全体で1つのコンピュータのように振る舞わせる技術で,大きく分けて信頼性向上を目的とした「高可用性(High Availability)」,計算速度向上を目的とした「HPC(High Performance Computing)」,処理の負荷分散を目的とした「ロードバランシング(Load Balancing)」の3種類ありますが,Pacemakerは高可用性クラスタ(HAクラスタ)のソフトになります。

そのHAクラスタソフトであるPacemakerは,故障を検知した場合,待機系へサービスを引き継がせること(フェイルオーバ)によってサービスのダウンタイムを最小限にする事が可能です。基本構成は運用系と待機系で構成する1+1構成ですが,複数台(N)の運用系ノードに対し待機系ノードも複数台(M)にするN+M構成を構築する事も可能です。

図1 1+1構成例

図1 1+1構成例

図2 2+1構成例

図2 2+1構成例

Pacemakerの基本機能って?

Pacemakerの2大基本機能を紹介しましょう。

クラスタ制御機能

「クラスタ状態を伝播する通信」「クラスタへのノード参加判断」「クラスタノード間における情報の同期」「一定間隔で相手ノードと通信し生死を確認」などを行うのがクラスタ制御機能になります。生死確認の通信はインターコネクト通信(ハートビート通信)といいますが,これが途絶えたときは相手が故障したと判断し,フェイルオーバ処理を実施します。

いわばクラスタ制御機能とは,ノード間の通信・管理およびPacemaker全体処理に関連するHAクラスタの下回りのお仕事をする土台機能になります。

図3 ノード監視(クラスタ制御機能)

図3 ノード監視(クラスタ制御機能)

リソース制御機能

一定間隔でリソースを監視し,正常動作していないと判断した場合にリソースのフェイルオーバ処理を行うのがリソース制御機能になります。

前述したクラスタ制御機能という土台の上でリソース制御機能は動作します。

図4 リソース監視(リソース監視機能)

図4 リソース監視(リソース監視機能)

って,「リソース」とは何よ? と疑問に思う人がいるかと思うので,遅ればせながら簡単に説明しましょう。ここでのリソースとは,Pacemakerが制御対象とするアプリケーション,ネットワーク,ディスク等を示します。

たとえばPostgreSQLによるDBサーバのHAクラスタシステムを構築する場合には,PostgreSQLは「リソース」となります。Pacemakerは,PostgreSQLなどのリソースをリソースエージェントを介して起動(start),停止(stop),監視(monitor)を実行しリソース制御を行います。

って,「リソースエージェント」というまたわかりにくい言葉が出てきましたね。リソースエージェントとは,リソースとPacemakerを仲介するプログラムで,主にシェルスクリプトで作成されています。

PostgreSQLの例で,リソースエージェントの監視(monitor)の概要を説明しましょう。リソースエージェントはPacemaker本体からmonitorという命令を受けます。その命令からPostgreSQL本体に対しselect now()のSQL文を実行し成功するかどうかでリソースの動作を監視しているのです。

リソースエージェントは自作も可能ですが,Web系,DB系,ネットワーク系,ファイルシステム系等多数のリソースエージェントがPacemakerには標準で用意され,様々な監視方法が実装されています。よくアプリケーションの監視スクリプトをゴリゴリ自作したという話を聞きますが,Pacemakerを使用すればそんな苦労をする必要はありません。

著者プロフィール

田中崇幸(たなかたかゆき)

NTTオープンソースソフトウェアセンタ所属。Linux-HA Japanプロジェクト旗揚げメンバーであり,Pacemaker普及促進のためオープンソースカンファレンスでの講演で全国行脚中。

もうひとつの顔は念願のサブスリーを達成したばかりの市民マラソンランナー。

コメント

コメントの記入