返回顶部
首页 > 资讯 > 精选 >LVS是什么意思
  • 355
分享到

LVS是什么意思

2023-06-16 19:06:37 355人浏览 八月长安
摘要

这篇文章主要介绍LVS是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、LVS概念LVS是linux Virtual Server的简称,也就是Linux虚拟服务器。这是一个由章文嵩博士发起的一个开源项目,

这篇文章主要介绍LVS是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

一、LVS概念

LVS是linux Virtual Server的简称,也就是Linux虚拟服务器。这是一个由章文嵩博士发起的一个开源项目,它的官方网站是Http://www.linuxvirtualserver.org/.现在LVS已经是Linux内核标准的一部分。

使用LVS可以达到的技术目标是:通过LVS达到的负载均衡技术和Linux操作系统实现一个高性能高可用的Linux服务器群集,它具有良好的可靠性,可拓展性和可操作性。从而以低廉的成本实现***的性能。

LVS从1998年开始,发展到现在已经是一个比较成熟的项目了。利用LVS技术可以实现高性能,高可压缩的网路服务,例如WWW服务,FTP服务,MaiL服务等。比较著名的就是www.linux.com以及www.real.com.

二、LVS的体系架构

使 用LVS架设的服务器集群系统有三个部分组成:最前端负载均衡层(Loader Balancer),中间的服务器群组层,用Server  Array表示,***层的数据共享存储层,用Shared  Storage表示。在用户看来所有的应用都是透明的,用户只是在使用一个虚拟服务器提供的高性能服务。

LVS的体系架构如图:

LVS是什么意思

LVS的各个层次的详细介绍:

Load  Balancer层:位于整个集群系统的最前端,有一台或者多台负载调度器(Director  Server)组成,LVS模块就安装在Director  Server上,而Director的主要作用类似于一个路由器,它含有完成LVS功能所设定的路由表,通过这些路由表把用户的请求分发给Server  Array层的应用服务器(Real Server)上。同时,在Director Server上还要安装对Real  Server服务的监控模块Ldirectord,此模块用于监测各个Real Server服务的健康状况。在Real  Server不可用时把它从LVS路由表中剔除,恢复时重新加入。

Server  Array层:由一组实际运行应用服务的机器组成,Real  Server可以是WEB服务器、MAIL服务器、FTP服务器、DNS服务器、视频服务器中的一个或者多个,每个Real  Server之间通过高速的LAN或分布在各地的WAN相连接。在实际的应用中,Director Server也可以同时兼任Real  Server的角色。

Shared Storage层:是为所有Real  Server提供共享存储空间和内容一致性的存储区域,在物理上,一般有磁盘阵列设备组成,为了提供内容的一致性,一般可以通过NFS网络文件系统共享数 据,但是NFS在繁忙的业务系统中,性能并不是很好,此时可以采用集群文件系统,例如Red  hat的GFS文件系统,oracle提供的OCFS2文件系统等。

从整个LVS结构可以看出,Director  Server是整个LVS的核心,目前,用于Director  Server的操作系统只能是Linux和FreeBSD,linux2.6内核不用任何设置就可以支持LVS功能,而FreeBSD作为 Director Server的应用还不是很多,性能也不是很好。对于Real  Server,几乎可以是所有的系统平台,Linux、windows、Solaris、AIX、BSD系列都能很好的支持。

三、  LVS集群的特点

1  IP负载均衡与负载调度算法

1.IP负载均衡技术

负载均衡技术有很多实现方案,有基于DNS域名轮流解析的方法、有基于客户端调度访问的方法、有基于应用层系统负载的调度方法,还有基于IP地址的调度方法,在这些负载调度算法中,执行效率***的是IP负载均衡技术。

LVS 的IP负载均衡技术是通过IPVS模块来实现的,IPVS是LVS集群系统的核心软件,它的主要作用是:安装在Director  Server上,同时在Director  Server上虚拟出一个IP地址,用户必须通过这个虚拟的IP地址访问服务。这个虚拟IP一般称为LVS的VIP,即Virtual  IP。访问的请求首先经过VIP到达负载调度器,然后由负载调度器从Real Server列表中选取一个服务节点响应用户的请求。

当用户的请求到达负载调度器后,调度器如何将请求发送到提供服务的Real Server节点,而Real Server节点如何返回数据给用户,是IPVS实现的重点技术,IPVS实现负载均衡机制有三种,分别是NAT、TUN和DR,详述如下:

VS/NAT: 即(Virtual Server via Network Address Translation)
也就是网络地址翻译技术实现虚拟服务器,当用户请求到达调度器时,调度器将请求报文的目标地址(即虚拟IP地址)改写成选定的Real Server地址,同时报文的目标端口也改成选定的Real Server的相应端口,***将报文请求发送到选定的Real Server。在服务器端得到数据后,Real Server返回数据给用户时,需要再次经过负载调度器将报文的源地址和源端口改成虚拟IP地址和相应端口,然后把数据发送给用户,完成整个负载调度过程。可以看出,在NAT方式下,用户请求和响应报文都必须经过Director Server地址重写,当用户请求越来越多时,调度器的处理能力将称为瓶颈。

