环境描述:
配置LVS时使用三台linux,虚拟VIP:172.18.3.209
一台做Directorserver(172.18.3.208)
两台做realserver(172.18.3.205,172.18.3.207)
访问时通过虚拟VIP:172.18.3.209
负载均衡机:
#!/bin/sh
VIP=172.18.3.209
RIP1=172.18.3.205
RIP2=172.18.3.207
/etc/rc.d/init.d/functions
case "$1" in
start)
echo "start LVS of DirectorServer"
#Set the Virtual IP Address
/sbin/ifconfig eth0:1 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev eth0:1
#Clear IPVS Table
/sbin/ipvsadm -C
#Set Lvs
/sbin/ipvsadm -A -t $VIP:80 -s rr #rr 是使用了轮叫算法
/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
#Run Lvs
/sbin/ipvsadm
;;
stop)
echo "close LVS Directorserver"
ifconfig eth0:1 down
/sbin/ipvsadm -C
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
L3:虚拟IP
L5——L6:两台真实服务器的IP
L15:配置掩码为4个255,使VIP独自成为一个局域网以防与两台真实服务器的IP冲突。
L16:添加路由
L22——L24:添加两台真实服务器的信息,并轮叫算法进行调度
真实服务器:
#!/bin/sh
VIP=172.18.3.209
/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
L5——L6:功能同负载均衡机功能相同,配置掩码,虚拟IP,添加路由等。
L8——L11:这四句目的是为了关闭ARP广播响应。