22 Jun 2016




其中192.168.10.223是vip
还需要增加额外vip,配置见下面
调度算法:
ipvsadm工具安装
yum install ipvsadm -y
DR上的操作
cat << EOF > /usr/local/sbin/lvs_nat.sh #!/bin/bash # director 服务器上开启路由转发功能: echo 1 > /proc/sys/net/ipv4/ip_forward # director 设置nat防火墙 iptables -t nat -F iptables -t nat -X iptables -t nat -A POSTROUTING -s 10.10.180.0/24 -j MASQUERADE # director设置ipvsadm IPVSADM='/sbin/ipvsadm' vip=192.168.10.223 rs1=10.10.180.221 rs2=10.10.180.222 $IPVSADM -C $IPVSADM -A -t $vip:80 -s wlc -p 300 $IPVSADM -a -t $vip:80 -r $rs1:80 -m -w 1 $IPVSADM -a -t $vip:80 -r $rs2:80 -m -w 1 EOF sh /usr/local/sbin/lvs_nat.sh
RS上的操作
# 安装并启动nginx yum install epel-release -y yum install nginx -y /etc/init.d/nginx start # RS上的网关指向DR上的内网ip vim /etc/sysconfig/network-scripts/ifcfg-eth0 ***************************************** GATEWAY=10.10.180.223 *****************************************
ipvsadm工具安装
yum install ipvsadm -y
DR上的操作
cat << EOF > /usr/local/sbin/lvs_dr.sh #!/bin/bash echo 1 > /proc/sys/net/ipv4/ip_forward ipv=/sbin/ipvsadm vip=10.10.180.220 rs1=10.10.180.221 rs2=10.10.180.222 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 wlc $ipv -a -t $vip:80 -r $rs1:80 -g -w 1 $ipv -a -t $vip:80 -r $rs2:80 -g -w 1 EOF sh /usr/local/sbin/lvs_nat.sh
DR上不需要跟nat上一样做nat表规则
RS上的操作
# 安装并启动nginx yum install epel-release -y yum install nginx -y /etc/init.d/nginx start cat << EOF > /usr/local/sbin/lvs_dr_rs.sh #!/bin/bash vip=10.10.180.220 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 EOF sh /usr/local/sbin/lvs_nat.sh
- 内核参数:http://www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html
- RS上的网关不需要像nat中那样指向DR上的内网ip
- RS和DR上也可以把eth0和lo换成eth1
# 测试之前记得telnet vip 80测试 telnet $vip 80 # NAT工作模式下的状态查看 ipvsadm -l IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.10.223:http rr -> 10.10.180.221:http Masq 1 1 3 -> 10.10.180.222:http Masq 1 0 6 # DR工作模式下的状态查看 ipvsadm -l IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 10.10.180.220:http rr -> 10.10.180.221:http Route 1 0 0 -> 10.10.180.222:http Route 1 0 1 ipvsadm -Lnc IPVS connection entries pro expire state source virtual destination TCP 01:20 FIN_WAIT 10.10.180.13:63280 10.10.180.220:80 10.10.180.221:80 TCP 14:57 ESTABLISHED 10.10.180.13:63335 10.10.180.220:80 10.10.180.221:80 TCP 00:20 FIN_WAIT 10.10.180.13:63270 10.10.180.220:80 10.10.180.221:80 TCP 14:51 ESTABLISHED 10.10.180.13:63317 10.10.180.220:80 10.10.180.221:80 TCP 00:17 NONE 10.10.190.19:0 10.10.180.220:80 10.10.180.222:80 TCP 00:54 NONE 10.10.180.13:0 10.10.180.220:80 10.10.180.221:80 TCP 00:00 FIN_WAIT 10.10.180.13:63155 10.10.180.220:80 10.10.180.222:80