#LVS学习(2)#LVS实现四层负载均衡--基于NAT模式

LVS实现四层负载均衡实验–基于NAT模式

1、NAT模式(VS-NAT)
原理:就是把客户端发来的数据包的IP头的目的地址,在负载均衡器上换成其中一台RS的IP地址,并发至此RS来处理,RS处理完成后把数据交给经过负载均衡器,负载均衡器再把数据包的原IP地址改为自己的IP,将目的地址改为客户端IP地址即可。期间,无论是进来的流量,还是出去的流量,都必须经过负载均衡器。
优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,只有负载均衡器需要一个合法的IP地址。
缺点:扩展性有限。当服务器节点(普通PC服务器)增长过多时,负载均衡器将成为整个系统的瓶颈,因为所有的请求包和应答包的流向都经过负载均衡器。当服务器节点过多时,大量的数据包都交汇在负载均衡器那,速度就会变慢!
在这里插入图片描述

业务需求
随着业务的发展,网站的访问量越来越大,网站访问量已经从原来的1000QPS,变为3000QPS,网站已经不堪重负,响应缓慢,面对此场景,单纯靠单台LNMP的架构已经无法承载更多的用户访问,此时需要用负载均衡技术,对网站容量进行扩充,来解决承载的问题。
考虑解决方案?
横向:scale out 对磁盘等资源扩容
纵向:scale up 增加新的服务器
一、环境准备
1、准备虚拟机
准备 3 台纯净的虚拟机,两台 web 服务器

2、LVS-server 安装lvs管理软件

[root@lvs-server ~]# yum -y install ipvsadm

程序包:ipvsadm(LVS管理工具)
主程序:/usr/sbin/ipvsadm
规则保存工具:/usr/sbin/ipvsadm-save > /path/to/file
配置文件:/etc/sysconfig/ipvsadm-config
16,color_FFFFFF,t_70#pic_center)

3、LVS/NAT网络拓朴

主机名ip系统用途
client10.11.67.88 桥接windows10客户端
lvs-server10.11.67.82 桥接模式
192.168.240.128 nat模式
centos7.6分发器
web-server1192.168.240.129 nat模式centos7.6web1
web-server2192.168.240.130 nat模式centos7.6web2

#准备服务器,关闭selinux和防火墙

[root@lvs ~]# setenforce 0
[root@lvs ~]# sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
[root@lvs ~]# systemctl stop firewalld
[root@lvs ~]# systemctl disable firewalld

4、配置web-server1和web-server2 (两服务器相同)

[root@web-server1 ~]# yum install httpd -y
[root@web-server1 ~]# echo lvs-web1 > /var/www/html/index.html
[root@web-server1 ~]# systemctl start httpd
[root@web-server1 ~]# ip route add default via 192.168.72.130  # 配置默认路由

#lvs-server上进行本地解析:

vim /etc/hosts
10.11.67.82 lvs-server  #这里是lvs机器的vip
192.168.240.129 web-server1
192.168.240.130 seb-server2

5、配置lvs-server 开启路由转发模式(让本机的两块网卡可以通信)

[root@lvs-server ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@lvs-server ~]# sysctl -p		//确保打开路由转发

#永久开启: echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf && sysctl -p
#临时开启: echo 1 > /proc/sys/net/ipv4/ip_forward 

[root@lvs-server ~]# yum install ipvsadm -y

设置集群调度算法,(便于验证,此处使用轮询算法):
[root@lvs-server ~]# ipvsadm -A -t 10.11.67.82:80 -s rr
设置后端服务器:
[root@lvs-server ~]# ipvsadm -a -t 10.11.67.82:80 -r 192.168.240.129:80 -m
[root@lvs-server ~]# ipvsadm -a -t 10.11.67.82:80 -r 192.168.240.130:80 -m
查看ipvsadm规则:
[root@lvs-server ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.0.108:80 rr
  -> 192.168.72.128:80            Masq    1      0          7         
  -> 192.168.72.129:80            Masq    1      0          7    
这些规则没有保存在配置文件,重启失效
#ping测试
[root@lvs ~]# ping -I 10.11.67.82 192.168.204.128
[root@lvs ~]# ping -I 10.11.67.82 192.168.204.129
[root@lvs ~]# ping -I 10.11.67.82 192.168.204.130
如果桥接ip能ping通nat模式ip,则没有问题

6、做开启启动

[root@lvs-server ~]# systemctl enable ipvsadm
Created symlink from /etc/systemd/system/multi-user.target.wants/ipvsadm.service to /usr/lib/systemd/system/ipvsadm.service.
[root@lvs-server ~]# ipvsadm -Ln > /etc/sysconfig/ipvsadm

7、测试

[root@client ~]# elinks -dump http://10.11.67.82/
[root@client ~]# ab -c 1000 -n 1000 http://10.11.67.82/

#扩展:修改算法为:加权轮循
ipvsadm -E -t lvs-server:80 -s wrr
ipvsadm -e -t lvs-server:80 -r web1:80 -m -w 2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值