第3回からは,実際にHeartbeatを使ってクラスタリング構成のサーバーを構築していきます。
Heartbeatで作るクラスタ環境
ここでは,Heartbeatを使って「1+1」(現用系1台,待機系1台)のクラスタ構成でWebサーバーを構築します。
平常時にサービスを提供している現用系のWebサーバーに故障が発生したときに,もう一方のWebサーバーに処理を引き継ぎ,ユーザーからは,故障が発生したことに気付かず,Webサイトを継続して参照できるクラスタ構成を構築します(図1)。
事前準備
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サーバーを対象としているため,必要なパッケージは「クラスタ自己監視プログラム」のみでしたが,共有ディスクを用いた環境などには,ここで提供されているパッケージ集が役に立ちます。