位置: IT常识 - 正文

LVS 负载均衡(LVS负载均衡群集的常用调度算法包含哪几种?)

发布时间:2024-01-27
LVS 负载均衡 本篇主要介绍一下 lvs 是什么 以及它的 nat 模式的搭建 配合nginx来演示 1.概述 LVS 是 Linux Virtual Server 的简写 (Linux 虚拟服务器 ), 是由章文嵩博士主导, 它虚拟出一个服务器集群,然后进行负载均衡的项目, 目前LVS 已经被集 ... LVS 负载均衡

推荐整理分享LVS 负载均衡(LVS负载均衡群集的常用调度算法包含哪几种?),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:LVS负载均衡群集的常用调度算法包含哪几种?,LVS负载均衡的功能包括,LVS负载均衡和F5,lvs负载均衡的三种方式,lvs 负载均衡 实验,lvs负载均衡配置,lvs 负载均衡 实验,lvs 负载均衡算法,内容如对您有帮助,希望把文章链接给更多的朋友!

本篇主要介绍一下 lvs 是什么 以及它的 nat 模式的搭建 配合nginx来演示

1.概述

LVS 是 Linux Virtual Server 的简写 (Linux 虚拟服务器 ), 是由章文嵩博士主导, 它虚拟出一个服务器集群,然后进行负载均衡的项目, 目前LVS 已经被集成到Linux内核模块中了, 外部请求到达LVS后它会根据不同的调度算法把请求分发到具体的后端真实服务器, 又根据LVS不同的工作模式 后端服务器会选择不同的方式将 响应数据返回, LVS工作模式分为 NAT模式, TUN模式, DR模式

2.思考

为什么有LVS , 当我们有了 nginx的时候 直接把nginx暴露出去不就行了吗, nginx 也是负载均衡器啊 ??

因为Nginx工作在 7 层 而 LVS工作在四层 效率高 , 如果你单个把nginx暴露出去 单台nginx 承受不了压力,需要集群, LVS则充当了Nginx的集群调度者,所有的请求都通过LVS ,仅作请求分发用,没有流量, 正常不会出现故障

为什么四册比七层效率高?

四层是TCP层,使用IP+端口四元组的方式。只是修改下IP地址,然后转发给后端服务器,TCP三次握手是直接和后端连接的。只不过在后端机器上看到的都是与代理机的IP的established而已,LVS中没有握手。

7层代理则必须要先和代理机三次握手后,才能得到7层(HTT层)的具体内容,然后再转发。意思就是代理机必须要与client和后端的机器都要建立连接。显然性能不行,但胜在于七层,人工可操作性高,能写更多的转发规则。

nginx 支撑 1w - 10w并发;

lvs 支撑 10w - 50w;

F5 支撑 200w - 1000w;

3.LVS NAT 模式

NAT 模式(即:网络地址映射)其工作原理是:客户端访问LVS时,LVS通过重写请求报文的目标地址,且根据预设的调度算法,将请求分派给后端真实服务器,真实服务器接收到请求处理后,发出响应报文也需要通过LVS返回,返回时需要修改报文的源地址,然后返回给客户,完成整个负载调度过程

DNAT:目标地址转换,改变的是目标地址SNAT:源地址转换,改变的是源地址

NAT 模式就是使用 SNAT 和 DNAT 技术完成报的转发,NAT 方式可支持任何的操作系统,以及私有网络,并且只需一个 Internet IP 地址,非常节省成本,但是整个系统的性能受到限制。因为NAT模式 响应报文也要经过LVS 会影响LVS 的性能, 不过有DR模式 (Direct Route) 后面有机会在讨论

环境准备

角色IP地址主机名服务或工具Director (LVS)VIP(ens256):172.30.2.151, DIP(ens160):172.16.225.222lvsipvsadmRS1RIP1(ens160):172.16.225.111nginxRs1nginxRS2RIP2(ens160):172.16.225.110nginxRs2nginx

CIP 客户端的 IPVIP 是域名解析的 IP,是集群对外的公网 IPDIP 用来和后端真实服务器进行数据交互的 IP,请求报文转发给后端服务器从此口出去 ( DIP RIP 需要在同一个网段中)RIP 真实服务器的 IP4.LVS NAT 模式搭建环境

