lvs 基本概念

LVS(linux virtual machine) 的简写,是一个虚拟的服务器集群系统,主要用于4层负载均衡。

宗旨:

使用集群技术和Linux操作系统实现一个高性能、高可用的服务器.

很好的可伸缩性(Scalability)

很好的可靠性(Reliability),应该还是高可用吧

很好的可管理性(Manageability)。很容易使用,很好学。

lvs自身应该不能实现高可用,需要结合其它软件实现。

可伸缩性:

1、可
伸缩性,简单来说,是以更大的规模来做你现在所做的事。伸展一个Web应用的规模在于让更多的人使用你的程序。如果你没法找出方法在伸展规模的同时提高性
能,没关系。而且只要你可以伸展规模来处理更大数量的用户,那么有几个单点故障(single point of failure)也没关系。

LVS的几个术语:

VIP:Director用来向外部提供服务的IP地址,也就是DNS通过域名解析到的IP

RIP:集群节点(后台真正提供服务的服务器)所使用的IP地址

DIP:Director用来和RIP进行交互的IP地址

CIP:客户端使用的IP或公网IP

R S :集群节点服务器Real server

lvs内核模型:

LVS的三种负载均衡技术:

NAT

优点:服务器可以运行任何支持TCP/IP的操作系统,它只需要一个IP地址配置在LVS主机上,服务器组可以用私有的IP地址。

缺点:扩充能力有限,当服务器结点数目很多时,LVS主机本身有可能成为系统的新瓶颈,因为在VS/NAT中请求和响应封包都需要通过负载平衡LVS主机。

特点:

1、RIP要使用使用地址,网关指向DIP

2、请求报文和响应报文都需经过Director:所以Director可能成为系统性能瓶颈。

3、支不支持端口映射,支持

4、RS可以使用任意操作系统。

请求流程:

DR

VS/DR LVS主机只处理客户到服务器端的连接,响应资料可以直接从独立的网络路由返回给客户。这可以极大地提高LVS集群系统的伸缩性。

同 VS/TUN相比,这种方法没有IP隧道的开销,但是要求负载平衡LVS主机与实际服务器都有一块网卡连在同一物理网段上,服务器网络设备或者设备别名不 作 ARP 响应。

特点:

1、保证前端路由将VIP的报文通通发往Directory,而不是RS

解决方案:

(1)、静态地址绑定,在前端路由器上操作

问题:未必有路由操作权限

(2)、在real server上配置iptables不让响应

(3)、修改RS上的内核参数,将RS上的VIP配置在lo接口的别名上,并且限制其不能响应对VIP地址解析请求。

2、RS可以使用私有地址,也可以使用公网地址,此时可以通过互联网对其直接进行访问。

3、RS和Directory必须在同一物理网络中。

4、所有的请求报文经由Director,但是响应报文必须不能经过Director

5、不支持端口映射。

6、RS可以是大多数常见的OS。

7、RS网关不指向DIP

请求流程

TUN


VS/TUN 的集群系统中,负载平衡LVS主机只将请求分配到不同的实际服务器,实际服务器将应答的资料直接返回给用户。这样,负载平衡LVS主机就可
以处理巨量的请 求,而不会成为系统的瓶颈。即使负载平衡LVS主机只有100Mbps的全双工网卡,虚拟服务器的最大吞吐量可以达到几Gbps。所
以,VS/TUN可以 极大地增加负载平衡LVS主机分配的服务器数量,它可以用来构建高性能超级服务器。VS/TUN技术对服务器的要求是所有的服务器
必须支持"IP Tunneling"或者"IP Encapsulation"协议。目前,VS/TUN 的后端服务器主要运行Linux操作系统。因
为"IP Tunneling"正成为各个操作系统的标准协议,所以VS/TUN也会适用运行其它操作系统的后端服务器。

特点:

1、RIP、VIP、DIP全部是公网地址

2、RS的网关不会也不可能指向DIP

3、请求报文经由Director,但响应报文必须不能经过Director

4、不支持端口映射

5、支持隧道类型

请求流程

LVS的常见调度算法:

rr(round robin):将工作平均的分配到服务器 (用于实际服务主机性能一致)

lc:(least-connections )

向较少连接的服务器分配较多的工作(tcp计时器判断后端连接数量。用于实际服务主机性能一致。)

overhead值,表示当前负载状况 。

overhead = active*256 + innactive

wrr(weighted round robin):

加权轮询,能者多劳。谁性能好分给谁的请求多。 (用于实际服务主机性能不一致时)

wlc(weighted least-connections):

考虑它们的容量向较少连接的服务器分配较多的工作。容量通过用户指定的砝码来说明,可以根据装载信息动态的向上或向下调整。(用于实际服务主机性能不一致时)

overhead = (active*256 + inactive) /weight

sh:(source hashing):

源地址hash,为了session持久的功能,在IPv4的代码中自行位置一个hash表,把CIPhash存储,任何一个客户端在来,先查hash表。这就是来自同一个IP的主机将始终定向至同一个real server.

dh:(destination hashing),目标地址hash,real server访问外部时,

还有一些调度算法,用的比较少,就不再列举了。

参考:

http://www.infoq.com/cn/news/2007/10/whatisscalability  你真的明白什么是可伸缩性吗?

