1. はじめに
この文書は、Turbolinux 7 CLUSTERPRO LE(R)(以降、CLUSTERPRO LEと呼ぶ)を使用し、Apache をフェイルオーバクラスタリング する方法について簡単に説明しています。
CLUSTERPRO LEを使用したフェイルオーバクラスタを構築する際に、参考情報としてご覧ください。
2. ミラー型フェイルオーバクラスタシステムの概要
ここでは、図1のミラー型フェイルオーバクラスタシステムを構築します。このミラー型フェイルオーバクラスタシステムは、2 つのノードで構成され、各
PC サーバのローカルディスク(IDE)に、「Turbolinux 7 Server」、「Turbolinux 7 CLUSTERPRO LE」をインストールし、その上に
Apacheを動作させます。Apacheのhomeディレクトリを、ミラーディスク領域上に構築し、主系(SERVER1)にて動作させます。待機系(SERVER2)は、主系がダウンした場合に、
Apacheを起動し業務を引き継ぎます。Apacheのコンテンツ領域はミラーディスク領域を介して引き継ぎます。
図1

また、通常のクライアントから、クラスタシステムにアクセスする場合には、仮想(フローティング)IP アドレス(192.168.4.15)を経由してアクセスします。仮想
IP アドレスを使用することによりクライアントは業務の切り替えを意識することなくアクセスすることが可能となります。
※ CLUSTERPROマネージャは、実IP アドレスに対してアクセスします。
3. ハードウェア構成
フェイルオーバノードのマシンを2台(SERVER1,SERVER2)用意し、以下の構成にします。
※ フェイルオーバノードのマシンは、同一スペックのものを2台ご用意ください。
【 ネットワークインタフェースカード 2枚 】
[ インタコネクト専用 LAN ]
フェイルオーバ型クラスタの専用通信パスで、ハートビートを行うと同時にサーバ間の情報交換に使用します。今回は、インタコネクト専用LAN を、各サーバごとに以下 IP アドレスで設定します。
SERVER1 : 10.1.1.1/255.0.0.0
SERVER2 : 10.1.1.2/255.0.0.0
[ パブリック LAN ]
クライアントと接続する通信パスです。インタコネクト専用 LAN 異常時には、サーバ間の情報交換にも使用します。以下のIPアドレスで設定します。
SERVER1 : 192.168.4.21/255.255.255.0
SERVER2 : 192.168.4.22/255.255.255.0
【 ハードディスク 2台 】
Turbolinux OSをインストールするディスク1台と、CLUSTERパーティション及び切替ミラーパーティションを格納する為のディスク1台を用意します。
フェイルオーバクラスタを構成するノード以外に、以下のノード(兼用可)を用意します。
【 CLUSTERPRO マネージャ 】
GUI によるクラスタシステムの設定/管理クライアントで、Windows(95/98/NT4.0/2000/Me/XP)に、このCLUSTERPROマネージャをインストールします。
【 通常クライアント 】
ブラウザを使用してアクセスします。
4. インストール
4.1 Turbolinux 7 Serverのインストール と CLUSTERパーティション及び切替ミラーパーティションの作成
Turbolinux 7 Server を、両フェイルオーバノード(SERVER1, SERVER2)にインストールします。詳細は、Turbolinux7 Serverの「インストールガイド」を参照してください。
接続したハードディスクがIDEであった場合、パーティション構成は以下のようになります。(SCSIハードディスクの場合、hda(b)をsda(b)に読み替えてください。)
Disk 1 [/dev/hda]
通常のOSインストールを行ってください。 OSのインストーラでDisk2上にパーティションを割り当てる必要はありません。
Disk 2 [/dev/hdb]
下記コマンドは、両フェイルオーバノードで実施して下さい。OSインストール後にfdiskして下さい。
※OSの/etc/fstabに、このDiskの情報は記述しないでください。
# fdisk /dev/hdb <- man fdisk参照
/dev/hdb1 → CLUSTERパーティション (10Mbyte程度)
/dev/hdb2 → 切り替えミラーパーティション (残り領域全て)
|
4.2 Turbolinux 7 CLUSTERPRO LE のインストール
Turbolinux 7 CLUSTERPRO LEを、以下の手順で両フェイルオーバノード(SERVER1,SERVER2)にインストールします。
※ インストールは、root 権限を待つユーザで行ってください。
# mount /mnt/cdrom
# miniuni
# cd /mnt/cdrom
# sh install.sh
Turbolinux 7 CLUSTERPRO LE のインストールを行いますか? [y/N]
y
TurboContrib/RPMS/clusterprolite-2.0-1.0.i386.rpm
Preparing... ########################################### [100%]
1:clusterprolite ########################################### [100%]
#
|
※ Xを使用せずに、インストールする場合にはminiuniコマンドを実行することで日本語の表示が可能になります。 # miniuni
4.3 CLUSTERPROマネージャのインストール
CLUSTERPRO マネージャ(管理端末)を用意したWindowsマシンにインストールします。
- CLUSTERPRO CD-ROM を挿入すると、「CLUSTERPROマネージャ」のインストールダイアログボックスが表示されます。[続行]を押してください。CD-ROMが自動起動に設定されていない場合は、CD-ROM
内の "\CLUSTERPROLite\Win\armmgr\Setup32.exe" を実行してください。
- 「CLUSTERPROマネージャ」をインストールするディレクトリを指定して、[続行]を押してください。指定したディレクトリが存在しなければ新規に作成する旨のメッセージが表示されます。既に指定したディレクトリが存在する場合には、そのディレクトリ内のファイルを上書きする旨のメッセージが表示されます。問題ない場合には、[続行]を押してください。
- 入力情報の確認ダイアログボックスが表示されます。正しいことを確認し、[続行]を押してください。
- 「CLUSTERPRO サーバ」との通信及び「CLUSTERPROマネージャ」のモジュール間通信を行うために、必要なポート番号を示すダイアログボックスが表示されます。ポート番号を変更せずにそのまま[続行]を押してください。
- 「CLUSTERPROマネージャ」セットアップ完了画面が表示されます。
以上で「CLUSTERPROマネージャ」のインストールは完了です。CLUSTERPRO マネージャを有効にするために、管理端末を再起動してください。
4.4 トレッキングツールのインストール
クラスタシステムの情報生成を素早く実施するために、トレッキングツールをインストールします。トレッキングツールを使用せずにフェイルオーバノード(SERVER1,SERVER2)のコマンドでクラスタシステムを作成することも出来ますが、本ドキュメントでは割愛しています。
※ CLUSTERPRO LEではトレッキングツールの使用を推奨します。
- CLUSTERPRO CD-ROM を挿入すると、「CLUSTERPROマネージャ」のインストールダイアログボックスが表示されますが、中止してください。
- CD-ROM内の"\CLUSTERPROLite\Win\trek\setup.exeを実行して、[続行]を押してください。
- 入力情報の確認ダイアログボックスが表示されます。正しいことを確認し、[続行]を押してください。
- 「CLUSTERPROトレッキングツール」セットアップ完了画面が表示されます。
以上で「CLUSTERPROトレッキングツール」のインストールは完了です。
5. フェイルオーバクラスタの構築
各ノードへ TurbolinuxOS および CLUSTERPROをインストールし、CLUSTERPRO マネージャ、CLUSTERPRO トレッキングツールの準備が完了したら、フェイルオーバクラスタの構築を実施します。
5.1 フェイルオーバノード(SERVER1,SERVER2)の準備
マウントポイントの作成
フェイルオーバノードの2台のマシンに「切替ミラーパーティション」用のマウントポイントを作成します。このマウトポイントはミドルウェア(CLUSTERPRO Server)が使用しますので、LinuxOSの/etc/fstab等には記述しないでください。ポイント名をmirrorとして作成します。
※ マウントポイントの作成は、クラスター構築時に自動でも実行されます。
# rm -rf /mnt/mirror; mkdir /mnt/mirror
#
|
作成したマウントポイントは、/dev/hdb2(4.1を参照)をマウントするポイントとして使用します。マウントするアプリケーションは、今回の場合Apacheになります。
切替ミラーパーティションで使用するアプリケーション(Apache)の移動は、 「5.5.2 アプリケーションの移動」で実施します。
5.2 トレッキングツールを使用した、ミラー型フェイルオーバクラスター情報FDの生成
CLUSTERPRO LEでは、トレッキングツールを使用して構築することを推奨します。
5.2.1 トレッキングツールによる 情報FD 作成方法
トレッキングツールを起動し、クラスター(M)→スーパークラスタの生成(M)を選択します。下の画面でスーパークラスタ名を記述します。
ツリービューでSuperClusterにフォーカスし、クラスタ(M)→サブクラスタの生成(データミラー)(A)を選択します。
サブクラスタ情報と1台目(主系)のサーバ情報を以下のように設定します。[ 次へ ]ボタンで2台目(待機系)のサーバ情報も設定します。
[ 追加 ]ボタンを選択して、ミラーセット情報ダイアログの中を設定します。[ OK ]ボタンを押すと以下のような画面になります。
デフォルトのまま次へを選択します。
設定を確認して[ 完了 ]ボタンを選択します。
ツリービュー画面は以下のようになります。
ツリービュー画面でクラスター(M)→グループの追加を選択します。グループ名を記述して次へを選択します。
フェイルオーバのプライオリティを以下の順番(SERVER1、SERVER2)で設定し[次へ]ボタンを押します。
切り替えミラーディスクの設定画面で[ 追加 ]ボタンを選択し、ミラーパーティション情報を以下のように設定します。設定後、[OK]ボタンで切り替えミラーディスクの設定画面に戻り[次へ]ボタンを押します。
フェイルオーバグループ生成の画面で[ 追加 ]ボタンを選択し、フローティングIPリソース設定を以下のように設定します。
スクリプトを編集するをチェックして[ 次へ ]ボタンを選択します。
[ 編集 ]ボタンを選択して、開始/終了スクリプトの編集を行います。
#! /bin/sh
#***************************************
#* START.BAT *
#***************************************
if [ "$ARMS_EVENT" = "START" ]
then
if [ "$ARMS_DISK" = "SUCCESS" ]
then
armlog "NORMAL1"
追加部分→ /etc/init.d/httpd start
:
:
elif [ "$ARMS_EVENT" = "FAILOVER" ]
then
if [ "$ARMS_DISK" = "SUCCESS" ]
then
armlog "FAILOVER1"
追加部分→ /etc/init.d/httpd start
:
:
|
エディタで以下のように編集してください。
#! /bin/sh
#***************************************
#* STOP.BAT *
#***************************************
:
:
if [ "$ARMS_EVENT" = "START" ]
then
if [ "$ARMS_DISK" = "SUCCESS" ]
then
armlog "NORMAL1
追加部分→ /etc/init.d/httpd stop
:
:
elif [ "$ARMS_EVENT" = "FAILOVER" ]
then
if [ "$ARMS_DISK" = "SUCCESS" ]
then
armlog "FAILOVER1"
追加部分→ /etc/init.d/httpd stop
:
:
|
リソースの監視を設定して次へを選択します。
デフォルトのまま完了を選択します。
ツリービューを展開すると以下のようになります。
5.2.2 情報FDに保存
トレッキングツールでのシステム設定が完了したら、FDへ保存します。
ファイル(F) → 情報ファイルの保存(S)
5.3 自動起動の設定
クラスターサーバの自動起動を設定します。両フェイルオーバノード(SERVER1,SERVER2)で、以下のコマンドを実行後シャットダウンします。
# /etc/clusterpro/armstartup -auto
set auto
armon : auto
# shutdown -h now
......... Shutdown Process ........
|
シャットダウン後、主系(SERVER1)のみ起動します。起動後、主系のサーバにトレッキングツールで作成した情報FDを挿入して以下のコマンドを実行します。情報FDからクラスター情報がセットアップされたら主系をリブートします。
# armsctrl -c
armsctrl:Success.
#
#
# shutdown -r now
......... Shutdown Process ........
|
5.4 CLUSTERPROマネージャの確認 主系のサーバが起動されたら、WindowsマシンにインストールしたCLUSTERPROマネージャの画面を確認して下さい。CLUSTERPROマネージャの画面で主系(SERVER1)のマシンが緑色になれば正常に稼働しています。緑色になったことが確認できたら、待機系(SERVER2)のマシンも起動して下さい。しばらくすると、ミラーの再構築が開始されます。
CLUSTERPROマネージャの画面からクラスター(M) → クラスタの登録(R)の画面から[ 自動発見 ]ボタンを押します。

