阅读量:1
1. NAT方式
NAT模式是常用的LVS模式之一。
在NAT模式下,LVS会将来自客户端的请求报文中的目的IP地址和端口,修改为LVS内部的IP地址和端口,然后把请求转发到后端服务器。
响应结果返回客户端的过程中,响应报文也要经过LVS的处理,把它的目的IP地址和端口修改成客户端的IP地址和端口。
好处在于,对于客户端来说,请求的目的地址始终不变,客户端的配置不需要做特殊修改,只是调度器在对IP地址和端口进行转换,后端的服务器也不需要更改任何配置。
缺点:
- 性能损失,请求和响应都需要调度器做地址转换,影响性能。
- NAT模式只能有一个调度器,调度器故障,整个集群就不能正常工作。
2. NAT方式实例
Nginx1 :RS1 20.0.0.21
Nginx2 :RS2 20.0.0.22
test2 :调度器 ens33 20.0.0.20 ;ens36 12.0.0.1
test3 :客户端 12.0.0.10
实现:
test3的网关设置为12.0.0.1
在test2上
modprobe ip_vs #重新加载内核 yum -y install ipvsadm #安装ipvsadm服务
#在iptables防火墙中添加源地址转换的策略 iptables -t nat -A POSTROUTING -s 20.0.0.0/24 -o ens36 -j SNAT --to 12.0.0.1 #对20.0.0.0/24网段的所有源地址,指定设备ens36,转换源地址为12.0.0.1
systemctl restart ipvsadm ipvsadm -C #清空原有的策略 ipvsadm -A -t 12.0.0.1:80 -s rr #指定好vip的地址和端口,指定轮询策略rr #先添加VIP,虚拟服务器的IP和端口,然后再添加真实服务器 ipvsadm -a -t 12.0.0.1:80 -r 20.0.0.21:80 -m ipvsadm -a -t 12.0.0.1:80 -r 20.0.0.22:80 -m
- -a :添加真实服务器
- -t :指定vip的地址和端口
- -r :指定真实服务器的地址和端口
- -m :使用 masquerade 模式,即将客户端的源地址替换为负载均衡调度器的地址
ipvsadm -ln #查看ipvsadm设置 ipvsadm-save >/etc/sysconfig/ipvsadm #保存当前ipvsadm配置到文件 systemctl restart ipvsadm #重启服务
客户端curl 12.0.0.1
,查看轮询方式。
其他设置:
#删除策略方法 ipvsadm -D -t 20.0.0.10:80 #删除节点服务器方法 ipvsadm -d -r 20.0.0.21:80 -t 12.0.0.1:80 #加权轮询策略 ipvsadm -A -t 12.0.0.1:80 -s wrr #节点加权 ipvsadm -a -t 12.0.0.1:80 -r 20.0.0.21:80 -m -w 2
只有创建VIP地址的时候才能指定负载均衡算法,策略无法修改,要修改只能删除重建。