下面开始搭建 LVS 的 NAT模式环境

4.1 LVS服务器网卡配置

LVS 需要2个网卡 一个是对外的 用于作为VIP , 一个是内部网络 和 后端真实IP 一个网段的,我这里用虚拟机模拟 VIP用桥接网卡 , DIP用仅主机网卡即可

网络配置在 /etc/sysconfig/network-scripts 就不详细说了

LVS 负载均衡(LVS负载均衡群集的常用调度算法包含哪几种?)

cat ifcfg-ens160

TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesNAME=ens160UUID=7d9bac74-252c-49fd-b174-8c4aa6ee65b6DEVICE=ens160ONBOOT=yesIPADDR=172.16.225.222NETMASK=255.255.255.0DSN1=114.114.114.114# 这里作为DIP 不配置GATEWAY 不让外网直接访问这个ip

cat ifcfg-ens256

TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesNAME=ens256DEVICE=ens256ONBOOT=yesIPADDR=172.30.2.151GATEWAY=172.30.2.2 NETMASK=255.255.255.0DSN1=114.114.114.1144.2 真实nginxRs1 配置

注意点 就是把要把网关配置为 DIP

TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesDEVICE=ens160ONBOOT=yesIPADDR=172.16.225.110GATEWAY=172.16.225.222 # 注意要把网关改成 DIP 的 因为DNAT后需要去处理分发过来的请求#GATEWAY=172.16.225.2 NETMASK=255.255.255.0DNS1=114.114.114.114

并且在这个机器上配置好 一个nginx

4.3 真实nginxRs2 配置TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesDEVICE=ens160ONBOOT=yesIPADDR=172.16.225.111GATEWAY=172.16.225.222 # 注意要把网关改成 DIP 的 因为DNAT后需要去处理分发过来的请求#GATEWAY=172.16.225.2 NETMASK=255.255.255.0DNS1=114.114.114.114

并且在这个机器上配置好 一个nginx

4.4 配置LVS 的 ipvs模块 (通过ipvsadm配置)

ipvs模块是已经集成到 linux内核了,可以通过ipvsadm 工具去

开启ip_forward , 开启路由转发

# 开启ip_forwardecho 'net.ipv4.ip_forward = 1' >> /etc/sysctl.confsysctl -p#安装LVS管理工具yum -y install ipvsadm# 可以通过 ipvsadm -Ln 查看虚拟服务, 此时是没有配置的

#使用 ipvsadm 命令设置转发规则#-A 添加虚拟服务器#-t 表示 TCP 的服务 VIP:PORT#-s 指定调度算法 rr 表示 round-robin 平均轮循#-a 表示添加 real server 的地址#-r 指定 real server 的 IP 地址#-m 表示 masquerade 也就是 NAT 方式的 LVS #-g 表示 dr模式 后面有机会说[root@lvs ~] ipvsadm -A -t 172.30.2.151:80 -s rr[root@lvs ~] ipvsadm -a -t 172.30.2.151:80:80 -r 172.16.225.110 -m[root@lvs ~] ipvsadm -a -t 172.30.2.151:80:80 -r 172.16.225.111 -m

再次查看 可以看到配置如下

简单的 curl 测试一下 : 可以看到效果已经出来了 我们访问了 172.30.2.151 这个 vip 轮训路由到后端2台真实服务器的nginx了

ab 压测一下: 使用ab工具压测一下

要注意 ab test 是根据返回请求的内容来判断 是否成功 如果2次返回的数据不同则算作 Failed requests, 我一开始把两个nginx.html 区分了内容 所以有一半都是错误的请求... 要注意哦!

# 把 最大文件描述符调大一点 执行如下命令 mac 中echo kern.maxfiles=65536 | sudo tee -a /etc/sysctl.confecho kern.maxfilesperproc=65536 | sudo tee -a /etc/sysctl.confsudo sysctl -w kern.maxfiles=65536sudo sysctl -w kern.maxfilesperproc=65536ulimit -n 65536 65536

也要注意nginx的服务器的 ulimit -n 以及 nginx.conf中的 worker_connections #每个进程允许的最多连接数

ipvsadm -Ln -c # 查看 ipvs 连接请求情况

总结

