1、涉及机器
192.168.130.61 node1.ha.com Directord
192.168.130.62 node2.ha.com Directord
192.168.130.63 node3.ha.com RS
192.168.130.64 node4.ha.com RS
2、安装heartbeat V2
rpm -ivh https://mirrors.aliyun.com/epel/6Server/x86_64/Packages/e/epel-release-6-8.noarch.rpm
yum -y install net-snmp-libs libnet PyXML libtool-ltdl
rpm -ivh heartbeat-2.1.4-12.el6.x86_64.rpm heartbeat-pils-2.1.4-12.el6.x86_64.rpm heartbeat-stonith-2.1.4-12.el6.x86_64.rpm
3、配置hearbeat V2
openssl rand -hex 16
c20954be14c956fc9dec4f8b6565da34
cp /usr/share/doc/heartbeat-2.1.4/{authkeys,ha.cf} /etc/ha.d/
cd /etc/ha.d
echo -e "auth 2\n2 sha1 c20954be14c956fc9dec4f8b6565da34" >> authkeys
chmod 600 authkeys
grep -v ^# ha.cf | grep -v ^$
logfile /var/log/ha-log
keepalive 1
deadtime 10
warntime 5
initdead 120
udpport 694
mcast eth0 225.0.0.1 694 1 0
auto_failback on
node node1.ha.com node2.ha.com
ping 192.168.130.2
compression bz2
compression_threshold 2
crm on
scp -p authkeys ha.cf node2.ha.com:/etc/ha.d/
service iptables stop
chkconfig iptables off
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
setenforce 0
4、安装配置httpd、ipvsadm及heartbeat-ldirectord
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
yum -y install httpd
yum -y install ipvsadm
yum install heartbeat-ldirectord-2.1.4-12.el6.x86_64.rpm
chkconfig ldirectord off
cp /usr/share/doc/heartbeat-ldirectord-2.1.4/ldirectord.cf /etc/ha.d/
grep -v ^# /etc/ha.d/ldirectord.cf
checktimeout=3
checkinterval=1
autoreload=yes
logfile="/var/log/ldirectord.log"
quiescent=yes
virtual=192.168.130.15:80
real=192.168.130.63:80 gate
real=192.168.130.64:80 gate
fallback=127.0.0.1:80 gate
service=http
request=".health.html"
receive="OK"
scheduler=rr
#persistent=600
#netmask=255.255.255.255
/etc/ha.d/ldirectord.cf [email protected]:/etc/ha.d
echo "网站正在维护
" > /var/www/html/index.html
service httpd start
chkconfig httpd on
service ipvsadm stop
service ipvsadm off
5、安装配置RS
yum -y install httpd
echo " RS1
" >> /var/www/html/index.html
service httpd start
chkconfig httpd on
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
ifconfig lo:0 192.168.130.15 netmask 255.255.255.255 broadcast 192.168.130.15 up
route add -host 192.168.130.15 dev lo:0
echo "OK" > /var/www/html/.health.html
echo "node1.ha.com
" > /var/www/html/index.html
echo "node2.ha.com
" > /var/www/html/index.html
6、基于heartbeat-gui配置heartbeat V2
需要安装xmanager和xsell
yum -y install pygtk2-libglade
rpm -ivh heartbeat-gui-2.1.4-12.el6.x86_64.rpm
启用heartbeat-gui的机器需要设置hacluster的密码
passwd hacluster
service heartbeat start
chkconfig heartbeat on
yum -y install xorg-x11-xauth dejavu-lgc-sans-fonts
hb_gui &
7、测试
两台RS都正常的情况下
[root@host ~]# curl 192.168.130.15
node1.ha.com
[root@host ~]# curl 192.168.130.15
node2.ha.com
[root@host ~]# curl 192.168.130.15
node1.ha.com
[root@host ~]# curl 192.168.130.15
node2.ha.com
停掉一台RS的情况下
[root@host ~]# curl 192.168.130.15
node1.ha.com
[root@host ~]# curl 192.168.130.15
node1.ha.com
两台RS都停掉的情况下
[root@host ~]# curl 192.168.130.15
网站正在维护
[root@host ~]# curl 192.168.130.15
网站正在维护