NAT模式优缺点:
因为请求与应答都要经过lvs服务器,所以访问量大的话lvs会形成瓶颈,一般要求10-20台节点。
注:(节点指后面的真实web服务器)
每台节点服务器的网关地址必须是lvs服务器的内网地址。
NAT模式支持对IP地址和端口进行转换。即用户请求的端口和真实服务器的端口可以不一致。
常见的四种算法:
rr 轮询算法,它将请求依次分配给不同的节点,各个节点均摊分配。这种算法简单,但只适合各个节点处理性能差不多的情况。
wrr 加权轮训调度,它将依据不同节点的权值分配任务。权值较高的节点将优先获得任务,并且分配到的连接数将比权值低的节点更多。相同权值的节点得到相同数目的连接数。
lc 最小连接数调度,IPVS表存储了所有活动的连接。Lvs服务器会比较将连接请求发送到当前连接最少的节点。
wlc 加权最小连接数调度,在节点性能差异较大的时候,可以为节点自动调整权重,权重较高的节点承担更大比例的连接。
一张简单的工作原理图。
所有的web与lvs维护一个虚拟ip 俗称vip
NAT的特性:
1> 节点应该使用私有地址;
2> 节点的网关的必须指向lvs;
3> 节点IP和lvs服务器IP必须在同一网段内;
4> 请求和响应的报文都得经过lvs服务器;在高负载场景中,lvs服务器很可能成为系统性能瓶颈;
环境:
lvs: 192.168.1.1 100.1.1.1
web1: 192.168.1.3
web2: 192.168.1.2
两个网络模仿公网与局域网。
lvs服务器:
modprobe ip_vs #加载ip_vs模块
配置好本地源
yum install -y ipvsadm # 安装lvs管理工具
ipvsadm -A -t 100.1.1.1:80 -s rr # 添加vip
-A:添加虚拟服务器
-t :指定vip及tcp端口
-s:指定算法
rr:轮询
ipvsadm -a -t 100.1.1.1:80 -r 192.168.1.2:80 -m -w 1
ipvsadm -a -t 100.1.1.1:80 -r 192.168.1.3:80 -m -w 1
-a :添加节点
-t :指定vip和端口
-r :指定节点ip及端口
-m:表示使用nat模式
-w:设置权重
ipvsadm -ln 可以查看当前节点信息
service ipvsadm save #保存规则
service ipvsadm restart #重启服务
web1服务器:
echo "web1">/var/www/html/index.html #写一个测试页面
service httpd start
把网关设置成lvs内网的ip
关闭防火墙
web2服务器:
echo "web2">/var/www/html/index.html #写一个测试页面
service httpd start
把网关设置成lvs内网的ip
关闭防火墙
访问100.1.1.1 刷新可以看到web1 web2轮流响应请求
希望对你有所帮助,再见。