linux LVS负载均衡原理 NAT DR TUN FULLNAT 模式

LVS DR模型负载均衡 健康检查 LVS简介 LVS(Linux virtual server),即Linux虚拟服务器。是因为LVS自身是个负载均衡器(director),不直接处理请求,而是将请求转发至位于它后端真正的服务器realserver上,所以是虚拟服务器 LVS是四层(传输层tcp/udp)、七层(应用层)的负载均衡工具,只不过大众一般都使用它的四层负载均衡功能ipvs,而七层的内容分发负载工具ktcpvs(ker... 阅读详情

原文:https://blog.youkuaiyun.com/lcl_xiaowugui/article/details/81701949

LVS原理篇:LVS简介、结构、四种模式、十种算法

LVS是Linux virtual server的缩写,为linux虚拟服务器,是一个虚拟的服务器集群系统。LVS简单工作原理为用户请求LVS VIP,LVS根据转发方式和算法,将请求转发给后端服务器,后端服务器接收到请求,返回给用户。对于用户来说,看不到Web后端具体的应用。

一、LVS负载均衡简介

可伸缩网络服务有很多结构,但都有一个共同点:它们都需要一个前端的负载调度器。而实现虚拟网络服务的主要技术指出IP负载均衡技术是在负载调度器的实现技术里面效率最高的一个。
在已有的IP负载均衡技术中,主要有通过网络地址转换将一组服务器构成一个高性能的、高可用的虚拟服务器,通常称为VS/NAT技术。在分析VS/NAT的缺点和网络服务的非对称的基础上,可以通过IP隧道实现虚拟服务器的方法VS/TUN和通过直接路由实现虚拟服务器的方法VS/DR,它们可以极大地提高系统的伸缩性。(摘自 LINUX企业运维实战一书中)

二、LVS结构

LVS集群分为三层结构:

  • 负载调度器(Load Blancer):是整个LVS集群对外的前端机器,负责敬爱嗯client的请求发送到一组服务器【多台 LB IP】上执行,而client则认为返回来是同一个IP(通常把这个IP成为虚拟ip或VIP)
  • 服务器池(server pool):一组真正执行clinet请求的服务器,一般是web服务器;除了web,还有FTP、MAIL、DNS等
  • 共享存储(shared stord):它为server pool提供了一个共享的存储区,很容易让服务器池拥有相同的内容,提供相同的服务

三、LVS相关术语

  1. DS:Director Server。指的是前端负载均衡器节点
  2. RS:Real Server。后端真实的工作服务器
  3. VIP:向外部直接面向用户请求,作为用户请求的目标的IP地址
  4. DIP:Director Server IP,主要用于和内部主机通讯的IP地址
  5. RIP:Real Server IP,后端服务器的IP地址
  6. CIP:Client IP,访问客户端的IP地址

四、LVS负载均衡工作原理

1、LVS DR模式

LVS DR原理详解图

这里写图片描述

LVS DR原理:用户请求LVS到达director,director将请求的报文的目的MAC地址改为后端的realserver的MAC地址,目的IP为VIP(不变),源IP为client IP地址(不变),然后director将报文发送到realserver,realserver检测到目的地址为自己本地的VIP,如果在同一网段,将请求直接返回给用户,如果用户跟realserver不在同一个网段,则需要通过网关返回给用户。

LVS DR特性:

  • 前端路由将目标地址为VIP报文统统发给Director Server
  • RS跟Director Server必须有一个网卡在同一个物理网络中
  • 所有的请求报文经由Director Server,但响应报文必须不能进过Director Server
  • 所有的real server机器上都有VIP地址

2、LVS NAT模式

LVS NAT原理详解图
d

LVS NAT原理:用户请求LVS到达director,director将请求的报文的目的IP改为RIP,同时将报文的目标端口也改为realserver的相应端口,最后将报文发送到realserver上,realserver将数据返回给director,director再把数据发送给用户

LVS NAT特性:

  • NAT模式修改的是目的ip,直接走的是switch不需要修改mac地址,所以VIP和RIP不需要在同一个网段内
  • NAT的包的进出都需要经过LVS,所以LVS可能会成为一个系统的瓶颈问题

3、LVS FULLNAT模式

LVS FULLNAT报文变化

LVS FULLNAT特性:

  • FULLNAT模式也不需要DIP和RIP在同一网段
  • FULLNAT和NAT相比的话:会保证RS的回包一定可到达LVS
  • FULLNAT需要更新源IP,所以性能正常比NAT模式下降10%

4、LVS TUN原理

LVS TUN原理详解图

LVS TUN原理:用户请求LVS到达director,director通过IP-TUN加密技术将请求报文的包封装到一个新的IP包里面,目的IP为VIP(不变),然后director将报文发送到realserver,realserver基于IP-TUN解密,然后解析出来包的目的为VIP,检测网卡是否绑定了VIP,绑定了就处理这个包,如果在同一个网段,将请求直接返回给用户,否则通过网关返回给用户;如果没有绑定VIP就直接丢掉这个包

LVS TUN特性:

  • TUNNEL必须在所有的realserver上绑定VIP
  • realserver直接把包发给client
  • 隧道模式运维起来会比较难,所以一般不用

5、四种模式的比较

  • 
  • 是否需要VIP和realserver在同一网段
    DR模式因为只修改包的MAC地址,需要通过ARP广播找到realserver,所以VIP和realserver必须在同一个网段,也就是说DR模式需要先确认这个IP是否只能挂在这个LVS下面;其他模式因为都会修改目的地址为realserver的IP地址,所以不需要在同一个网段内
  • 是否需要在realserver上绑定VIP
    realserver在收到包之后会判断目的地址是否是自己的IP
    DR模式的目的地址没有修改,还是VIP,所以需要在realserver上绑定VIP
    IP TUN模式值是对包重新包装了一层,realserver解析后的包的IP仍然是VIP,所以也需要在realserver上绑定VIP
  • 四种模式的性能比较
    DR模式、IP TUN模式都是在包进入的时候经过LVS,在包返回的时候直接返回给client;所以二者的性能比NAT高
    但TUN模式更加复杂,所以性能不如DR
    FULLNAT模式不仅更换目的IP还更换了源IP,所以性能比NAT下降10%
    性能比较:DR>TUN>NAT>FULLNAT

五、LVS负载均衡十种算法

1. 轮叫调度 rr
均等地对待每一台服务器,不管服务器上的实际连接数和系统负载

2. 加权轮叫 wrr
调度器可以自动问询真实服务器的负载情况,并动态调整权值

3. 最少链接 lc
动态地将网络请求调度到已建立的连接数最少的服务器上
如果集群真实的服务器具有相近的系统性能,采用该算法可以较好的实现负载均衡

4. 加权最少链接 wlc
调度器可以自动问询真实服务器的负载情况,并动态调整权值
带权重的谁不干活就给谁分配,机器配置好的权重高

5. 基于局部性的最少连接调度算法 lblc
这个算法是请求数据包的目标 IP 地址的一种调度算法,该算法先根据请求的目标 IP 地址寻找最近的该目标 IP 地址所有使用的服务器,如果这台服务器依然可用,并且有能力处理该请求,调度器会尽量选择相同的服务器,否则会继续选择其它可行的服务器

6. 复杂的基于局部性最少的连接算法 lblcr
记录的不是要给目标 IP 与一台服务器之间的连接记录,它会维护一个目标 IP 到一组服务器之间的映射关系,防止单点服务器负载过高。

7. 目标地址散列调度算法 dh
该算法是根据目标 IP 地址通过散列函数将目标 IP 与服务器建立映射关系,出现服务器不可用或负载过高的情况下,发往该目标 IP 的请求会固定发给该服务器。

8. 源地址散列调度算法 sh
与目标地址散列调度算法类似,但它是根据源地址散列算法进行静态分配固定的服务器资源。

9. 最少期望延迟 sed
不考虑非活动链接,谁的权重大,优先选择权重大的服务器来接收请求,但权重大的机器会比较忙

10. 永不排队 nq
无需队列,如果有realserver的连接数为0就直接分配过去

参考链接


11.3 海岛微电网与工业园区的构网应用 海岛微电网与工业园区配电网是构网技术下沉应用的两大典型场景。海岛微电网以构网型储能为核心,解决孤岛系统稳定性问题,需具备黑启动、多能源协调和故障穿越能力;工业园区则侧重电能质量治理、并离网无缝切换和经济优化运行。两类场景均需解决多机并联稳定性、故障特性适配和分层协同控制等关键技术。构网型变流器的电压源构建能力、自适应控制策略及飞轮储能等特殊应用,为构建高可靠性、高经济性的分布式能源系统提供了创新解决方案。 阅读详情

相关推荐

VPI与Matlab协同仿真:相干光通信接收端DSP算法全解析

本文详细解析了如何利用VPI与Matlab协同仿真,构建完整的相干光通信接收端DSP算法处理闭环。重点介绍了从VPI导出数据后,在Matlab中实现时钟恢复、偏振解复用和载波相位估计等核心算法的步骤与原理,并阐述了如何通过误码率计算完成仿真验证,为相干光通信系统算法研究与验证提供了高效实用的方法。

ll5678的博客 610

lvs 负载均衡fullnat 模式clientip 怎样传递给 realserver

关于LVS和FULLNAT的介绍可以看一下 淘宝吴佳明(普空)的视频  http://blog.aliyun.com/1750 ,FULLNAT 模式很大简化了LVS的配置和部署,目前淘宝和百度基本上都在使用FULLNAT模式来作为接入侧的负载均衡模式.         百度的LVS叫做BVS, Baidu Virtual Server, 是在LVS基础上修改的增加了L3 Though 和 S

mumumuwudi的博客 1万+

若依(RuoYi)框架从零到部署:Spring Boot+Vue权限系统完整配置指南

在Java企业级应用开发中,Spring Boot作为构建微服务和单体应用的基石,极大地简化了项目初始化和配置流程。其核心原理在于通过自动配置和起步依赖,快速整合数据访问、安全认证、缓存等常用模块,显著提升开发效率。这一技术价值在需要快速构建后台管理系统的场景中尤为突出,例如权限管理、用户角色分配等通用需求。若依(RuoYi)框架正是基于Spring Boot和Vue.js的优秀实践,它封装了RBAC权限模型、代码生成器等高频功能,提供了开箱即用的解决方案。本文聚焦于若依框架的【环境配置】与【项目部署】,通

weixin_33984032的博客 455

实现keepalived高可用集群:基于NAT模式

注意:NAT模式的keepalive做的时候vip和dip都要漂移,因为要在real-server上配置指向lvs上的dip地址的路由,这个路由只能指定一个dip地址,所以dip要跟着一起漂移过去;还有一个方法就是写一个脚本,当lvs-server在master和backup之间切换时实现在real-server上重新指定一个在工作状态的lvs-server的dip的路由,这个比较复杂,不如直接实现

盛夏北梦的博客 2134

深入理解Cornerstone3D.js渲染Stack影像数据

这个是调用的core\src下的init.ts的init方法,作用是:初始化cornerstone-core,检测客户端是否支持WebGL,默认情况下是支持中等GPU层级.另外一个重要的是实例化WebWorkManager.WebWorkManager类似于Java的线程池,是用来对Web Worker进行管理的管理器。使用DICOMwebClient获取影像文件的元数据,然后将它们缓存到imageLoader的metaDataManager中,在上面我们可以输出元数据看一下是什么。

wangwei19820517的博客 1492

用友U8库龄分析避坑指南:物料出入库日期计算的5个常见错误

本文深入剖析了在用友U8系统中进行库龄分析时,物料出入库日期计算的五个常见陷阱。从数据源选择、业务类型过滤、计价方式逻辑、期初数据处理到查询性能优化,逐一解析错误根源并提供避坑指南,帮助企业获得准确的库龄数据,有效管理库存与资金风险。

weixin_29209801的博客 455

LVS负载均衡集群(NAT——DR——KEEPALIVED)

一、集群 1.集群的含义 ①Cluster、集群、群集 ②由多台主机构成,但对外只表现为一个整体,只提供一个访问入口(域名与IP地址),相当于一台大型计算机。 2.目前的问题 互联网应用中,随着站点对硬件性能、响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器已经无法满足负载均衡及高可用性的要求。 3.解决方法 ①、使用价格昂贵的小型机、大型机 ②、使用多台相对廉价的普通服务器构建服务集群 通过整合多台服务器,使用LVS来达到服务器的高可用和负载均衡,并且同一个IP地址对外提供相同的服务

YsDou的博客 817

图解说明JLink驱动与目标板电源匹配的关键细节

深入讲解JLink驱动安装及使用过程中,如何正确匹配目标板电源,避免常见通信故障。通过图解方式清晰展示关键连接细节,确保调试稳定可靠,是嵌入式开发中不可或缺的实战经验分享。

weixin_42173218的博客 431

LVS原理简介

LVS是Linux virtual server的缩写,为linux虚拟服务器,是一个虚拟的服务器集群系统。LVS简单工作原理为用户请求LVS VIP,LVS根据转发方式和算法,将请求转发给后端服务器,后端服务器接收到请求,返回给用户。对于用户来说,看不到Web后端具体的应用。 1. LVS负载均衡简介 可伸缩网络服务有很多结构,但都有一个共同点:它们都需要一个前端的负载调度器。而实现虚拟网络服务的主要技术指出IP负载均衡技术是在负载调度器的实现技术里面效率最高的一个。 在已有的IP负载均衡技术中,主要

傅红雪的专栏 4632

SLG项目开发经验二_大地图设计与实现

本文深入探讨了SLG游戏大地图设计与实现的关键技术,包括网格化业务框架、AOI系统优化、边界处理方案以及行军系统实现。通过Unity引擎的实践案例,详细解析了大地图性能优化的核心策略,如分块加载、GPU Instancing和差异同步协议,为SLG项目开发提供宝贵经验。

weixin_29001419的博客 219

【图形学】Loop细分算法及半边结构实现(C++)

文章目录Loop 细分算法介绍增加新顶点更新旧顶点算法实现半边结构半边结构的表示方法半边结构的构造方法创建所有顶点创建所有面及半边半边结构的使用 Loop 细分 顾名思义,网格细分是将粗糙网格精细化的过程,如下动图。Loop细分是众多网格细分算法的一种,Loop细分仅仅对三角形网格模型有效。值得注意的是,虽然叫Loop细分,但是不能理解为“循环”细分,叫这个名字是因为作者的名字是这个而已。 下面是一个粗糙的兔子模型1000个面,进行3次细分 算法介绍 Loop细分算法主要分两步进行 增加新顶点:增加

wk_119的博客 8066

LVS 工作原理图文讲解,非常详细!

LVS 工作原理图文讲解,非常详细! 原创 肖邦Linux DevOps技术栈 今天 作者:肖邦Linux 博客地址:https://blog.youkuaiyun.com/liwei0526vip 一、负载均衡由来 在业务初期,我们一般会先使用单台服务器对外提供服务。随着业务流量越来越大,单台服务器无论如何优化,无论采用多好的硬件,总会有性能天花板,当单服务器的性能无法满足业务需求时,就需要把多台服务器...

sunfei927的博客 2041

公交车调度排班优化算法研究与实现

本文提出的公交车调度排班优化算法基于遗传算法,能够较好地处理公交车调度排班问题,使得车辆数量和运营时间得到平衡,公交车的使用效率得到了优化。在模拟的公交车路线中,使用本文所提出的算法,得到了一组较优的公交车调度排班方案。其中,车辆数量的多少会影响到公交车的行驶速度和等候时间,而运营时间的长短则会直接影响到公交车的使用效率和成本。本文基于遗传算法,通过随机生成种群、选择、交叉、变异等操作,逐步优化种群中个体的适应度,最终得到较优的公交车调度排班方案。以下是本文中所使用的Matlab代码实现,供参考。

PixelLoom的博客 872

lvs四种工作模式简介

lvs:linux virtual server 1.四种工作模式: dr:直接路由模式 tun:隧道模式 nat:路由转发模式 fullnat模式 性能比较:DR>TUN>NAT>FULLNAT 2.LVS相关术语 DS:Director Server。指的是前端负载均衡器节点 RS:Real Server。后端真实的工作服务器 VIP:向外部...

weixin_44214830的博客 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Day63-LVS四层负载均衡及结合Nginx7层负载均衡实践

LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统,可以在UNIX/LINUX平台下实现负载均衡集群功能。该项目是中国国内最早出现的自由软件项目之一。

苦难带不走梦想 1863

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

LVS基础

LVS(Linux Virtual Server), Linux 虚拟服务器,是一个虚拟的服务器集群系统,本项目在 1998 年 5 月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。LVS主要用于多服务器的负载均衡。工作在网络4层,目标是通过集群和Linux操作系统实现一个高性能、高可用的服务器集群,具有较好的可伸缩性(Scalability)、可靠性(Reliability)和可管理性(Manageability)。

weixin_49799299的博客 1535

LVS(Linux virual server)

LVS是集群的调度器,而企业的架构由集群来完成。系统性能的提升方式:1、Scale UP:向上扩展,增强2、Scale Out:向外扩展,增加设备,调度分配问题,Cluster一、集群与分布式集群Cluster:用于解决访问压力。单机处理到达瓶颈的时候,你就把单机复制几份,这样就构成了一个“集群”。集群中每台服务器就叫做这个集群的一个“节点”,所有节点构成了一个集群。每个节点都提供相同的服务,集群中,每一台服务器实现的功能没有差别,数据。

2302_81660255的博客 1034

高可用负载均衡集群(2)-LVS负载均衡的介绍及LVS的不同模式

目录 一.LVS简介 二.LVS的基本工作原理 三、LVS的组成 四、LVS相关术语 五.LVS三种模式的详解 六.总结 七.新的转发模式FULLNAT模式 一.LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中。该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案,其体系结构如图1所示,终端互联网用户从外部访问公司的外部负载均衡服务器,终端用户的...

weixin_43215948的博客 278

2、高可用负载均衡集群——LVS负载均衡的介绍及LVS的不同模式(1)

目录   一. LVS简介  二.LVS的基本工作原理 三、LVS的组成 四、LVS相关术语 五.LVS三种模式的详解 六.总结  七.新的转发模式FULLNAT模式 一. LVS简介  LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主...

qq_27172205的博客 224

LVS

LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器,是一个虚拟的服务器集群系统,由章文嵩博士在1998年5月成立,在linux2.6+后将lvs自动加入了kernel模块,我们看下lvs在我们日常的服务器架构所在的位置: LVS调度算法 在内核中的连接调度算法上,IPVS已实现了以下八种调度算法: 轮叫调度(Round-Robin Scheduling) 加权轮叫调度(Weighted Round-Robin Scheduling) 最小连接调度(Least-Connec

qq_44784155的博客 169

企业—在lvs的DR模式下实现负载均衡、后端服务器的健康检查、高可用

1.相关介绍 负载均衡可由软件和硬件来实现,一般在中小型企业,他们采用的是软件,硬件的稍微贵一些,并且中小型企业一般也用不到太多,如果选择硬件会浪费,一般只有大型的企业由可能需要使用硬件构成的负载均衡。 负载均衡软件的实现有:lvs,haproxy,nginx,httpd,varnish. 这里我们讲解lvs 2.什么是lvs LVS ( Linux Virtual Server ) 即linu...

xy_的博客 463

LVS集群

1. LVS介绍 LVS,Linux Virtual Server LVS是章文嵩博士发起的自由软件项目,它的官方站点是http://www.linuxvirtualserver.org。LVS工作在内核空间,实现TCP/IP协议群的四层路由,在Linux2.4内核以前,使用LVS时必须要重新编译内核以支持LVS功能模块,但从Linux2.4内核以后已经完全内置了LVS的各个功能模块,无需给内核打任何补丁,可以直接使用LVS提供的各种功能。 负载调度器(load balancer/Director):由一台

- 227

LVS集群技术

LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器。LVS是一个开源的负载均衡软件,运行在Linux操作系统上,通过IP负载均衡技术和基于内容请求分发技术来实现高性能、高可用的服务器集群。

2301_80829238的博客 805

LVS知识点总结

LVS( Linux虚拟服务器) 负载均衡原理: 负载均衡作用: 1.解决并发压力,提高应用处理性能(增加吞吐量,加强网络处理能力); 2.提供故障转移,实现高可用; 3.通过添加或减少服务器数量,提供网站伸缩性(扩展性); 4.安全防护;(负载均衡设备上做一些过滤,黑白名单等处理) LVS体系结构: Load Balancer层:位于整个集群系统的最前端,有一台或者...

luohuayu111的博客 589

LVS(Linux virual server)实验

Cluster: 集群是为了解决某个特定问题将堕胎计算机组合起来形成的单个系统:LoadBalancing(负载均衡)由多个主机组成,每个主机只承担一部分访问:High Availiablity(高可用)SPOF(single Point Of failure)MTBF:Mean Time Between Failure 平均无故障时间,正常时间MTTR:Mean Time To Restoration( repair)平均恢复前时间,故障时间。

zy1418597796的博客 1194

LVS(Linux virual server)基础概念详解

​​LVS​​:Linux Virtual Server,Linux内核集成的四层负载均衡器,负载调度器,内核集成,章文嵩,阿里的四层SLB(Server LoadBalance)是基 于LVS+keepalived实现LVS 官网: http://www.linuxvirtualserver.org/lvs集群体系结构:​​关键术语​​:VS(Virtual Server):调度器RS(Real Server):真实服务器VIP(Virtual IP):对外服务IP。

m0_74345115的博客 730
上一篇: Torch Fails to build against CUDA 10
下一篇: LVS 负载均衡 DR模式环境搭建
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值