负载均衡----LVS

负载均衡

一、负载均衡由来

在业务初期,我们一般会先使用单台服务器对外提供服务。随着业务流量越来越大,单台服务器无论如何优化,无论采用多好的硬件,总会有性能天花板,当单服务器的性能无法满足业务需求时,就需要把多台服务器组成集群系统提高整体的处理性能。不过我们要使用统一的入口方式对外提供服务,所以需要一个 流量调度器 通过均衡的算法,将用户大量的请求均衡地分发到后端集群不同的服务器上。这就是我们后边要说的 负载均衡。

使用负载均衡带来的好处:

1.提高了系统的整体性能
2.提高了系统的扩展性
3.提高了系统的可用性

LVS的4种工作模式

1.LVS DR模式

在这里插入图片描述

LVS服务器与后端真实服务器VIP地址要一致 且  他们要在同一个网段内
 
 
客户端的数据请求会交给lvs服务器
此时源IP是CIP , 目标IP是VIP
源MAC是CMAC   目标MAC 是VMAC



lvs服务器在接收到请求后,便会选择RS作为后端服务器,并修改目标MAC地址
此时源IP是CIP , 目的IP是VIP
此时源MAC是CMAC  ,目标MAC是RS IP地址的MAC(lvs服务器的VIP与RS的VIP一致)
                                   DMAC


后端服务器将数据处理完后,会直接将结果发送给客户端
此时源IP是VIP,目的IP是CIP


2.LVS NAT模式

在这里插入图片描述

用户请求数据到lvs服务器 ,
此时源ip是CIP   目标ip是VIP


LVS接收到数据后,判断请求的IP是自己网卡上的,就会通过算法选择RS作为后端服务器
此时源IP是CIP,目标IP是后端服务器的RIP



后端服务器处理完数据后,就会将数据传送给lvs服务器(所以RS的网关是lvs服务器的IP)
此时源IP是RIP,目标IP是客户端CIP



VIP服务器接收到后端服务器传来的数据,发现目标IP是CIP,就会将源IP修改为VIP,然后发送给客户端
测试源IP是VIP ,目标IP是客户端CIP

3.LVS Tunnel模式

在这里插入图片描述

用户数据请求LVS服务器,
此时源IP是CIP , 目标IP是VIP


LVS服务器接收到数据,判断是本机地址后,就会选择RS为后端服务器,并在报文一个前端和后端
此时源IP是DIP(lvs服务器的IP) ,目标IP是RIP


RS在解封装的时候,就会看见正确的源IP和目标IP,因为RS也是有VIP的,所以在处理完数据后,就会直接发送给客户端
此时源IP是VIP ,目标IP是CIP

4.LVS fullnat模式

在这里插入图片描述

客户端将数据发送给LVS服务器
此时源IP是CIP , 目标IP是VIP

LVS服务器接收到数据后,选择后端RS作为后端服务器,并修改源IP和目标IP
此时源IP是DIP , 目标IP是RIP


RS处理完数据交还给LVS服务器
此时源IP是RIP , 源IP是DIP


LVS服务器再将数据发送回客户端,并修改源IP和目标IP
此时源IP是VIP , 目标IP是CIP


lvs DR模式配置


1.安装软件
[root@DR ~]# yum provices */bin/ipvsadm
[root@DR ~]# yum -y install  ipvsadm




2.添加vip地址
[root@DR ~]# route add -host 192.168.30.170/32 dev lo
[root@RS1 ~]# route add -host 192.168.30.170/32 dev lo
[root@RS2 ~]# route add -host 192.168.30.170/32 dev lo




3.在RS上修改网卡内核参数

[root@RS1 ~]# vim /etc/sysctl.conf 
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
[root@RS1 ~]#sysctl -p


[root@RS2 ~]# vim /etc/sysctl.conf 
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
[root@RS2 ~]#sysctl -p


解释:
net.ipv4.conf.all.arp_ignore   = 1
是否响应arp请求
                          1:
                             请求报文从哪个接口进入的且请求的目标地址就是
                             此接口配置的地址才予以响应,否则不响应

net.ipv4.conf.all.arp_announce  =  2
是否接收并记录别人的通告以及是否通告自己的mac地址给别人。
                          2:
                             总是不通告与自己不在同一个网段的地址,
                             比如不通告2.0网段的地址给1.0网段,不通告3.0网段的地址给1.0网段等,绝对不会通告



4.给RS添加VIP地址
[root@RS1 ~]# ip addr add 192.168.30.170 dev lo

[root@RS2 ~]# ip addr add 192.168.30.170 dev lo





在BD上操作

5.查看arp
[root@DR ~]# arp -a
? (192.168.30.232) at 00:0c:29:e2:be:9a [ether] on ens33
? (192.168.30.231) at 00:0c:29:c8:03:9e [ether] on ens33





6.添加一台虚拟服务器     指定vip地址        使用wrr算法
[root@DR ~]# ipvsadm -A -t 192.168.30.170:80 -s wrr




7.添加一台真实的服务器    指定vip地址            后端服务器真实IP       更改模式 默认为DR
[root@DR ~]# ipvsadm -a -t 192.168.30.170:80 -r 192.168.30.232:80 -g

[root@DR ~]# ipvsadm -a -t 192.168.30.170:80 -r 192.168.30.231:80 -g




8.保存
[root@DR ~]# ipvsadm -S > /etc/sysconfig/ipvsadm



9.查看
[root@DR ~]# 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.30.170:80 wrr
  -> 192.168.30.231:80            Route   1      0          0         
  -> 192.168.30.232:80            Route   1      0          0  






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值