LVS/DR 配置
前期准备
需求:三台服务器一台作为director, 两台作为real server
三台机器:实际环境中,每台机器都需要一个公网ip,还需要一个vip也是公网ip,dr只需要一块网卡,这里用内网测试,所以在同一网段
#vip为公网IP;dr的vip绑定公网网卡,rs的vip绑定lo网卡(client不会通过vip访问到rs)
director(eth0:192.168.11.190, vip eth0:0: 192.168.11.100)
rs1(eth0 rip: 192.168. 11.160, vip lo:0: 192.168.11.100)
rs2(eth0 rip: 192.168.11.20, vip lo:0: 192.168.11.100)
两个real server 上都安装httpd: yum install -y nginx
Director上安装ipvsadm: yum install -y ipvsadm
开始实验
Director 上 vim /usr/local/sbin/lvs_dr.sh //增加

#! /bin/bash echo 1 > /proc/sys/net/ipv4/ip_forward ipv=/sbin/ipvsadm vip=192.168.11.100 rs1=192.168.11.160 rs2=192.168.11.20 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:80 -g -w 1 $ipv -a -t $vip:80 -r $rs2:80 -g -w 1
两台rs上:vim /usr/local/sbin/lvs_dr_rs.sh

#! /bin/bash vip=192.168.11.100 ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up route add -host $vip 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
执行sh会生成vip和ipvsadm规则
然后director上执行: sh /usr/local/sbin/lvs_dr.sh
两台rs上执行: sh /usr/local/sbin/lvs_dr_rs.sh
测试机器:192.168.11.6
测试一:

[root@hy ~]# curl 192.168.11.100 rs1rs1 [root@hy ~]# curl 192.168.11.100 rs2rs2 [root@hy ~]# curl 192.168.11.100 rs1rs1 [root@hy ~]# curl 192.168.11.100 rs2rs2 [root@hy ~]# curl 192.168.11.100 rs1rs1 [root@hy ~]# curl 192.168.11.100 rs2rs2
测试二:

[root@hy ~]# curl 192.168.11.100 rs1rs1 [root@hy ~]# curl 192.168.11.100 rs1rs1 [root@hy ~]# curl 192.168.11.100 rs1rs1 [root@hy ~]# curl 192.168.11.100 rs2rs2 [root@hy ~]# curl 192.168.11.100 rs1rs1 [root@hy ~]# curl 192.168.11.100 rs1rs1 [root@hy ~]# curl 192.168.11.100 rs1rs1 [root@hy ~]# curl 192.168.11.100 rs2rs2
谢谢