高性能负载均衡器集群LVS

此文档主要来自高俊峰老师的资料汇总

LVS体系结构

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

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负载均衡

  负载均衡技术有很多实现方案,有DNS负载均衡、HTTP重定向、反向代理负载均衡、IP负载均衡、直接路由、IP隧道,在这些负载调度算法中,执行效率最高的是数据链路负载均衡。
关于服务器集群负载均衡参考文档:https://www.zhihu.com/question/22610352
注意:
反向代理负载均衡不是数据链路层的负载均衡,数据链路层的负载均衡可以实现三角传输(DR模式)。
数据链路层负载均衡是目前使用最广泛的一种负载均衡方式。著名的负载均衡开源产品LVS(Linux Virtual Server),同时支持上面的IP负载均衡和数据链路层负载均衡。

  LVS 的 IP 负载均衡技术是通过 IPVS 模块来实现的,IPVS 是 LVS 集群系统的核心软件,lvs集群整个执行流程为:访问的请求首先经过 VIP 到达负载调度器,然后由负载调度器从 Real Server 列表中选取一个服务节点响应用户的请求。
  当用户的请求到达负载调度器后,调度器如何将请求发送到提供服务的 Real Server 节点,而 Real Server 节点如何返回数据给用户,是 IPVS 实现的重点技术,IPVS 实现负载均衡机制有三种,分别是 NAT、TUN 和 DR,详述如下:

1. DR模式
DR模式

DR 模式: 即 Virtual Server via Direct Routing,也就是用直接路由技术实现虚拟服务器。VS/DR 通过改写请求报文的 MAC 地址,将请求发送到 Real Server,而 Real Server将响应直接返回给客户。这种调度方式的性能最好的。

DR模式小结:
1、DR 模式是通过在调度器 LB 上修改数据包的目的 MAC 地址实现转发。因此数据包来源地址保持不变,目的地址仍然是 VIP 地址。
2、请求的报文经过调度器,而 RS 响应处理后的报文无需经过调度器 LB,因此并发访问量大时使用效率很高(和 NAT 模式比)
3、因为 DR 模式是通过 MAC 地址改写机制实现转发,因此所有 RS 节点和调度器 LB 只能在一个局域网里面
4、RS 主机需要绑定 VIP 地址在 LO 接口上,并且需要配置 ARP 抑制。
5、RS 节点的默认网关不需要配置成 LB,而是直接配置为上级路由的网关,能让 RS 直接出网就可以。
6、由于 DR 模式的调度器仅做 MAC 地址的改写,所以调度器 LB 就不能改写目标端口,那么 RS 服务器就得使用和 VIP 相同的端口提供服务。

2. NAT模式
NAT模式

NAT 模式: 即 Virtual Server via Network Address Translation,也就是网络地址翻译技术实现虚拟服务器。当用户请求到达调度器时,调度器将请求报文的目标地址(即虚拟IP 地址)改写成选定的 Real Server 地址,同时将报文的目标端口也改成选定的 Real Server的相应端口,最后将报文请求发送到选定的 Real Server。在服务器端得到数据后,Real Server 将数据返回给用户时,需要再次经过负载调度器将报文的源地址和源端口改成虚拟IP 地址和相应端口,然后把数据发送给用户,完成整个负载调度过程。

NAT模式优缺点:
1、NAT 模式不需要 LB IP 和 realserver ip 在同一个网段(此图是在同一个局域网下)。只需要在 LB 上配置一个公网 IP 地址就可以了。
2、NAT 技术将请求的报文和响应的报文都需要通过 LB 进行地址改写,因此网站访问量比较大的时候,LB 负载均衡调度器有比较大的瓶颈,一般要求最多之能 10-20 台节点
3、每台内部的 realserver 服务器的网关地址必须是调度器 LB 的内网地址。
4、NAT 模式支持对 IP 地址和端口进行转换。即用户请求的端口和真实服务器的端口可以不一致。

3. FULL NAT模式

FULL NATT 模式,与 NAT 模式基本一样,不同之处在于对报文的处理方面,如下图:

NAT与FULL NAT报文

1、FULL NAT 模式也不需要 LB IP 和 realserver ip 在同一个网段。
2、FULL NAT 因为要更新 Source IP 所以性能正常比 NAT 模式下降 10%。

4. IP TUNNEL模式
IP隧道.png

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

IP TUNNEL模式注意事项:
1、TUNNEL 模式必须在所有的 realserver 机器上面绑定 VIP 的 IP 地址
2、TUNNEL 模式的 vip ------>realserver 的包通信通过 TUNNEL 模式,不管是内网和外网都能通信,所以不需要 lvs vip 跟 realserver 在同一个网段内
3、TUNNEL 模式 realserver 会把 packet 直接发给 client 不会给 lvs 了
4、TUNNEL 模式走的隧道模式,所以运维起来比较难,所以一般不用。

LVS调度算法

Lvs 的调度算法决定了如何在集群节点之间分布工作负荷。当 director 调度器收到来自客户端访问 VIP 的上的集群服务的入站请求时,director 调度器必须决定哪个集群节点应该处理请求。Director 调度器用的调度方法基本分为两类:
固定调度算法:rr,wrr,dh,sh
动态调度算法:wlc,lc,lblc,lblcr

LVS调度算法的生产环境选型:
1、一般的网络服务,如 www,mail,mysql 等常用的 LVS 调度算法为:
a.基本轮询调度 rr
b.加权最小连接调度 wlc
c.加权轮询调度 wrr
2、基于局部性的最小连接 lblc 和带复制的给予局部性最小连接 lblcr 主要适用web cache 和 DB cache
3、源地址散列调度 SH 和目标地址散列调度 DH 可以结合使用在防火墙集群中,可以保证整个系统的出入口唯一。

LVS的安装与使用

  • 安装 IPVS 管理软件
[root@localhost ~]#yum -y install ipvsadm
[root@localhost ~]# ipvsadm --help
  • ipvsadm 的用法


    ipvsadm的用法

可以用“ipvsadm --clear”代替“ipvsadm -C”

列子:

[root@localhost ~]#ipvsadm -C
[root@localhost ~]#ipvsadm -A -t 192.168.60.200:80 -s rr -p 600
[root@localhost ~]#ipvsadm -a -t 192.168.60.200:80 -r 192.168.60.132:80 -g
[root@localhost ~]#ipvsadm -a -t 192.168.60.200:80 -r 192.168.60.144:80 –g
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容

  • 转载:https://blog.csdn.net/moonpure/article/details/5283913...
    SkTj阅读 3,186评论 0 10
  • 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群。常用的负载均衡开源软件有ngin...
    jiangmo阅读 1,276评论 0 1
  • why LVS 说到LVS,不得不说起F5。F5的LTM(本地流量管理器)在部署上、负载均衡原理上类似,但是也有十...
    朱晓飞阅读 4,736评论 1 12
  • 负载均衡 集群 LB LB:Load Balancing,负载均衡(增加处理能力),有高可用能力,但不是高可用集群...
    红衣漫漫阅读 2,225评论 0 1
  • 婀娜梁女着云裳 文彬尾生披白衣 桥上相遇心触电 含羞遮脸情依依 黄昏常邀赏夕阳 夜黑分归寸步移 何奈堂上嫌他贫 禁...
    六六正勤阅读 294评论 0 0