为了测试方便,所有机子清空或关闭防火墙
test1:192.168.10.161 【CentOS 6.8】主机名:test1
test2:192.168.10.162 【CentOS 6.9】主机名:test2
test3:192.168.10.163 【CentOS 6.9】主机名:test3
LVS Cluseter:
vip:192.168.10.30
ipvs:
rs:192.168.10.161
…
back server:director httpd
ipvs的HA节点:test2、test3
在test1、test2、test3的/etc/hosts中添加:
192.168.10.161 test1
192.168.10.162 test2
192.168.10.163 test3
rs.sh脚本
vim/root/rs.sh
#!/bin/bash
vip=192.168.10.30
interface=lo:0
case $1 in
start)
ifconfig $interface $vip netmask 255.255.255.255 broadcast $vip
/sbin/route add -host $vip dev $interface
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
;;
stop)
ifconfig $interface down
route del $vip >/dev/null 2>&1
echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
;;
status)
if ifconfig $interface | grep $vip &> /dev/null;then
echo "ipvs is running…"
else
echo "ipvs is stopped…"
fi
;;
*)
echo "Usage: `basename $0` {start|stop|status}"
exit 1
esac
一、test1设置(Real Server)
1、安装并启动httpd
#yum install httpd -y && service httpd start
2、web测试页:
[root@test1 ~]# echo "<h1>test1…192.168.10.161</h1>" >/var/www/html/index.html
3、运行rs.sh脚本
[root@test1 ~]# ./rs.sh start
二、test2、test3设置
1、test2、test3安装依赖包
[root@test2 ~]# yum install ipvsadm perl-MailTools perl-TimeDate -y
2、test2、test3安装heartbeat-ldirectord,按之前先安装heartbeat,安装heartbeat过程略

[root@test2 heartbeat]# yum localinstall heartbeat-ldirectord-2.1.4-12.el6.x86_64.rpm -y
heartbeat-ldirectord的相关文件:

3、test3设置vip、路由,添加ipvs规则
[root@test3 ~]# ifconfig eth0:0 192.168.10.30 broadcast 192.168.10.30 netmask 255.255.255.0 up
[root@test3 ~]# route add -host 192.168.10.30 dev eth0:0
[root@test3 ~]# ipvsadm -A -t 192.168.10.30:80 -s rr
[root@test3 ~]# ipvsadm -a -t 192.168.10.30:80 -r 192.168.10.161 -g -w 1

浏览器打开192.168.10.30:

三、高可用集群配置:
(1)test2设置
1、还原上面第3步的设置:
#route del -host 192.168.10.30
#ifconfig eth0:0 down
#ipvsadm -C
2、test2节点ldrectord配置
复制ldirectord.cf文件到/etc/ha.d/
# cp /usr/share/doc/heartbeat-ldirectord-2.1.4/ldirectord.cf /etc/ha.d/
3、配置ldirectord.cf
#cd /etc/ha.d/
[root@test2 ha.d]# vim ldirectord.cf
checktimeout=3
checkinterval=1
autoreload=yes
logfile="/var/log/ldirectord.log"
quiescent=yes
virtual=192.168.10.30:80
real=192.168.10.161:80 gate
fallback=127.0.0.1:80 gate
service=http
request=".health.html"
receive="OK"
scheduler=rr
protocol=tcp
checktype=negotiate
checkport=80

4、test2测试页
[root@test2 ha.d]# echo "<h1>Sorry Server</h1>" >/var/www/html/index.html
5、启动httpd
[root@test2 ha.d]# service httpd start
6、启动heartbeat
service heartbeat start
(2)test3节点设置
1、设置web测试页,启动httpd
[root@test3 ~]# echo "<h1>Sorry Server(test3)</h1>" >/var/www/html/index.html
[root@test3 ~]# service httpd start
2、启动heartbeat
service heartbeat start
(3)资源配置
[root@test2 ha.d]# hb_gui &

设置ip:192.168.10.30:
设置ipvs规则:
启动资源:
浏览器打开192.168.10.30:
