原理:
客户端访问调度器时,调度器通过网络地址转换,调度器重写请求报文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器;真实服务器的响应报文通过调度器时,报文的源地址被重写,再返回给客户,完成整个负载调度过程。
#步骤总结及过程地址变化:
1: 客户端请求访问www.xx.com ===> VIP
源地址: CIP 目标地址: VIP
2: 请求报文到达负载均衡器
源地址: CIP 目标地址: RIP
3: RealServer收到报文处理, 响应
源地址: RIP 目标地址: CIP
4: 负载调度器收到报文, 根据自身之前的转发修改记录, 还原报文
源地址: VIP 目标地址: CIP
1.打开路由转换规则[root@CO7 network-scripts]# vim /etc/sysctl.conf
改:net.ipv4.ip_forward = 0
为:net.ipv4.ip_forward = 1
让配置生效:
[root@CO7 network-scripts]# sysctl -p
2.配置轮询规则
[root@CO7 network-scripts]# ipvsadm -A -t 192.168.2.130:80 -s rr
[root@CO7 network-scripts]# ipvsadm -a -t 192.168.2.130:80 -r 192.168.3.130 -m
[root@CO7 network-scripts]# ipvsadm -a -t 192.168.2.130:80 -r 192.168.3.131 -m
(删除单挑规则 ipvsadm -a -t 192.168.2.107:80 -r 192.168.3.131)
3.查看已配置规则[root@CO7 network-scripts]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.2.107:80 rr
-> 192.168.3.130:80 Masq 1 0 0
-> 192.168.3.131:80 Masq 1 0 0
4保存规则
[root@CO7 network-scripts]# ipvsadm --save > /etc/sysconfig/ipvsadm
[root@CO7 network-scripts]# cat /etc/sysconfig/ipvsadm
-A -t CO7:http -s rr
-a -t CO7:http -r 192.168.3.130:http -m -w 1
-a -t CO7:http -r 192.168.3.131:http -m -w 1