VS/TUN :即(Virtual Server via IP Tunneling)
也就是IP隧道技术实现虚拟服务器。它的连接调度和管理与VS/NAT方式一样,只是它的报文转发方法不同,VS/TUN方式中,调度器采用IP隧道技术将用户请求转发到某个Real Server,而这个Real Server将直接响应用户的请求,不再经过前端调度器,此外,对Real Server的地域位置没有要求,可以和Director Server位于同一个网段,也可以是独立的一个网络。因此,在TUN方式中,调度器将只处理用户的报文请求,集群系统的吞吐量大大提高。

VS/DR: 即(Virtual Server via Direct Routing)
也就是用直接路由技术实现虚拟服务器。它的连接调度和管理与VS/NAT和VS/TUN中的一样,但它的报文转发方法又有不同,VS/DR通过改写请求报文的Mac地址,将请求发送到Real Server,而Real Server将响应直接返回给客户,免去了VS/TUN中的IP隧道开销。这种方式是三种负载调度机制中性能******的,但是必须要求Director Server与Real Server都有一块网卡连在同一物理网段上。

2.负载调度算法

上面我们谈到,负载调度器是根据各 个服务器的负载情况,动态地选择一台Real  Server响应用户请求,那么动态选择是如何实现呢,其实也就是我们这里要说的负载调度算法,根据不同的网络服务需求和服务器配置,IPVS实现了如下 八种负载调度算法,这里我们详细讲述最常用的四种调度算法,剩余的四种调度算法请参考其它资料。

轮叫调度(Round Robin)

“轮叫”调度也叫1:1调度,调度器通过“轮叫”调度算法将外部用户请求按顺序1:1的分配到集群中的每个Real Server上,这种算法平等地对待每一台Real Server,而不管服务器上实际的负载状况和连接状态。

加权轮叫调度(Weighted Round Robin)

“加 权轮叫”调度算法是根据Real Server的不同处理能力来调度访问请求。可以对每台Real  Server设置不同的调度权值,对于性能相对较好的Real Server可以设置较高的权值,而对于处理能力较弱的Real  Server,可以设置较低的权值,这样保证了处理能力强的服务器处理更多的访问流量。充分合理的利用了服务器资源。同时,调度器还可以自动查询Real  Server的负载情况,并动态地调整其权值。

最少链接调度(Least Connections)

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

加权最少链接调度(Weighted Least Connections)

“加权最少链接调度”是“最少连接调度”的超集,每个服务节点可以用相应的权值表示其处理能力,而系统管理员可以动态的设置相应的权值,缺省权值为1,加权最小连接调度在分配新连接请求时尽可能使服务节点的已建立连接数和其权值成正比。

其它四种调度算法分别为:基于局部性的最少链接(Locality-Based Least  Connections)、带复制的基于局部性最少链接(Locality-Based Least Connections with  Replication)、目标地址散列(Destination Hashing)和源地址散列(Source  Hashing),对于这四种调度算法的含义,本文不再讲述,如果想深入了解这其余四种调度策略的话,可以登陆LVS中文站点 zh.linuxvirtualserver.org,查阅更详细的信息。

2 高可用性

LVS是一个基于内核级别的应用 软件,因此具有很高的处理性能,用LVS构架的负载均衡集群系统具有优秀的处理能力,每个服务节点的故障不会影响整个系统的正常使用,同时又实现负载的合 理均衡,使应用具有超高负荷的服务能力,可支持上百万个并发连接请求。如配置百兆网卡,采用VS/TUN或VS/DR调度技术,整个集群系统的吞吐量可高 达1Gbits/s;如配置千兆网卡,则系统的***吞吐量可接近10Gbits/s。

3 高可靠性

LVS负载均衡集群软 件已经在企业、学校等行业得到了很好的普及应用,国内外很多大型的、关键性的web站点也都采用了LVS集群软件,所以它的可靠性在实践中得到了很好的证 实。有很多以LVS做的负载均衡系统,运行很长时间,从未做过重新启动。这些都说明了LVS的高稳定性和高可靠性。

4 适用环境

LVS 对前端Director Server目前仅支持Linux和FreeBSD系统,但是支持大多数的tcp和UDP协议,支持TCP协议的应用有:HTTP,https,FTP,SMTP,,POP3,IMAP4,PROXY,LDAP,SSMTP等等。
支持UDP协议的应用有:DNS,NTP,ICP,视频、音频流播放协议等。
LVS对Real Server的操作系统没有任何限制,Real Server可运行在任何支持TCP/IP的操作系统上,包括Linux,各种Unix(如FreeBSD、Sun Solaris、HP Unix等),Mac/OS和Windows等。

