heartbeat
•环境:
–node1.uplooking.com( 主分发器 ) :
–DIP : 192.168.1.254
–VIP : 192.168.1.100
–node2.uplooking.com( 从分发器 ):
–DIP: 192.168.1.18
–RealServer1:
–RIP: 192.168.1.3
–RealServer2:
–RIP: 192.168.1.4
配置:
1、
安装全部( heartbeat 目录)
2、
要让双主机能解析到对方,可在 /etc/hosts 修改
host 名要同步(双方都要改)
/etc/hosts:
--------
192.168.1.254 node1.uplooking.com
192.168.1.18 node2.uplooking.com
-------
3、
heartbeat 软件
ha.cf 监控配置文件
haresources 资源管理文件
authkeys 心跳线连接加密文件
# cp /usr/share/doc/heartbeat-2.1.3 三个文件拷贝到 /etc/ha.d/
4、 配置服务(除特定位置外,两方配置都要一致)
vim /etc/ha.d/ha.cf
-------------------------------------------------
debugfile /var/log/ha-debug 打开错误日志报告
keepalive 2 两秒检测一次心跳线连接
deadtime 10 10 秒测试不到心跳线为有问题出现
warntime 6 警告时间(最好在 2 ~ 10 之间)
initdead 120 初始化启动时 120 秒无连接视为正常
udpport 694 用 udp 的 694 端口连接
ucast eth0 192.168.1.18 单播方式连接(主从服写对方的 ip 进行连接)
注: mcast eth0 多播模式
auto_failback on 自动切换(主服恢复后可自动切换回来)
注: stonith baytech /etc/ha.d/conf/stonith.baytech 控制可编程电源控制器(挂掉的主服 ip 可能还是运行状态,会对备服有冲突,他会自动切掉坏的主服)
注: watchdog 看门狗机制
----------------------------------
注释去掉
重启服务heartbeat
modprobe softdog
echo "modprobe softdog" >> /etc/rc.local
echo 10 > /proc/sys/kernel/panic
----------------------------------
node node1.uplooking.com 声明主服
node node2.uplooking.com 声明备服
ping 192.168.1.17 设仲裁,双方主备都 ping 仲裁(仲裁 ip 用 DGW 最好)
注: ping_group 可设 1 组仲裁, ping一个网段
respawn hacluster /usr/lib/heartbeat/ipfail 仲裁命令运行切换备服时,广播让机器清缓存,已换新地址
•5 、 设定心跳配置备服(主服也这样配)
•vim authkeys 加密文件
auth 1 此为打开 1
1 crc 加密等级最低,速度最快
注: 2 sha1 HI! 加密程度最高,效率最低
注: 3 md5 Hello! 加密程度居中,效率居中
• 6 、资源配置:备服(主服也这样配,也要写 node1 这行不变,出问题会自动切换)
• vim haresources 资源管理文件(此地写 vip 地址)
node1.uplooking.com IPaddr::192.168.1.100/24/eth0 ldirectord
e.g.
#node1.uplooking.com 192.168.1.254 Filesystem::/dev/sda1::/data1::ext2
#node1.uplooking.com 192.168.1.254 Filesystem::192.168.1.17:/apache::/var/www/html::nfs::rw
应该默认在哪台服务器上运行 新加一个 IP ,为浮动用
• 7 、 ldirectord 配置(参考上个实例)
注意: ls -L authkeys 查看权限
chmod 600 authkeys (安全,不改起不来)
把 ldirectord.cf 拷贝到备服
启动顺序:先起主
service heartbeat start
ipvsadm -Ln 看心跳
#tail -f /var/log/ha-log
• 8 、 测试
在192.168.1.17上设置防火墙
iptables -A INPUT -s 192.168.1.254 -p icmp --icmp-type 8 -j DROP