本文链接: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),缓存源地址