第3回からは,実際にHeartbeatを使ってクラスタリング構成のサーバーを構築していきます。

Heartbeatで作るクラスタ環境

 ここでは,Heartbeatを使って「1+1」(現用系1台,待機系1台)のクラスタ構成でWebサーバーを構築します。

 平常時にサービスを提供している現用系のWebサーバーに故障が発生したときに,もう一方のWebサーバーに処理を引き継ぎ,ユーザーからは,故障が発生したことに気付かず,Webサイトを継続して参照できるクラスタ構成を構築します(図1)。

図1●本連載で実現するHeatbeatによるフェイルオーバー
図1●本連載で実現するHeatbeatによるフェイルオーバー
[画像のクリックで拡大表示]

事前準備

 Heartbeat導入のための事前準備として,ハードウエア,ソフトウエア,ネットワークの各設定を説明します。

●ハードウエアの準備
まずは,以下のハードウエアを準備します。

  • サーバー用パソコンを2台
     今回は,最もシンプルなクラスタ構成である1+1構成を対象としますので,Webサーバーとなる2台のパソコンを準備します。Heartbeatはハードウエアに依存しない設計となっているため,パソコンはLinuxが動作すれば,どんな機種でも問題ありません。

     ただ,自宅でクラスタ環境を構築する場合には,この準備が最もハードルの高い作業といえます。古くなったパソコンを集められればよいのですが,無い場合には仮想化ソフトを使えば,複数のパソコンを準備しなくともHAクラスタの構築を試してみることが可能です。

     2台のパソコンには,できればネットワーク・インタフェースが2個あるものが望まれます。HAクラスタリング・ソフトの構成では,2台のパソコンが互いの稼働状況を確認する「ハートビート」と呼ばれる通信を定期的に行います。この通信を,サービス提供用のネットワークと別にした方が安定性が高まるためです。

     今回は,64ビット(x86_64)のパソコンを2台用意します。各パソコンには,2個のネットワーク・インタフェースを搭載し,インタフェース名「eth1」をサービス提供用,「eth0」をハートビート通信専用とします。なお,ネットワーク・インタフェースを2個用意できない場合の構築手順も,後に併せて説明します。


  • クライアント用パソコンを1台
     動作確認用のために,クライアント用のパソコンを用意します。これは,ネットワー・インタフェースは1個で問題ありません。

  • ネットワーク・スイッチを1台
     特に制約はなく,安価なもので構いません。

  • LANケーブル:ストレート・ケーブルを3本,クロス・ケーブルを1本
     各パソコンとネットワーク・スイッチ間を接続するために必要な本数を用意します。クロス・ケーブルは,クラスタ用パソコン間のハートビート通信部分で用います。

●ソフトウエアの準備
 次にソフトウエアを準備します。必要なのは,CentOSとHeartbeatのみになります。

  • CentOS
     本連載では,Linux に CentOS 5.2 (x86_64) を用いて構築を行いますので,これを準備します。クライアント用は,動作確認だけであるため,どんなOSでも使えます。サーバーにはCentOS 5.2 (x86_64) をインストールすることとします。CentOSは,同プロジェクトのサイト(http://www.centos.org/)からISOイメージ・ファイルをダウンロードして,CDメディアに焼きます。

  • Heartbeat
     Heartbeat-2.1.3.p1の「rpm」形式のパッケージを準備します。次のHeartbeat日本語サイトから,Red Hat用パッケージが取得可能ですので,そこからダウンロードします。同サイトのURLは,http://linux-ha.org/ja/DownloadSoftware_jaで,パッケージはheartbeat-2.1.3-1.p1.rhel5.x86_64.RPMS.tar.gzです。

     さらに,Heartbeatの追加パッケージ集として,Heartbeat日本語サイトから「Contrib」として提供されている,付属モジュール「クラスタ自己監視プログラム」をダウンロードします。同プログラムのURLは,http://linux-ha.org/ja/monitoring_jaで,パッケージはmonitoring-1.0-x86_64.zipです。

     なお,Heartbeatでは,本家のコミュニティ・サイト(http://linux-ha.org)以外に,日本語サイトからContrib(http://linux-ha.org/ja/Contrib_ja)で,有効なパッケージ集が提供されています。

     今回は,Webサーバーを対象としているため,必要なパッケージは「クラスタ自己監視プログラム」のみでしたが,共有ディスクを用いた環境などには,ここで提供されているパッケージ集が役に立ちます。