Hot Linux トップページ(Redhat/CentOS/FedoraCore/Fedora Linux対応 インストール/設定 Linuxを始めたい人もLinuxで困っている人もどうぞ!)
インストール用メディアの入手はこちらから

Redhat/CentOS/FedoraCore/Fedora/Vine Linux対応 インストール/設定


★最新情報更新 2016-05-16  ★ハードウエア最終更新 2009-12-13

URLをみんなに教えるつぶやく  シェア   
広告
TOP > Redhat系Linux > heartbeat(2.0.x)のインストール/設定

heartbeat(2.0.x)のインストール/設定

更新日:2007-11-16 

うまく印刷できないときは…


●実行環境:WhiteBoxEL4

インストール/設定するもの:heartbeat 2.0.x

heartbeat 2.0.xをインストールしてみます。

cluster1を192.168.1.121
cluster2を192.168.1.122
仮想IPを192.168.1.120
お互いの通信のためのインターフェースはeth0
とします。

まずは、linux-ha.orgから必要なファイルをダウンロードしてきます。
右上あたりにある国旗をクリック → その下あたりの「ダウンロード」をクリック → 「CentOS(RHEL互換)パッケージ」とすすみます。
これは使っているディストリビューションにあわせます。ここではWhiteBoxEL4を使ったので「CentOS(RHEL互換)パッケージ」を選択しました。
環境やインストール状況によって異なると思いますが、結構たくさんのファイルをインストールしなければいけません。
こちらの環境では以下の通りでした

heartbeat-pils-2.0.7-1.c4.i386.rpm※
heartbeat-stonith-2.0.7-1.c4.i386.rpm※
heartbeat-2.0.7-1.c4.i386.rpm※
ipvsadm-1.24-6.i386.rpm
perl-NET-IMAP-Simple-1.16-1.c4.noarch.rpm
perl-Net-SSLeay-1.30-4.el4.centos.i386.rpm
perl-IO-Socket-SSL-1.0.7-1.noarch.rpm
perl-Net-IMAP-Simple-SSL-1.3-1-1.c4.noarch.rpm
perl-TimeDate-1.16-1.c4.noarch.rpm
perl-MailTools-1.7.4-1.c4.noarch.rpm
perl-Mail-POP3Client-2.17-1.c4.noarch.rpm
heartbeat-ldirectord-2.0.7-1.c4.i386.rpm※

本当にインストールしたいファイルは※がついたファイルなのですが、それをインストールするためにほかの必要なものもインストールしています。
順番がバラバラに見えますが、この順でインストールしていけばエラーをいわれずにスムーズにすすめることができます。

順番に 「rpm -Uvh ファイル名」 としてインストールしていきます。

全てインストールが終わったら設定ファイルを/etc/ha.d/内にコピーします

heartbeatの設定ファイルには2.0系の方法と1.x系互換の方法とあるようです。
1.x互換の方が比較的簡単なため、1.x互換で設定することにします。

#cd /etc/ha.d
#cp /usr/share/doc/packages/heartbeat/ha.cf ./
#cp /usr/share/doc/packages/heartbeat/haresource ./
#cp /usr/share/doc/packages/heartbeat/authkeys ./
#chmod 600 authkeys

設定ファイルを編集します。ha.cfはheartbeatの設定、haresourcesはリソースの設定です。
/etc/ha.d/ha.cf (cluster1もcluster2も同じ内容)
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 10
udpport 694
bcast eth0
auto_failback on
node cluster1 ←こっちがプライマリ
node cluster2 ←こっちがセカンダリ
uuidfrom nodename ← マシンを識別するのにnodenameを使用(デフォルトは/var/lib/heartbeat/hb_uuidファイル)

/etc/ha.d/haresources (cluster1もcluster2も同じ内容。"cluster1"はプライマリになるマシンを書きます)
#node-name resource1 resource2 … resourceN
cluster1 192.168.1.120 httpd named smb dhcpd proftpd pgsql
このリソースファイルの中に書いたものは/etc/init.d/内に起動用のスクリプトが必要です。
例えば/etc/init.d/httpd { start | stop | restart | status }という書式のスクリプトです。

/etc/ha.d/authkeysの内容 (cluster1もcluster2も同じ内容)
auth 1
1 crc

プライマリ→セカンダリの順で起動します
ifconfigなどで確認するとcluster1にはeth0:0があり、cluster2にはないはずです。

名前解決ができるように、必要なファイルを編集しておきます。
/etc/hostsの編集 (cluster1もcluster2も同じ内容)
192.168.1.121 cluster1 cluster1.hotlinux cluster1
192.168.1.122 cluster2 cluster2.hotlinux cluster2
192.168.1.120 cluster cluster.hotlinux cluster
named設定ファイルの編集(正引き)
cluster IN A 192.168.1.120
www IN A cname cluster
ftp IN A cname cluster
named設定ファイルの編集(逆引き)
120 IN PTR cluster.hotlinux

heartbeatをとめてもサービスが残ってしまう場合がありました。原因は不明。それがおきると次起動したときにサービスが開始されません。
heartbeatを起動する前に、登録してある全部のサービスが止まっていることを確認しましょう。

