lvs 负载均衡 NAT模式
1.原理
基于NAT机制实现。当用户请求到达director之后,director将请求报文的目标地址(即VIP)改成选定的realserver地址,同时将报文的目标端口也改成选定的realserver的相应端口,最后将报文请求发送到指定的realserver。在服务器端得到数据后,realserver将数据返给director,而director将报文的源地址和源端口改成VIP和相应端口,然后把数据发送给用户,完成整个负载调度过程。
2 环境及组网搭建
所有的虚拟机均是在vmware中搭建的Ubuntu系统,IP分别为192.168.1.106 192.168.1.109 192.168.1.110,作为负载均衡调度的虚拟机上应该有两块网卡,一个用于提供外部访问的VIP,一个作为跟后端RS建立连接的RIP(两个IP可以不在同一个网段,需要保证RIP和后端的RS在同一网段),因此给106机器增加一块虚拟网卡
ifconfig eth0:0 192.168.1.10 netmask 255.255.255.255 broadcast 192.168.1.100
由于这里我所有的IP都是你能够互相ping通的,因此无需设置默认网关
这样通过ifconfig命令查看的网卡信息为:
给109 110两台rs上安装nginx服务,修改nginx访问nginx主页的信息,如下:
106机器作为负载均衡器,开启消息转发:
echo 1 > /proc/sys/net/ipv4/ip_forward
3 通过ipvsadm配置NAT负载均衡
ipvsadm -A -t 192.168.1.10:9999 -s rr ipvsadm -a -t 192.168.1.10:9999 -r 192.168.1.109:80 -m ipvsadm -a -t 192.168.1.10:9999 -r 192.168.1.110:80 -m
查看配置的ipvs信息
通过curl命令访问虚拟服务,可以看到lvs按照轮训的方式依次将消息转发给109和110处理