« バレンタインにもらいたくない本 | メイン | HDE Mail Filter 3.0 の冗長化? »
2009年1月25日
heatbeat 構築メモ
RHEL 4.x で heatbeat を構築した際のメモ。
cent os 用のrpm で作ろうとした所、依存関係でrpm を入れるのがかなり面倒でした。
(依存関係でそれらのrpm をあつめるのが面倒。CentOS でyum で入れるなら問題ないかも?)
ソースで入れたところ、簡単にインストールできました。
The High Availability Linux プロジェクト
http://hg.linux-ha.org/lha-2.1/archive/STABLE-2.1.4.tar.bz2
The Libnet Packet Construction Library
http://www.packetfactory.net/libnet/dist/libnet.tar.gz
heartbeat をいれるには、 libnet がインストールを先にインストールする必要があります。
ユーザ作成
# groupadd -g 1000 haclient
# useradd -u 1000 -g haclient -s /sbin/nologin hacluster
libnet のインストール
# cd libnet
# ./configure --prefix=/usr/local
# make
# make install
Heatbeart のインストール
# cd Heartbeat-STABLE-2-1-STABLE-2.1.4
# ./ConfigureMe configure
# make
# make install
zephel3.zephel.com 192.168.2.200 (仮想IP)
zephel4.zephel.com eth0:192.168.2.201 eth1:172.20.1.1
zephel5.zephel.com eth0:192.168.2.202 eth1:172.20.1.2
各サーバに設定をします。
zephel4 # vi /etc/ha.d/ha.cf
logfile /var/log/ha-log
keepalive 2
deadtime 20
warntime 10
initdead 120
udpport 694
ucast eth1 172.20.1.2 ←相手のeth1
auto_failback on
node zephel4.zephel.com
node zephel5.zephel.com
ping 192.168.2.1
zephel5 # vi /etc/ha.d/ha.cf
logfile /var/log/ha-log
keepalive 2
deadtime 20
warntime 10
initdead 120
udpport 694
ucast eth1 172.20.1.1 ←相手のeth1
auto_failback on
node zephel4.zephel.com
node zephel5.zephel.com
ping 192.168.2.1
# vi /etc/ha.d/authkeys
auth 1
1 crc
# vi /etc/ha.d/haresources
zephel4.zephel.com 192.168.2.200/24 httpd
自動起動の設定
# chkconfig --add heartbeat
# chkconfig --level 3 heartbeat on
今回は、httpd を切り替えの際に起動、停止を行うため httpd の自動起動停止。
heartbeat から httpd を起動されます。
# chkconfig --level 3 httpd off
→起動確認
zephel4 # ifconfig -a eth0:0
eth0:0 Link encap:Ethernet HWaddr 08:00:27:CA:73:D4
inet addr:192.168.2.200 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
zephel4 # ps -C httpd
PID TTY TIME CMD
5227 ? 00:00:00 httpd
5232 ? 00:00:00 httpd
zephel5 #ps -C httpd
PID TTY TIME CMD
フェイルオーバー
zephel4 # /etc/init.d/heartbeat stop
Stopping High-Availability services: [ OK ]
zephel5 # ifconfig -a eth0:0
eth0:0 Link encap:Ethernet HWaddr 08:00:27:04:F7:04
inet addr:192.168.2.200 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
zephel5 # ps -C httpd
PID TTY TIME CMD
6935 ? 00:00:00 httpd
6951 ? 00:00:00 httpd
zephel4 # ps -C httpd
PID TTY TIME CMD
んー切り替えのタイミングが微妙....
ha.cf で bcast eth1 としていたものを ucast eth1 172.20.1.x にしたら切り替えが早かった。
ブロードキャストは全部のマシンに垂れ流しだからよくないのかな(´д`)
フェイルバック
主系でheatbeat を起動して戻す。
投稿者 hideki : 2009年1月25日 22:16
トラックバック
このエントリーのトラックバックURL:
http://zephel.com/hideki/cgi-bin/mt/mt-tb.fcgi/2532