分类: LINUX
2009-05-19 13:13:46
Heartbeat测试安装配置文档
环境:
两台虚拟机做HEARTBEAT
VM211 192.168.83.211 主节点
VM212 192.168.83.212
虚拟IP(即对外服务IP) 192.168.83.213
要确保2个机器的/etc/hosts文件内容一样。例如下:
127.0.0.1 vm211 localhost.localdomain localhost
192.168.83.211 vm211
192.168.83.212 vm212
要确保2个机器的heartbeat配置文件一样,启动时最好先启动主节点(VM211),再启动从节点。
用以下命令启动heartbeat
/etc/init.d/heartbeat start
可以在/var/log/messsage里查看heartbeat运行情况。
安装:
版本 heartbeat-2.1.3
安装比较简单,这里省略。
我这里安装目录在/usr/local/etc/ha.d。crm在/usr/local/var/lib/heartbeat/crm/
配置:
主要有3个配置文件:具体配置可以自己定制,各配置文件,系统里都有详细说明
1.Authkeys内容如下:
auth 2
#1 crc
2 sha1 HI!
#3 md5 Hello!
2.Ha.cf内容如下:grep -v -E '^#|^$' ha.cf
logfile /var/log/ha-log
keepalive 2
deadtime 20
warntime 10
initdead 120
udpport 694
baud 19200
bcast eth0 # Linux
auto_failback on
node vm211
node vm212
3.Haresources内容如下:
vm211 192.168.83.213 httpd
这里关于资源要说一下:
192.168.83.213为虚拟IP。或可以理解为对外服务IP
关于资源,例如本例中vm211 192.168.83.213 httpd,你可以替换httpd为任意你想服务的脚本,比如test.但要注意test脚本要遵循/etc/rc.d/脚本规范,然后把test脚本放到/etc/init.d/里去。这样heartbeat才能找到并启动它。
Heartbeat默认会查找/etc/init.d/里的脚本。如果没有,再找/etc/ha.d/resource.d/下面的。
验证方法:
1. 启动heartbeat后,会在vm211上看到一个192.168.83.213的ip(ifconfig看)。SSH这个IP。发现它是在vm211上的。同时http服务会被启动。
2. 断开vm211的网络,会发现vm212接管HTTP服务,同时192.168.83.213在vm212上,如果把VM211上的/etc/init.d/heartbeat stop,那VM212也一样会接管。
3. 再连接vm211的网络。如果ha.cf里配置了auto_failback on。那vm211会把HTTP接管过来。Vm212放弃HTTP
4. Vm211关机。同2
5. Vm211重启。同3