Linux-LVS集群模式
🏡作者主页:点击!
🤖Linux专栏:点击!
⏰️创作时间:2024年11月25日13点10分
LVS的调度算法
静态算法
- RR:轮询调度
调度器将收到的请求按顺序轮流分配到集群中的RS,均匀地分配请求,不考虑服务器连接数和负载情况- WRR:加权轮询
根据RS的处理能力给予不同的权重,为性能好的服务器分配更多的请求,性能一般的分配较少的请求- SH:源地址哈希
根据请求源IP地址作为哈希键从静态分配的哈希表中找出对应的服务器,同一个IP地址的请求始终发往第一次调度的Real Server 实现会话绑定- DH:目标地址哈希
根据请求目标IP地址作为哈希值从静态分配的哈希表中找出对应的服务器,发往同一个目标地址的请求始终转发到第一次调度的Real Server ,用于实现正向代理缓存场景中的负载均衡
动态算法
LVS的动态调度算法一共八种
- LC:最小连接
动态地将网络请求调度到连接数最少的RS上,集群中的服务器性能相近时,这种算法可以进行较好的负载均衡。适用于长链接应用。负载计算公式为:overhead = 活动连接数*256+非活动连接数- WLC:加权最小连接
相当于 LC,当集群中服务器性能有差异时,建议使用,可以使性能较好的服务器承接较大比例的活动连接,此算法是LVS的默认调度算法,负载公式为:overhead = (活动连接数 * 256 + 非活动连接数) / 权重值- SED:最短期望延迟
当使用WLC时,如果RS的连接数和权重比例正好一样,下个请求将可能分配给任意一个RS,而不是性能最好的RS,SED可避免这种情况,保证了高权重优先- NQ:永不排队
第一轮请求会均匀的分配给RS,后续使用SED算法,这样避免某些服务器可能用于得不到处理请求的机会- LBLC:基于局部性的最少连接
根据请求的目标IP找该IP最近使用的服务器,若该服务器可用且没超载,就将请求发给它,若服务器不存在或者超载,且有空闲服务器时,则用最少连接原则发送给一个服务器,针对目标IP地址的负载均衡算法,可用看作动态的DH算法,根据负载情况实现正向代理、Web缓存- LBLCR:带权重的基于局部性的最少连接
维护从一个目标IP地址到一组服务器的映射,lblc维护的是一个目标地址到一台服务器的映射,根据请求的目标IP地址找出该目标 IP 对应的服务器组,按最少连接原则从组内选出一台没有超载的服务器,将请求发给它,若该服务器超载,则最少连接原则从该集群种选出一台服务器加入到服务器组中,将请求发给该服务器,如果服务器在一段时间没有修改,将最忙的服务器从组内删除,降低复制程度
这个算法也是针对目标IP地址的负载均衡算法,解决LBLC负载不均衡的问题,从负载重的RS复制到负载轻的RS,根据负载情况实现正向代理、Web缓存等- FO:遍历LVS关联RS链表,找到未过载且权重最高的RS进行调度
- OVF:基于RS活动数和权重值来实现,将新连接调度到权重值最高的RS,直到其活动连接数超过它权重值,之后调度到下一个权重最高的RS,遍历LVS关联的RS链表,找到权重最高的可用RS。
==可用RS需要满足以下条件:==LBLCR:加权最少连接算法
未过载
RS当前活动连接数小于其权重值
权重值不为 0
NAT模式配置
配置
yum install -y ipvsadm* nano /etc/sysctl.conf net.ipv4.ip_forward=1 #开启路由转发 sysctl -p | grep net.ipv4.ip_forward #sysctl -p 使得配置迅速生效 sysctl -a | grep net.ipv4.ip_forward #查看转发功能是否实现 ipvsadm -A -t 192.168.1.10:80 -s rr #增加一个集群 ipvsadm -a -t 192.168.1.10:80 -r 10.0.0.2 -m ipvsadm -a -t 192.168.1.10:80 -r 10.0.0.3 -m #添加后端Real Server,-m表示采用NAT模式 ipvsadm -ln #配置好检查配置后状态
DR模式配置
配置
DR要求所有的服务器包括客户机要在同一网段内
yum install -y ipvsadm* nano /etc/sysctl.conf net.ipv4.ip_forward=0 #关闭路由转发(关闭数据包转发功能) net.ipv4.conf.all.send_redirects = 0 #禁止系统发送ICMP重定向消息,只发送真实IP net.ipv4.conf.default.send_rediects = 0 #禁止默认网络接口发送ICMP重定向消息 net.ipv4.conf.ens33.send.rediects = 0 #禁止ens33发送ICMP重定向消息 sysctl -p #使得配迅速生效 ipvsadm -C #清除所有配置 ipvsadm -A -t 192.168.1.10:80 -s rr #增加一个集群 ipvsadm -a -t 192.168.1.10:80 -r 192.168.1.2 -g ipvsadm -a -t 192.168.1.10:80 -r 192.168.1.3 -g #添加后端Real Server,-m表示采用NAT模式 ipvsadm -ln #配置好检查配置后状态 #两台服务器配置 nano /etc/sysctl.conf net.ipv4.conf.lo.arp_ignore = 1 #设置环回接口忽略来自任何接口的ARP请求 net.ipv4.conf.lo.arp_announce = 2 #设置环回接口仅仅公告本地的IP地址,但是不响应ARP请求 net.ipv4.conf.all.arp_ignore = 1 #设置所有接口忽略来自任何接口的ARP请求 net.ipv4.conf.all.arp_announce = 2 #设置所有接口仅仅公告本地的IP地址,但是不响应ARP请求
原文地址:https://blog.csdn.net/Jerry_BLOG/article/details/144024990
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!