nfsをデータ領域としてマウントする場合は…
nfsをデータ領域として使うと、サーバが切り替わってもバックアップサーバのほうにマウントしなおして使うように設定できるので、便利です。その設定方法を紹介します。
まずは、通常通りマウントできるような設定を書いておきます。/etc/fstab内に必要な分だけ追記してください。heartbeatを動かすすべてのマシンに設定しておいてください。(IPアドレスやディレクトリ名は自分の環境に合わせて読み替えてください。)
/etc/fstab (cluster1もcluster2も同じ内容)
192.168.1.252:/volume1/pgsql /home/pgsql nfs rsize=8192,wsize=8192,rw,user,noauto
192.168.1.252:/volume1/wwwuser /home/wwwuser nfs rsize=8192,wsize=8192,rw,user,noauto
192.168.1.252:/volume1/samba /home/samba nfs rsize=8192,wsize=8192,rw,user,noauto

次に、heartbeatからマウントさせるように設定します。

/etc/ha.d/haresources (cluster1もcluster2も同じ内容。"cluster1"はプライマリになるマシンを書きます)
#node-name resource1 resource2 … resourceN(この下の行は一行で書きます)
cluster1 192.168.1.120 Filesystem::192.168.1.252:/volume1/pgsql::/home/pgsql::nfs::rw,exec,rs ize=8192,wsize=8192 Filesystem::192.168.1.252:/volume1/wwwuser::/home/wwwuser::nfs::rw,exec,rsize=8192,wsize=8192 Filesystem::192.168.1.252:/volume1/samba::/home/samba::nfs::rw,exec,rsize=8192,wsize=8192 httpd smb dhcpd proftpd pgsql vncserver named sendmail
こうしておくことで、heartbeatが切り替わった時にnfsをマウントしてサービスが動き出します。

サーバが切り替わったときにメールでお知らせ

cluster1からcluster2へ切り替わったときにお知らせメールが来ると便利です。その設定をしてみます。
切り替わるときにheartbeatが登録されている各種サービスを起動する機能を利用します。

まずはメールを送信するためのperlスクリプトを用意します。
/etc/backup-script/change_server_mail (場所と名前は任意、属性は755 "chmod 755 change_server_mail")
#!/usr/bin/perl
$server_name=shift @ARGV;
$mail="From:test@hot-linux.org";
$mail=$mail."To:test@hot-linux.org";
$mail=$mail."Subject:";
$mail=$mail."Server Change";
open (FILE,"|/usr/local/bin/nkf -j -m0|/usr/sbin/sendmail -f test@hot-linux.org -t test@hot-linux.org");
$mail=$mail.$server_name." Start";
print $mail;
print FILE $mail;
close(FILE);
日本語が正しく送信できるように「nkf」を使っています。このスクリプトの書式は以下のとおりです。
#change_server_mail サーバ名
このスクリプトを手動で実行してメールが来ることを確認しておきましょう。

件名:Server Change
本文:サーバ名 Start

というメールが来れば間違いありません。

次にheartbeatから呼ばれるサービスを登録します。heartbeatは/etc/init.d内にあり、登録済みのサービスを起動しますから、そのタイミングでメールを送信します。
/etc/init.d/change_server (場所は/etc/init.d、名前は任意、属性は700 "chmod 700 change_server_mail")
#!/bin/sh

# Source function library.
. /etc/rc.d/init.d/functions

start() {
/etc/backup-script/change_server_mail cluster-server1
}

stop() {
echo "Stop Server"
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
;;
restart)
stop
start
;;
condrestart)
;;
reload)
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
;;
esac
exit $RETVAL

上記2つのスクリプトをcluster1,cluster2ともに仕込んでおきます。/etc/ha.d/haresourcesのリソースにchange_serverを追加しておきます。
ここまで出来れば完了です。cluster1をとめてみて、メールが来ることを確認しておきましょう

heartbeatは起動するけど、サービスがちゃんと起動しない時は…

/etc/ha.d/ha.cf内の

debugfile /var/log/ha-debug
logfile /var/log/ha-log

の二行を有効にしてheartbeatを起動します。そうすると、それぞれのファイル(特にha-logファイル内)にログが残りますのでそこからエラーを確認しましょう。

また、service [サービス名] start(またはrestart)コマンドでそれぞれのサービスがきちんと起動(または再起動)出来るかどうかも確認しておきましょう。

・失敗した事例1 うまく起動できない
heartbeatが起動させるべきサービスは起動時に開始されないようにしておきましょう
# chkconfig --level 345 httpd off など
先に起動しているとheartbeatが起動させることができず、エラーになって他のサービスも全部停止します。全部停止する時、先に起動していたサービスも停止するため、原因追求に時間がかかりました。(>_<)
heartbeat(2.0.x)のインストール/設定 について質問する


別サイトもあります。リリース中のiPhone/iPad用便利アプリがいろいろ!ぜひご覧ください。
<<heartbeat(1.2.x)のインストール/設定  drbdのインストール>>

URLをみんなに教えるつぶやく  シェア   

TOP > Redhat系Linux > heartbeat(2.0.x)のインストール/設定





携帯でこの記事を読む
下のバーコードを携帯で読み取ろう!モバイル版の【heartbeat(2.0.x)のインストール/設定】が読めます

http://www.hot-linux.org/mobile/redhat/?text_no=129
メインメニュー






Google Sitemaps用XML自動生成ツールを利用しています。

Hot Linux PDF
Hot Linux PDF

サイズ
約41.6MB
更新日
2016/07/09

Copyright (C) 1998-2017 Hot Linux,All right reserved