四层负载均衡lvs

版权声明:请随意转载 https://blog.csdn.net/cheng1804/article/details/81951254

一、 四种模式

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

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

3、隧道模式(tunnel)

4、full_nat模式

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

主要区别在与数据的流向

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

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

 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),缓存源地址

猜你喜欢

转载自blog.csdn.net/cheng1804/article/details/81951254