http://baike.baidu.com/link?url=jIw3aTgnp6_SV7Op9LnIb7bL1Ik8xQGxTfhz-D5GraGOPkR97y6f3rMXtgS8axp9NlNilEUpLHWUNoJ5EVUGU18J4sdJlmOCbfCNeHwgZzy   LVS百度百科的介绍

http://os.51cto.com/art/201202/319979.htm  专题:LVS负载均衡手册

总结:

1、网上已经有很多lvs的资料了,这篇博客也没有什么新意,edraw软件在电脑上没反应,没有好的画图工具,三种lvs 调度模型,描述的就不够详细,而且是摘抄的别人的图。

2、感觉概念一般是死的,写来写去好像也就是这么多东西,不过总结一下对自己有些帮助吧。

3、如果布局太差,那么在编辑的时候,文字间距离看起来还行啊,预览的时候行间距就很大,这下次编辑的时候在看看是不是还是这种情况。

最后就是,接着这篇博客,会写一下lvs调度模型的具体实现。

时间: 2024-08-13 00:52:33

lvs 基本概念的相关文章

LVS的概念和重要性

LVS: 概念:是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统 作用:举例 像有三个小区,但是工作的时间和休息的时间不一样,第一个是白天工作,一个是晚上工作,一个是比较散时间, 如果没有负载均衡lvs的话,那么这三个小区,都是只是能用自己的那台服务器,仅仅的用一台服务器的带宽1M,这样的话,三个小区就会总会有一段时间会没有人用,而其他的小区又只能限制在一台上 (图示:大圈代表小区集体,小圈代表服务器,1M代表一兆的带宽) 使用lvs之后的形

LVS基本概念杂记

HA: centos6.4 之后引入keepalived LB常用的解决方案: F5 BIG-IP 思杰公司的 Netscaler A10 array linux :LVS linux virtual server ipvs ---netfilter ipvs:框架,需要依赖于规则完成转发 lvs工作在内核中实现的,不到达用户空间:client请求到达vritual server后进入input链,input链基于ipvs转发规则,做postouting到后端指定服务器, LVS:四层交换.四层

heartbeat+ldirectord+lvs详细概念说明

========   heartbeat+ ldirectord + lvs  =============== 一.负载均衡说明    负载均衡的目的就是将大量的负载请求通过一个分发技术,将这些请求分 发 到提供相同应用的不同服务器上,提供一个单独服务器所不具备的负载能力.通常将提供实际服务的服务器群叫做real server,比如实际提供smtp.http服务的服务器.而提供负载分发功能的这个设备就是负载均衡设备,硬件的有常用的Radware,Alten 等,软件的就是lvs.对于用户来说,需

【Services】【Web】【LVS】lvs基础概念

1.简介 1.1. 作者:张文嵩,就职于阿里 1.2. LVS是基础四层路由.四层交换的软件,他根据请求报文的目标IP和目标PORT将其调度转发至后端的某主机: 1.3. IPTABLES的请求转发路线:iptables(用户空间工具)/netfilter(内核空间组件) PREROUTING ==> INPUT PREROUTING ==> FORWARD ==> POSTROUTING OUTPUT ==> POSTROUTING 1.4. LVS的组成:ipvsadm(用户空

LVS基本概念和三种模式

网站架构中,负载均衡技术是实现网站架构伸缩性的主要手段之一.所谓"伸缩性",是指可以不断向集群中添加新的服务器来提升性能.缓解不断增加的并发用户访问压力.通俗地讲,就是一头牛拉不动时,就用两头.三头.更多头牛来拉. 负载均衡有好几种方式:http URL重定向.DNS的A记录负载均衡.反向代理负载均衡.IP负载均衡和链路层负载.本文所述为LVS,它的VS/NAT和VS/TUN模式是IP负载均衡的优秀代表,而它的VS/DR模式则是链路层负载均衡的优秀代表. 1.LVS简介 LVS中文官方

借助LVS+Keepalived实现负载均衡(转)

原文:http://www.cnblogs.com/edisonchou/p/4281978.html 一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器集群等等. 古人有云:当一头牛拉不动车的时候,不要去寻找一头更强壮的牛,而是用两头牛来拉车. 在实际应用中,在Web服务器集群之前总会有一

借助LVS+Keepalived实现负载均衡

一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器集群等等. 古人有云:当一头牛拉不动车的时候,不要去寻找一头更强壮的牛,而是用两头牛来拉车. 在实际应用中,在Web服务器集群之前总会有一台负载均衡服务器,负载均衡设备的任务就是作为Web服务器流量的入口,挑选最合适的一台Web服务器,将客户

【大型网站技术实践】初级篇:借助LVS+Keepalived实现负载均衡

一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器集群等等. 古人有云:当一头牛拉不动车的时候,不要去寻找一头更强壮的牛,而是用两头牛来拉车. 在实际应用中,在Web服务器集群之前总会有一台负载均衡服务器,负载均衡设备的任务就是作为Web服务器流量的入口,挑选最合适的一台Web服务器,将客户

lvs的结构以及使用方法

内容: 1.lvs的概念 2.lvs的工作过程 3.lvs的类型 4.lvs的调度方法 5.ipvsadm的使用 一.lvs LVS(Linux Virtual Server)是前阿里巴巴首席科学家章文嵩博士在大学期间的一款开源的负载均衡软件, 可实现四层的负载均衡. 首先,lvs工作在传输层,lvs的架构和iptables类似,lvs由ipvsadm/ipvs组成,其中ipvsadm工作在用户空间 lvs的术语: vs:virtual server,director rs:real serve