Heartbeat開発の中心メンバーが突然の独立宣言? Heartbeatのソースコードはどう変化したのでしょうか。最終回の今回は、開発リポジトリを用いたビルド手順やHAクラスタの運用に際して覚えておくと有用な心得についても紹介します。
前回「ミラーリングツール『DRBD』によるデータ保護」までの4回にわたって、オープンソースソフトウェア「Heartbeat」を用いてHAクラスタを構築する方法を、冗長化の対象となるコンポーネントごとに分けて技術的に説明してきました。これらを一通り解説したことで、Heartbeatを用いてHAクラスタを構築する流れがつかめたと思います。
最終回となった今回は、まず、Heartbeat開発の現状を紹介しましょう。また、実際にクラスタ構築を行う際に知っておくと重宝するノウハウや不具合を避ける方法も解説したいと思います。
Heartbeatの状態遷移エンジン部(CRM:Cluster Resource Manager)のメンテナであったAndrew Beekhof(アンドリュー・ビーコフ)氏は、2007年12月7日、Linux-HA Devメーリングリストに「ANNOUNCE: Project Organization ? CRM to become its own project」というタイトルのメールを投稿しました。
これによりますと、Beekhof氏たちには当初より、HeartbeatのみをターゲットとしたCRMを開発するつもりはなかったそうです。そこで初めの意図に立ち戻り、CRMを「Pacemaker」という独自プロジェクトとしてHeartbeatとは分離し、今後、HeartbeatとOpenAIS(後述)の両方をサポートしていくと宣言しました。
その後もBeekhof氏はHeartbeatの開発リポジトリにコミットしており、Heartbeat-2.1.3も問題なくリリースされました。しかし……くだんのメールが投稿されてから約2カ月後の2月初頭、ついに、Heartbeat開発リポジトリからいくつかのソースコードが削られることになりました。
Beekhof氏は同じ時期に、「RFC: Roadmap for 2.2.0」という件名のメールのスレッドにおいて、新規プロジェクトのPacemakerについて明かしています。
簡単に解説しますと、今後、Pacemakerで提供されるソースコードは、Heartbeatに含まれて配布されることはなく、独立して開発していくとのことです。ですので、これまでと同じようにHeartbeatサービスを使用するには、HeartbeatとPacemakerの両方をそれぞれインストールする必要が出てきました。
ただし、このメールでも書かれているように、これらを組み合わせて独自に配布する分には何も障害がありません。従って、ディストリビューションなどがそれを行う可能性もあるでしょう。
また、私が試したところでは、v1設定のみの場合は特にPacemakerは必要とならず、Heartbeatのみで環境構築可能となっています。
ちなみに、Beekhof氏はその後もLinux-HAのMLに登場しています。そこで報告されたバグに対しても反応し、Pacemakerリポジトリに修正を加えたりもしています。ですので、当初懸念された「今後、まったくHeartbeatにかかわらない」といったスタンスではないと思われます。また、今後も永遠にソースコードが分離したまま提供されるとは限りませんので、引き続き注意が必要でしょう。
OpenAISは、Heartbeatとは別のHAクラスタ構築用のオープンソースソフトウェアです。テレコム業界向けのキャリアグレードLinux提供プロジェクトの一環として、Monta Vista Software(http://www.mvista.com)が主体となって開発が行われています。開発の歴史はHeartbeatより浅く、約5年ほどです。
Red Hat Enterprise Linux(RHEL) 4までは、「Red Hat Cluster Suite」として別製品の形で提供されていましたが、RHEL 5から統合されました。OpenAISは、レッドハットのクラスタリングソフトのベースとなっています。設計自体は軽い感じですが、Heartbeatにおけるリソースエージェント(RA)やGUIツールに当たるものはOpenAISからは提供されておらず、こなれていない面があります。ただし、RHEL5では問題ないレベルで提供されています。
ここまでのお話は、リリース版を使用している人たちにはあまり関係ない話かもしれませんが、当初はかなり混乱した状態だったことをご理解いただければと思います。
これも、現在はかなり落ち着いてきた感があります。しかし、ソースコードの中にはまだ重複して提供されるものもあり、混乱の跡がうかがえます。そこで次に、参考までに、開発リポジトリを用いたビルド手順を簡単に説明しておきましょう。
Heartbeat、Pacemaker、そしてPacemaker Python GUIの開発リポジトリは、それぞれ下記のサイトから入手できます。ただし、これらはソースコードのバージョン変更などにより変わるおそれもありますので、注意してください。
ダウンロード: | |
---|---|
→ Heartbeat | http://hg.linux-ha.org/dev/ |
→ Pacemaker | http://hg.clusterlabs.org/pacemaker/stable-0.6/ |
→ Pacemaker Python GUI | http://hg.clusterlabs.org/pacemaker/pygui/ |
「Pacemaker Python GUI」という聞き慣れない名称のツールが出てきましたが、これはHeartbeatで提供されていたGUIツール(コマンド名hb_gui)が、Pacemakerの分離に伴って名称を変更したものです。
これら3つは、依存関係もありますので、Heartbeat→Pacemaker→Pacemaker Python GUIの順でビルド&インストールを行います。Heartbeatを例に取ると、ソースコードをダウンロード後、
$ tar zxf Heartbeat-6a6ba4591f03.tar.gz $ cd Heartbeat-6a6ba4591f03 $ ./ConfigureMe configure … $ make # make install
のように行います。Pacemaker、Pacemaker Python GUIの場合は、ソースコード名と展開されたディレクトリ名を置き換えてください。
Copyright © ITmedia, Inc. All Rights Reserved.