5 开源软件

LVS集群软件是按GPL(GNU Public License)许可证发行的自由软件,因此,使用者可以得到软件的源代码,并且可以根据自己的需要进行各种修改,但是修改必须是以GPL方式发行。

以上是“LVS是什么意思”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: LVS是什么意思

本文链接: https://lsjlt.com/news/284943.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • LVS是什么意思
    这篇文章主要介绍LVS是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、LVS概念LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器。这是一个由章文嵩博士发起的一个开源项目,...
    99+
    2023-06-16
  • J2EE是什么意思2又是什么意思
    J2EE是Java 2 Platform, Enterprise Edition的缩写,意思是Java 2企业级平台。它是一种用于开...
    99+
    2023-09-20
    J2EE
  • php 是什么意思
    本文操作环境:Windows7系统、PHP7.4版、DELL G3电脑php是什么意思 ?PHP(全称:PHP:Hypertext Preprocessor,即“PHP:超文本预处理器”)是一种开源的通用计算机脚本语言,尤其适用于网络开发并...
    99+
    2015-10-12
    php
  • java -= 是什么意思
    java中的“-=”是自减运算符的意思。自增和自减是单目运算符,可以放在操作元之前,也可以放在操作元之后。操作元必须是一个整型或浮点型变量。自增、自减运算符的作用是使变量的值增1或减1。放在操作元前面的自增、自减运算符,会先将变量的值加1或...
    99+
    2016-08-30
    java入门 java -=
  • java是什么意思
    Java是一门面向对象编程语言,是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多...
    99+
    2018-06-27
    java教程 java
  • redis是什么意思
    这篇文章主要介绍redis是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Va...
    99+
    2024-04-02
  • navicat是什么意思
    这篇文章给大家分享的是有关navicat是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。navicat是什么Navicat是一套快速、可靠并价格相当便宜的数据库管理工具,...
    99+
    2024-04-02
  • phpMyAdmin是什么意思
    这篇文章主要介绍了phpMyAdmin是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。phpMyAdmin 是什么?phpMyAdm...
    99+
    2024-04-02
  • list是什么意思
    这篇文章给大家分享的是有关list是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。### 简介:list是一个链表结构。  *主要功能*是push、pop、获取...
    99+
    2024-04-02
  • margin是什么意思
    今天就跟大家聊聊有关margin是什么意思,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。和大家重点讨论一下CSS margin 属性的用法,这个简写...
    99+
    2024-04-02
  • DIV是什么意思
    本篇内容介绍了“DIV是什么意思”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是DIVDIV 在编程中...
    99+
    2024-04-02
  • css是什么意思
    这篇文章主要介绍了css是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。   CSS不仅可以静态地修饰网页,还可以配合各种脚本语言...
    99+
    2024-04-02
  • o2o是什么意思
    O2O是指线下通过互联网进行交易的一种模式。比如你去超市买的东西,可以用微信支付、支付宝付款等等。O2O模式充分利用了互联网跨地域、无边界、海量信息、海量用户的优势,同时充分挖掘线下资源,进而促成线上用户与线下商品与服务的交易,团购就是O2...
    99+
    2024-04-02
  • Ajax是什么意思
    这篇文章将为大家详细讲解有关Ajax是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是 AJAXAJAX = Asynchronous JavaScript ...
    99+
    2024-04-02
  • ecmascript6是什么意思
    这篇文章主要讲解了“ecmascript6是什么意思”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ecmascript6是什么意思”吧! ...
    99+
    2024-04-02
  • ecmascript是什么意思
    这篇文章主要介绍“ecmascript是什么意思”,在日常操作中,相信很多人在ecmascript是什么意思问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ecmascript...
    99+
    2024-04-02
  • node.js是什么意思
    这篇文章主要介绍了node.js是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 Node.js是一个基...
    99+
    2024-04-02
  • node是什么意思
    本篇内容介绍了“node是什么意思”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • php是什么意思
    PHP是一种通用开源脚本语言,与C语言类似,是常用的网站编程语言,随着移动应用的兴起,也可用于开发API接口,几乎支持所有流行的数据库以及操作系统,PHP 语言作为当今热门的网站程序开发语言,它具有成本低、速度快、可移植性好、内置丰富的函数...
    99+
    2024-04-02
  • obd是什么意思
    obd指的是车载自动诊断系统,当电子控制系统电路的信号出现异常且超出了正常的变化范围,就会马上发出警示,同时动力总成控制模块(PCM)将故障信息存入存储器,通过一定的程序可以将故障码从PCM中读出,根据故障码的提示,维修人员能迅速准确地确定...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作