Linux-LVS集群模式

ops/2024/11/29 17:12:16/

文章目录

  • LVS的调度算法
  • NAT模式配置
  • DR模式配置

https://i-blog.csdnimg.cn/blog_migrate/58966ddd9b29aabe8841f5ec34f0d31c.gif

🏡作者主页:点击!

🤖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请求

http://www.ppmy.cn/ops/137693.html

相关文章

力扣—912. 排序数组

912. 排序数组 题目: 给你一个整数数组 nums,请你将该数组升序排列。 你必须在 不使用任何内置函数 的情况下解决问题,时间复杂度为 O(nlog(n)),并且空间复杂度尽可能小。 示例: 示例 1: 输入:nums …

git: 修改gitlab仓库提交地址

git: 修改gitlab仓库提交地址 右键git bash here 1、进入到项目my-project所在位置 2、查看当前项目远程仓库地址 3、修改远程仓库地址 4、再次查看新的远程仓库地址以确认修改成功 cd /my-project git remote -v # 查看当前远程仓库地址 git remote set-url origin 新的Gi…

springboot项目报错问题总结

springboot循环依赖问题处理 发现问题 Error starting ApplicationContext. To display the conditions report re-run your application with debug enabled. 2024-11-27 21:30:58.695 [f8cd6df4693e404aa607363bbe3dcf00] [main] ERROR o.s.boot.SpringApplication - - App…

结构型模式-装饰器模式

装饰者模式(Decorator Pattern)是一种结构型设计模式,主要用于动态地给对象添加一些额外的职责,而无需修改其代码。通过将对象放入包含行为的装饰器对象中,能够有效地扩展功能,同时保持原始类的结构和代码完…

从单机缓存到分布式缓存那些事

作者:秦怀 1 缓存前世今生 1.1 故事从硬件开始 Cache 一词来源于 1967 年的一篇电子工程期刊论文。其作者将法语词“cache”赋予“safekeeping storage”的涵义,用于电脑工程领域。当时没有 Cache,CPU 和内存都很慢,CPU 直接访…

【超详细】卷积神经网络CNN基本架构以及工作原理详解

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…

限制账号密码格式的正则表达式来啦

. 代表任意字符 \w 代表字母、数字、下划线 \d 代表数字 指定字符重复1次或者n次,最少1次 ? 指定字符重复0-1次 {n} 只能重复n次 {a,} 最少重复a次 {,a} 最多重复a次 {a,b} 最少重复a次,最多重复b次 \s 空格 | 代表或者 [a-zA-Z0-9]&#xf…

Fanuc法那科机器人维修之参考位置详解

参考位置是预先设定好的一个或多个特定点位,当启用这一功能时,系统会实时且精确地判断机器人的当前关节角度是否处于预设参考位置的一定范围之内(这个范围区间是可以根据实际需求进行设置的),并据此输出指定的信号。 这…