主配置文件(/etc/ha.d/ha.cf):
debugfile /var/log/ha-debug
调试日志文件文件,取默认值
logfile /var/log/ha-log
系统运行日志文件,取默认值
logfacility local0
日志等级,取默认值
keepalive 2
心跳频率,自己设定。1:表示 1 秒;200ms:表示 200 毫秒
deadtime 30
节点死亡时间阀值,就是从节点在过了 30 后还没有收到心跳就认为主节点死亡,自己设定
warntime 10
发出警告时间,自己设定
initdead 120
守护进程首次启动后应该等待 120 秒后再启动主服务器上的资源
udpport 694
心跳信息传递的 udp 端口,使用端口 694 进行 bcast 和 ucast 通信,取默认值
#baud 19200
串口波特率,与 serial 一起使用。
#serial /dev/ttyS0
采用串口来传递心跳信息。
bcast eth1
采用 udp 广播播来通知心跳
#ucast eth1 10.0.0.3
采用网卡 eth1 的 udp 单播来通知心跳,eth1 的 IP
#mcast eth0 225.0.0.1 694 1 0
采用 udp 多播播来通知心跳
auto_failback on
当主节点恢复后,是否自动切回
#stonith baytech /etc/ha.d/conf/stonith.baytech
stonith 用来保证共享存储环境中的数据完整性
watchdog /dev/watchdog
watchdog 能让系统在出现故障 1 分钟后重启该机器,这个功能可以帮助服务器在确实停止心
跳后能够重新恢复心跳。 如果使用该特性,修改系统中/etc/modprobe.conf, 添加如下行
options softdog nowayout=0
这样在系统启动的时候,在内核中装入"softdog"内核模块,用来生成实际的设备文件
/dev/watchdog
node station3.example.com
主节点名称,与 uname –n 保持一致。排在第一的默认为主节点,所以不要搞措顺序
node station4.example.com
副节点名称,与 uname –n 保持一致
ping 192.168.0.254
respawn hacluster /usr/lib/heartbeat/ipfail
apiauth ipfail gid=haclient uid=hacluster
默认 heartbeat 并不检测除本身之外的其他任何服务,也不检测网络状况。
所以当网络中断时,并不会进行 Load Balancer 和 Backup 之间的切换。
可以通过 ipfail 插件,设置'ping nodes'来解决这一问题,但不能使用一个集群节点作为
ping 的节点。
资源文件(/etc/ha.d/haresources):
station3.example.com IPaddr::192.168.0.200/24/eth0 ldirectord httpd
这个文件中定义了实现集群所需的各个软件的启动脚本,这些脚本必须放在/etc/init.d 或者/etc/ha.d/resource.d 目录里 IPaddr 的作用是启动 Virutal IP,它是 HeartBeart 自带的一个
脚本;ldirectord 的作用是启动 ldirectord 监控程序,它会使 ldirectord.cf 中定义的 lvs 生效,
并监听其健康状;httpd 是 apache 服务的启动脚本。
认证文件(/etc/ha.d/authkeys),文件的权限必须是 600:
auth 3
#1 crc
#2 sha1 HI!
3 md5 Hello!
配置(/etc/ha.d/ldirectord.cf):
checktimeout=3
checkinterval=1
autoreload=yes
logfile="/var/log/ldirectord.log"
quiescent=no
virtual=192.168.0.147:80
real=192.168.0.64:80 gate
real=192.168.0.57:80 gate
fallback=127.0.0.1:80 gate #指当所有的realserver都故障后,为保证访问,启动Load Balancer 上的服务
service=http
scheduler=rr
protocol=tcp
checktype=negotiate
checkport=80
#request="index.html"
#receive="Test Page"
#virtualhost=www.x.y.z 注释掉这三行
以上是 desktop46.example.com 主心跳上的配置,
scp haresources ha.cf ldirectord.cf authkeys desktop94.example.com:/etc/ha.d/
分别在主备心跳上启动 heartbeat 服务:
service heartbeat start
分别查看日志,是否有报错,服务正常的话 Real Server 1多了个 eth0:0 接口,若没有出现,
请等待一会,再使用 ifconfig 查看,若还是没有 eth0:0 接口出现,检查配置文件是否正确!
若停止 Real Server 1 上的 heartbeat 服务,则 Real Server 2 会接管,并产生一个 eth0:0 接口!