一分钟了解lvs

今天小编和大家介绍一下LVS,希望能给大家带来一定的收获!

一、LVS简介

LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中。该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案,终端互联网用户从外部访问公司的外部负载均衡服务器,终端用户的Web请求会发送给LVS调度器,调度器根据自己预设的算法决定将该请求发送给后端的某台Web服务器,比如,轮询算法可以将外部的请求平均分发给后端的所有服务器,终端用户访问LVS调度器虽然会被转发到后端真实的服务器,但如果真实服务器连接的是相同的存储,提供的服务也是相同的服务,最终用户不管是访问哪台真实服务器,得到的服务内容都是一样的,整个集群对用户而言都是透明的。最后根据LVS工作模式的不同,真实服务器会选择不同的方式将用户需要的数据发送到终端用户,LVS工作模式分为NAT模式、TUN模式、以及DR模式。

二、LVS的构成

从物理层面上讲,LVS的主要组成:

负载调度器(load balancer/ Director),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址(我们可称之为虚拟IP地址)上的。

服务器池(server pool/ Realserver),是一组真正执行客户请求的服务器,执行的服务一般有WEB、MAIL、FTP和DNS等。

共享存储(shared storage),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。

注:一般为了实现高可用会使用两台以上的调度服务器,作为备份,提高安全性。

从软件层面上讲,LVS 由2部分程序组成,包括 ipvs 和 ipvsadm。

1、ipvs(ip virtual server) :工作在内核空间的一段代码,叫ipvs,是真正生效实现调度的代码。

2、ipvsadm :另外一段是工作在用户空间,叫ipvsadm,负责为ipvs内核框架编写规则,定义谁是集群服务,而谁是后端真实的服务器(Real Server),然后由内核代码实现真正的调度算法及功能。

三、LVS三种工作模式

3.1、基于NAT的LVS模式负载均衡

NAT(Network Address Translation)即网络地址转换,其作用是通过数据报头的修改,使得位于企业内部的私有IP地址可以访问外网,以及外部用户可以访问于公司内部的私有IP主机。

LVS负载调度器可以使用两块网卡配置不同的IP地址,eth0设置为私钥IP与内部网络通过交换设备相互连接,eth1设备为外网IP与外部网络联通。

第一步,用户通过互联网DNS服务器解析到公司负载均衡设备上面的外网地址,相对于真实服务器而言,LVS外网IP又称VIP(Virtual IP Address),用户通过访问VIP,即可连接后端的真实服务器(Real Server),而这一切对用户而言都是透明的,用户以为自己访问的就是真实服务器,但他并不知道自己访问的VIP仅仅是一个调度器,也不清楚后端的真实服务器到底在哪里、有多少真实服务器。

第二步,用户将请求发送至124.126.147.168,此时LVS将根据预设的算法选择后端的一台真实服务器(192.168.0.1~192.168.0.3),将数据请求包转发给真实服务器,并且在转发之前LVS会修改数据包中的目标地址以及目标端口,目标地址与目标端口将被修改为选出的真实服务器IP地址以及相应的端口。

第三步,真实的服务器将响应数据包返回给LVS调度器,调度器在得到响应的数据包后会将源地址和源端口修改为VIP及调度器相应的端口,修改完成后,由调度器将响应数据包发送回终端用户,另外,由于LVS调度器有一个连接Hash表,该表中会记录连接请求及转发信息,当同一个连接的下一个数据包发送给调度器时,从该Hash表中可以直接找到之前的连接记录,并根据记录信息选出相同的真实服务器及端口信息。

NAT模式详细说明:

1、client请求资源,当报文到达director时,源和目标IP是CIP-VIP,IPVS会强行修改目标地址为RIP,将报文从INPUT发向POSTROUTING,源和目标IP修改为CIP-RIP,RS验证目标地址是本地地址,则接受报文并处理请求。

2、RS响应请求,由于请求报文源IP是CIP,所以响应报文的目标IP是CIP;将响应报文发送给网关director后,director会通过SNAT将源IP修改为VIP,这样client才可以明确是响应它请求报文的数据包。

特点:

director与RS必须在同一个局域网呢

RS的网关必须指向director的私网DIP。

请求和响应报文都需要director转发,会成为整个系统的瓶颈。

支持端口映射,client访问80端口,dire。

好啦!今天的分享到这里就结束了,文章转载于马哥教育官网!

原文链接:http://www.magedu.com/84206.html

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 负载均衡原理的解析

    开头先理解一下所谓的“均衡” 不能狭义地理解为分配给所有实际服务器一样多的工作量,因为多台服务器的...

    小小科
  • 高薪Linux必备之高并发场景 LVS 简快入门实战(万字长文)

    随着移动互联网的加速,应用大规模同时使用的情况成为了常态,如微博、知乎、今日头条等大型应用,作为Linux运维从业者,高并发场景的解决能力成为了高薪的关键。 ...

    小小科
  • 基础拾遗--【转】上行带宽,下行带宽,上传,下载区别

    1.上行 是指从服务器流出的带宽,如果是在其他机器下载服务器上的文件,用的主要是服务器的上行带宽。 2.下行 是指流入到服务器的带宽,如果是在其他机器上传文件...

    小小科
  • LVS 三种负载均衡模式详解

    老七Linux
  • LVS负载均衡内功心法+外功招式

    LVS是Linux Virtual Server的缩写,即Linux虚拟服务器,是由章文嵩博士主导开发的开源负载均衡项目,目前LVS已经被集成到Linuxd内核...

    MySQL数据库技术栈
  • Web负载均衡

    序: 对Web站点扩展一开始不宜过早,除非是基于高可用性和就近部署的考虑。但对于架构师而言,在架构设计之初就要有扩展的计划,关键是要清楚何时进行扩展。这...

    李海彬
  • 揭开 LVS 神秘的面纱

    耕耘实录
  • 应用负载均衡之LVS(一):基本概念和三种模式

    本文目录: 1. LVS简介 2. LVS-ipvs三种模式的工作原理  2.1 VS/NAT模式  2.2 VS/TUN模式  2.3 VS/DR模式  2....

    致码DevOps
  • Nginx负载均衡配置实例详解

    负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦。

    流柯
  • 决定腾讯云服务器租用价格的因素有哪些

    很多新手用户购买腾讯云服务器之前都会问,腾讯云服务器一年多少钱,其实云服务器的配置是决定租用价格的主要因素,另外云服务器的地域,带宽,付费方式,购买时长以及是否...

    tengxunyun8点com

扫码关注云+社区

领取腾讯云代金券