アドレス空間をセットして、[ OK ]ボタンを押します。その後、自動発見結果画面でSuperClusterを選択後、[ OK ]ボタンを押します。

主系(SERVER1)が緑色になっていることを確認して下さい。

ここで、CLUSTERPROマネージャの主系(SERVER1)が緑色と確認できたら、待機系(SERVER2)を起動します。しばらくすると、ミラーの再構築画面が表示されます。
※ 待機系(SERVER2)は、主系(SERVER1)再起動後 5 分以上経過してから再起動させます。

ツリー全てが緑色(活性状態)になっていることを確認して下さい。

5.5 ファイルシステムの調整とアプリケーションの移動
5.5.1 ファイルシステムの調整
以下のコマンドを実行してみてください。
mkfs.ext3 コマンドを実行して、EXT3 ファイルシステムを構築しただけでは、そのパーティションに対して、マウントカウント到達時点(Maximum mount count:)もしくは起動後の経過時間到達(Check interval:)により fsck の自動実行制御が設定されています。以下コマンドを実行し、fsck の自動実行制御を抑制してください。 この処理は両方のフェイルオーバノード(SERVER1,SERVER2)に対して実行して下さい。
# tune2fs -c -1 -i 0 /dev/hda2
|
上記設定を行うことで、OS からの自動的な fsck 実行制御を抑制することができますが、定期的なメンテナンスのタイミングで fsck を実行することをお勧めします。
5.5.2 アプリケーションの移動
切替ミラーパーティションで使用するアプリケーションを移動します。今回は、Apacheのコンテンツ領域(/var/www)を移動します。
このコマンドは、主系(SERVER1)で実行して下さい。
※ 切替ミラーパーティションの/dev/NMP1というデバイス名は、ミドルウェア(CLUSTERPRO LE)が自動で作成した名称です。
# df -k |grep NMP1
/dev/NMP1 1011960 16440 944112 2% /mnt/mirror
上記のように切替ミラーパーティションがマウントされているのを確認して下記を実行。
# mv /var/www /mnt/mirror
# ln -s /mnt/mirror/www /var/www
|
今回移動したアプリケーションは、待機系(SERVER2)にもミラーされます。
6.クラスタシステムの確認
Apacheのクラスタシステムを確認するには、クライアントのブラウザから仮想IPアドレスに接続して確認して下さい。構築したネットワーク空間内で名前解決できない場合は、IPアドレスで確認して下さい。
(フローティングIPアドレス : 192.168.4.15)
又、主系(SERVER1)にApacheグループがある場合、主系から待機系へグループを移動(擬似的フェイルオーバ)してもApacheサーバからコンテンツが配信されていることを確認して下さい。
CLUSTERPROマネージャのツリーに表示されているApacheグループで、右クリック → グループの移動(G)を実行します。

グループの移動が確認できたら再度、フローティングIPアドレス(192.168.4.15)にブラウザからアクセスしてみます。アクセスができれば、処理が継続されている事を確認できます。
以上
関連文書
- Turbolinux 7 CLUSTERPRO LE システム構築ガイド
対象製品
- Turbolinux 7 CLUSTERPRO LE
|