本篇主要介绍了LVS 是什么它做负载均衡和Nginx的区别,以及它的NAT网络模式的搭建配置, LVS作为集群的入口它是4层网络转发 不解析url 只是把 ip 跟换一下, 是nginx的10几倍性能, 并且它的DR模式 会更加提高性能

有了LVS 后 可以把它作为nginx集群的入口 , 可以支持很高的并发, 并且可以在LVS 前面再添加F5硬件负载均衡 (F5 一差不多一个奥迪Q5...)

最后手动搭建了一个 LVS 的NAT模式 体验了一下使用 ipvsadm 工具搭建一个 lvs集群 ,需要注意的是 NAT模式它的返回是要通过LVS服务器的所以性能在LVS三种模式中是比较低的, 可以后期改成 DR模式 直接通过后端真实服务器给客户端返回结果 不再经过LVS

LVS 的NAT模式 后端服务器的网关需要配置 为DIP 并且 后端服务器的IP和DIP要在一个网段中 保证通过 DNAT 可以到达

欢迎大家访问 个人博客 Johnny小屋欢迎关注个人公众号

本文链接地址:https://www.jiuchutong.com/zhishi/312025.html 转载请保留说明!

上一篇:互联网文本处理挑战巨大 中文分词系统设计如何面对? Linux环境编程 ChinaUnix.net(互联网+文本格式)

