需要三台服务器

director: 192.168.1.120  vip:192.168.1.110

rs1:    192.168.1.121  vip:192.168.1.110

rs2:    192.168.1.123  vip:192.168.1.110

在director服务器上执行以下脚本:

#!/bin/bash
echo 1 >/proc/sys/net/ipv4/ip_forward
ipv=/sbin/ipvsadm
vip=192.168.1.110
rs1=192.168.1.121
rs2=192.168.1.123
ifconfig eth0:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev eth0:0
$ipv -C
$ipv -A -t $vip:80 -s rr
$ipv -a -t $vip:80 -r $rs1 -g -w 1
$ipv -a -t $vip:80 -r $rs2 -g -w 1

在rs1和rs2上分别执行以下脚本:

#!/bin/bash
vip=192.168.1.110
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
echo "0" >/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

脚步执行完毕之后,在另一台机器上进行测试,结果如下:

[root@lianxi1 ~]# curl 192.168.1.110
1111111111
[root@lianxi1 ~]# curl 192.168.1.110
2222222
[root@lianxi1 ~]# curl 192.168.1.110
1111111111
[root@lianxi1 ~]# curl 192.168.1.110
2222222
[root@lianxi1 ~]# curl 192.168.1.110
1111111111
[root@lianxi1 ~]# curl 192.168.1.110
2222222

两个服务器交替出现