二、Real Server 配置
1、编辑网络接口
[root @cluser1 root] #vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.0.255
HWADDR=00:0C:29:54:80:3A
IPADDR=192.168.0.249
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes
TYPE=Ethernet
2、编辑 lvs 脚本
[root @cluser1 root] # vi /etc/init.d/lvsrs
#!/bin/bash
VIP=192.168.0.222
case "$1" in
start)
echo "Start Real Server"
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev lo:0
echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p
;;
stop)
echo "Closeing Real Server....."
ifconfig lo:0 down
;;
*)
echo "Usage: $0 {start|stop}
exit 1
esac
# 保存并退出
将 /etc/init.d/lvsrs 放到 /etc/rc.local 文件中,这样可以在开机时自启动
[root @cluser1 root] # echo “/etc/init.d/lvsrs” >> /etc/rc.local
在另外一台 Real Server 上做相同的设置
确保 Real Server 上的 http 服务已处于监听状态,可以用 netstat –tlunp 命令查看
[root @ cluster1 root] # netstat –tlunp
如果没有启用启用 http 服务,请启用。
[root @ cluster1 root] # /usr/local/apache/bin/apachectl start
三、启动web 群集负载平衡与测试
1、启动 heartbeat
[root @ director root] # /etc/init.d/heartbeat start
在备用 director 上启动 heartbeat
2、测试
此时在客户端的浏览器中输入群集服务器的IP 地址:http://192.168.0.222
就会显示相应的页面,最好是在两台 Real Server 上设置不同的WEB 页面,这样在客户端刷页面就会看到不同的页面,这样也可以证明客户端的请求是在两台不同的服务器进行轮询。
也可以在主备份服务器上使用 ipvsadm –lc 命令查看
[root @director root] # ipvsadm -lc
PVS connection entries
pro expire state source virtualdestination
TCP 01:55FIN_WAIT192.168.0.114:2849 192.168.0.222:http cluster1:http
TCP 14:56ESTABLISHED 192.168.0.114:2850 192.168.0.222:http cluster2:http
测试1:主 director 崩溃后,从 director 是否可以接管主 director 的工作
为了测试主 director 崩溃后,从 director 是否可以接管主 director 的工作,将主 director 关机或拔掉网线.然后在从 director 进行如下操作以证明从 director 是否已经接管了主 director 的工作:
1、 用 ifconfig 命令查看是否有 eth0:0 接口,主 director 正常工作的时候,在从 director 是不会出现 eth0:0 接口的,主 director 崩溃后 eth0:0 即刻就会出现
2、 可以用 tail –f /var/log/messages 命令查看 heartbeat 的日志
3、 用 ipvsadm命令查看是否已经启用 ipvsadm, 主 director 正常工作的时候,从 director 是不会启用 ipvsadm 的,主 director 正常工作时,在从 director 用 ipvsadm 查看的显示:
[root @bkdirector root] # ipvsadm
IP Virtual Server version 1.2.0 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
主 director 崩溃后,从 director 上的 ipvsadm 输出
[root @bkdirector root] # ipvsadm
IP Virtual Server version 1.2.0 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP192.168.0.222:http rr
-> redhat:httpRoute 100
-> redhatAS4.0:http Route 100
测试2:主 director 恢复正常后,从 director 上的服务是否会回到主 director 上
1、 重新启动主 director,在主 director 启动,进入系统后,此时在从 director 上用 ifconfig 命令查看,发现 eth0:0 不见了,在主 director 上用 ifconfig 查看可以看到 eth0:0 ,据此可证明 VIP 已经由从 director 转移到了主 director 上。
2、 在客户端浏览器中输入群集服务器的IP 地址:http://192.168.0.222可以正常浏览,在主 director 上用 ipvsadm –lc 命令可以查看到客户端浏览群集服务器的WEB页面,而在从 director 上用 ipvsdm –lc 命令查看,显示为空白。
3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.com/exam/