一、简介
-
原理:就是把客户端发来的数据包的IP头的目的地址,在负载均衡器上换成其中一台RS的IP地址,并发至此RS来处理,RS处理完成后把数据交给经过负载均衡器,负载均衡器再把数据包的原IP地址改为自己的IP,将目的地址改为客户端IP地址即可。期间,无论是进来的流量,还是出去的流量,都必须经过负载均衡器。
-
优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,只有负载均衡器需要一个合法的IP地址。
-
缺点:扩展性有限。当服务器节点(普通PC服务器)增长过多时,负载均衡器将成为整个系统的瓶颈,因为所有的请求包和应答包的流向都经过负载均衡器。当服务器节点过多时,大量的数据包都交汇在负载均衡器那,速度就会变慢
二、实验环境的搭建及测试
三台redhat6.5版本的虚拟机
server1:172.25.69.1 (作为ds,两块网卡)
server2:172.25.69.2(作为rs)
server3:172.25.69.3(作为rs)
在server1代理服务器
-
加载 nat 模块
modprobe iptable_nat
注:如果不加载此模块,也可以在第一次访问时成功,但是会在再次访问时出现延迟过长,或访问超
时现象
-
开启路由机制
vim /etc/sysctl.conf net.ipv4.ip_forward = 1 sysctl p
-
为新加的网卡配置ip
ip addr add 172.25.254.100/24 dev eth1 ip link set up eth1 #激活网卡 ip addr show
-
添加调度策略
ipvsadm -A -t 172.25.254.100:80 -s rr ipvsadm -a -t 172.25.254.100:80 r 172.25.69.2:80 -m ipvsadm -a -t 172.25.254.100:80 r 172.25.69.3:80-m service ipvsadm save
在server2、3真实服务器上
-
添加网关
vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes BOOTPROTO=static IPADDR=172.25.69.2 PREFIX=24 GATEWAY=172.25.69.1 DNS1=114.114.114.114
在与VIP在同一物理网段的客户端上测试