四层负载均衡lvs

本文链接:https://blog.csdn.net/cheng1804/article/details/81951254

一、 四种模式

1、nat模式,也可以说三层负载均衡

2、dr模式,二层负载均衡,用的最多

3、隧道模式(tunnel)

4、full_nat模式

二、nat模式和dr模式的区别

主要区别在与数据的流向

nat模式数据流入:客户--分发器--真实服务器;流出:真实服务器--分发器--客户

dr模式数据流入:客户--分发器--真实服务器;流出:真实服务器--客户

四层负载均衡lvs_第1张图片
image

dr模式客户访问分发器的vip,再由分发器的dip经由lvs算法发给真实服务器,真实服务器直接回复客户。

要求:分发器有两块网卡,两个ip,一个做vip,一个做dip,再在真实服务器的lo回环网卡上添加临时的vip,以便真实服务器使用vip回复客户。

问题:1、vip的选择

        2、多个相同的vip在相同的网段怎么避免ip冲突

        3、怎么确定真实服务器使用vip回复客户

解决:1、route -n查看路由条目,哪个规则在上哪一个做dip,另一个做vip

        2、使真实服务器的vip忽略arp协议的响应来避免ip冲突

        3、给真实服务器添加的vip用最精确的ip,子网掩码越长ip被认为越好,规则设定用本地最好的ip发送数据包

各ip的作用:

        1、vip,作为访问的入口

        2、dip 作为给真实服务器分发数据的出口

        3、rip,分发器用来获取真实服务器的mac地址,来修改数据包的mac地址

实现过程:

1、真实服务器上部署web服务

2、route -n 查看路由条目,哪个规则在下哪个作为vip

3、给真服务器的lo网卡设置子网掩码为32位vip

  ifconfig lo:0 vip/32

4、给真实服务器设置内核参数

  保证优先使用vip发送数据 ,echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

  让vip忽略arp响应,echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

5、在分发器上设置lvs路由条目

  yum install ipvsadm -y 

  ipvsadm -A -t 10.0.0.30:80 -s rr

  ipvsadm -a -t 10.0.0.30:80 -r 10.0.0.21:80 -g

  ipvsadm -a -t 10.0.0.30:80 -r 10.0.0.22:80 -g

  **-A 添加virtual server
  -t 指定使用tcp协议
  -s 指定调度策略为rr
  -a 添加realserver
  -r 指定realserver是谁**

三、lvs调度算法

1、轮询调度(Round Robin)(简称rr),按顺序轮流分配真实服务器,均等地对待每一台服务器,而不管服务器上实际的连接数和系统负载

2、加权轮询(Weighted Round Robin)(简称wrr),根据真实服务器的不同处理能力来调度访问请求。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。

3、最少链接(Least Connections)(LC),调度到已建立的链接数最少的服务器上

4、加权最少链接(Weighted Least Connections)(WLC),较高权值的服务器将承受较大比例的活动连接负载。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。

5、基于局部性的最少链接(Locality-Based Least Connections)(LBLC),根据请求的目标IP地址找出该目标IP地址最近使用的服务器,若该服务器是可用的且没有超载,将请求发送到该服务器;若服务器不存在,或者该服务器超载且有服务器处于一半的工作负载,则用“最少链接”。

6、带复制的基于局部性最少链接(Locality-Based Least Connections with Replication)(LBLCR)

7、最短的期望的延迟(Shortest Expected Delay Scheduling SED)(SED)

8、最少队列调度(Never Queue Scheduling NQ)(NQ),无需队列。如果有台 realserver的连接数=0就直接分配过去

9、目标地址散列(Destination Hashing)(DH),缓存目标地址

10、源地址散列(Source Hashing)(SH),缓存源地址

你可能感兴趣的:(四层负载均衡lvs)