下一篇:dedecms织梦图片上传自动生成绝对路径方法(织梦图片集如何调用)

  • 计算机5大类分类标准(计算机大类分流有哪些)

    计算机5大类分类标准(计算机大类分流有哪些)

  • 小度如何查看监控记录(小度如何查看监控记录回放)

    小度如何查看监控记录(小度如何查看监控记录回放)

  • 备忘录可以设置密码吗(备忘录可以设置背景颜色吗)

    备忘录可以设置密码吗(备忘录可以设置背景颜色吗)

  • 旺旺名称是会员名还是淘宝昵称(旺旺名称是会员名还是昵称)

    旺旺名称是会员名还是淘宝昵称(旺旺名称是会员名还是昵称)

  • 苹果xr内存有几个版本(苹果xr的内存多少)

    苹果xr内存有几个版本(苹果xr的内存多少)

  • 苹果7音频ic虚焊的症状(7p音频虚焊)

    苹果7音频ic虚焊的症状(7p音频虚焊)

  • 华为增强信息对方收不到(华为增强信息对方没开通能收到信息吗)

    华为增强信息对方收不到(华为增强信息对方没开通能收到信息吗)

  • 电脑没装系统开机是什么界面(电脑没装系统开机慢)

    电脑没装系统开机是什么界面(电脑没装系统开机慢)

  • 小米cc9e支持扩展卡吗(小米cc9支持扩展内存卡吗)

    小米cc9e支持扩展卡吗(小米cc9支持扩展内存卡吗)

  • 华为云端在哪里(华为云端在哪里找到)

    华为云端在哪里(华为云端在哪里找到)

  • iqoo快充可以给小米9用吗(iqoo快充能给其他手机充电吗)

    iqoo快充可以给小米9用吗(iqoo快充能给其他手机充电吗)

  • 华为手机微信怎么开美颜视频通话(华为手机微信怎么设置密码才能进入)

    华为手机微信怎么开美颜视频通话(华为手机微信怎么设置密码才能进入)

  • MIUI11推送第二批有哪些机型(miui11第二批什么时候推送)

    MIUI11推送第二批有哪些机型(miui11第二批什么时候推送)

  • 赞颂祖国的现代诗(赞颂祖国的现代诗100)

    赞颂祖国的现代诗(赞颂祖国的现代诗100)

  • 怎样删掉抖音里的视频(怎样删掉抖音里的评价)

    怎样删掉抖音里的视频(怎样删掉抖音里的评价)

  • oppo手机电子保修卡在哪里找(oppo手机电子保修卡不激活是不是代表一直保修)

    oppo手机电子保修卡在哪里找(oppo手机电子保修卡不激活是不是代表一直保修)

  • vooc4.0是多少w(vooc3.0相当于多少瓦)

    vooc4.0是多少w(vooc3.0相当于多少瓦)

  • dell笔记本如何定制(dell笔记本如何分区)

    dell笔记本如何定制(dell笔记本如何分区)

  • faceu激萌漫画模式在哪(faceu激萌漫画效果)

    faceu激萌漫画模式在哪(faceu激萌漫画效果)

  • 小米m1804e4a是什么型号(小米m1804e4a是什么型号几多钱)

    小米m1804e4a是什么型号(小米m1804e4a是什么型号几多钱)

  • vivox23幻彩版和标准版区别(vivox23幻彩版和vivox23有什么区别)

    vivox23幻彩版和标准版区别(vivox23幻彩版和vivox23有什么区别)

  • 怎样给笔记本的cpu降温(科普笔记本电脑怎样)

    怎样给笔记本的cpu降温(科普笔记本电脑怎样)

  • win10桌面图标怎么隐藏(win10桌面图标怎么随意摆放)

    win10桌面图标怎么隐藏(win10桌面图标怎么随意摆放)

  • 毕业设计-基于 MATLAB 的车牌识别系统设计(毕业设计教程)

    毕业设计-基于 MATLAB 的车牌识别系统设计(毕业设计教程)

  • 工衣工帽清洗费税率是多少
  • 不含税买货合法吗
  • 境外培训费计入关税完税价格
  • 计提个人所得税计入什么科目
  • 多交的增值税和附加税退回,如何记账
  • 员工在外出差的说说
  • 场地使用费入什么科目
  • 企业所得税预缴后亏损
  • 小规模增值税的三个附加税计算公式是什么
  • 累计折旧计入
  • 固定收益款可以开增值税专票吗?
  • 事业单位收到借款分录
  • 社保岗位补贴条件
  • 私募基金款打到什么账户
  • 分期手术
  • 公司从银行贷款需要交税吗
  • 简易计税的应交所得税
  • 个人企业属于什么部门管理
  • 营改增对建筑行业税负的影响
  • 研发人员工资加计
  • 并购重组中需要哪些条件
  • 自然人个税起征点2019税率表
  • 房地产开发经营企业确认当期因销售房地产
  • 要求做前两年的核酸检测
  • 上月开的发票本月作废怎么处理
  • 专家费1000元个人所得税到底是税前还是税后
  • 园林绿化工程公司电话
  • 单位性质有哪些类型
  • 手相算命图解大全女
  • 应交税金的会计科目
  • 进出口怎么交税
  • AI:ModelScope(一站式开源的模型即服务共享平台)的简介、安装、使用方法之详细攻略
  • css 单行显示
  • 大学生web网页实训心得体会
  • 社保基数和实际工资怎么算
  • vue3 hooks实现
  • vue 配置
  • 新星计划片头好可爱啊
  • WIN11系统CPU占用率高
  • php对接第三方支付
  • 多收钱少开票
  • 会计实操和实际工作一样吗
  • phpcms生成html
  • vuex数据持久化
  • 2020年维修基金怎么交
  • 管理费用属于产品成本么
  • 累计扣除包括哪些
  • 以前年度损益调整借贷方向
  • 垃圾清运费属于什么服务
  • 车辆抵押贷款怎么办理
  • 减免的应付账款如果入账
  • 转让不动产怎么计算增值税
  • 固定资产的原价减去预计净残值等于什么
  • 股权支付会计处理
  • 分支机构可不可以不建账合并到总机构?
  • 纳税人和负税人区别通俗易懂
  • 银行余额调节表电子版
  • 管理会计在企业中的地位如何?为什么
  • 什么计提折旧不能转回
  • jquery常用的事件绑定函数有哪些
  • winpe.wim怎么安装
  • vc_mbcsmfc.exe是什么
  • centos开机自动运行
  • qcwlicon.exe - qcwlicon是什么进程 有何作用
  • lnmp php
  • win7旗舰版完整版下载
  • windows2008无法识别usb
  • 开始菜单里没有设置选项
  • python多线程操作
  • nodejs xhr
  • &&在js中
  • 狗刨好学吗
  • javascript例题
  • shell脚本 su
  • pythion
  • python3获取本机ip
  • androidstudio离线配置环境
  • 养老待遇核定表在哪办理
  • 小规模纳税人企业所得税怎么征收
  • 注册地址和税务登记可以不一致吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号