LVS负载均衡技术介绍

一、LVS集群介绍

LVS集群采用IP负载均衡技术和基于内容请求分发技术,因为所有的操作都是在Linux操作系统核心空间中将完成的,它的调度开销很小,所以调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服 务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序,实现模式主要有:VS/NAT模式,VS/TUN模式(IP隧道模式),VS/DR模式(直接路由模式)。

二、LVS负载均衡方式

1、LVS-NAT

LVS-NAT模式应用了NAT这一特性,将内部的一组服务器映射到一个虚拟的IP上,然后以虚拟服务节点的身份对外提供服务。由于客户端请求和响应都必须经过Director Server,所以Director容易成为集群的瓶颈,这也使得LVS-NAT模式支持的集群数较少。

lvs-nat拓扑图

配置好网络环境并在Real server上安装web服务,在Directory server上进行如下操作:

]# echo "1" > /proc/sys/net/ipv4/ip_forward  #打开路由转发功能

]# ipvsadm -A -t 192.168.1.106:80 -s rr

]# ipvsadm -a -t 192.168.1.106:80 -r 192.168.10.3:80 -m

]# ipvsadm -a -t 192.168.1.106:80 -r 192.168.10.2:80 -m

2、LVS-DR

工作原理:Director根据不同的调度算法,选取一个Real Server,不修改也不封装IP报文,而是将数据帧的MAC地址改为选出服务器的MAC地址,再将修改后的数据帧在与服务器组的局域网上发送。因为数据帧的MAC地址是选出的服务器,所以服务器肯定可以收到这个数据帧,从中可以获得该IP报文。当服务器发现 报文的目标地址VIP是在本地的网络设备上,服务器处理这个报文,然后根据路由表将响应报文直接返回给客户。

LVS-DR模式下Real Server和Director必须在同一物理网络。

lvs-dr模式拓扑图

Director Server上配置:

~]# ifconfig eth2:0 192.168.145.200 netmask 255.255.255.255

~]# route add -host 192.168.145.200 dev eth2:0

~]# ipvsadm -At 192.168.145.200:80 -s rr

~]# ipvsadm -at 192.168.145.200:80 -r 192.168.145.203:80 -g

~]# ipvsadm -at 192.168.145.200:80 -r 192.168.145.205:80 -g

Real Server上由于设置了VIP,所以需要关闭arp广播功能,配置入下:

~]# ifconfig lo:0 192.168.145.200 netmask 255.255.255.255

~]# route add -host 192.168.145.200 dev lo:0

~]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore

~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce

~]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore

~]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

3、LVS-TUN

采用NAT技术时,由于请求和响应报文都必须经过调度器地址重写,当客户请求越来越多时,调度器的处理能力将成为瓶颈。为了解决这个问题,调度器把请求报 文通过IP隧道转发至真实服务器,而真实服务器将响应直接返回给客户,所以调度器只处理请求报文,与LVS-DR不同的是LVS-TUN采用IP隧道技术,所以Real Server与Director可以在不同的物理网络。

lvs-tun拓扑图

Director Server上配置:

~]# ifconfig tunl0 192.168.145.200 netmask 255.255.255.255 up

~]# route add -host 192.168.145.200 dev tunl0

~]# ipvsadm -At 192.168.145.200:80 -s rr

~]# ipvsadm -at 192.168.145.200:80 -r 192.168.145.203:80 -i

~]# ipvsadm -at 192.168.145.200:80 -r 192.168.145.205:80 -i

Real Server上由于设置了VIP,所以需要关闭arp广播功能,配置入下:

~]# ifconfig tunl0 192.168.145.200 netmask 255.255.255.255 up

~]# route add -host 192.168.145.200 dev tunl0

~]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore

~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce

~]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore

~]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

三、三种模式优缺点

NAT模式:

优点:

1.支持端口映射。

2.Real Server可以使用任意的OS。

3.只需要一个公网IP

缺点:

1.请求和响应报文都要经由director转发,director容易成为系统瓶颈。

2.director和real server必须在同一网段。

DR模式:

优点:

1.请求报文经由Director调度,但响应报文一定不能经由Director。

2.Real Server地址可以使用私有地址;但也可以使用公网地址。

缺点:

1.Real Server和Director必须在同一物理网络中。

2.不支持端口映射。

TUN模式:

优点:

1.Real Server和Director可以在不同的物理网络中。

2.请求报文经由Director调度,但响应报文一定不能经由Director。

缺点:

1.负载调度器、真实服务器必须支持隧道协议的网卡。

2.需要多个公网IP。

3.建立IP隧道需要额外开销。

4.不支持端口映射。

时间: 2024-10-09 03:50:44

LVS负载均衡技术介绍的相关文章

LVS负载均衡技术精华篇

网络环境 LVS-VIP  192.168.1.200 LVS-MASTER-192.168.1.228 LVS-SLAVE-192.168.1.229 LVS-MASTER-192.168.1.228 wgethttp://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz wget http://www.keepalived.org/software/keepalived-1.2.23.tar.gz yum -

linux 负载均衡技术之 LVS

一. LVS简介LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver.org.现在LVS已经是 Linux标准内核的一部分,在Linux2.4内核以前,使用LVS时必须要重新编译内核以支持LVS功能模块,但是从Linux2.4内核以后,已经完全内置了LVS的各个功能模块,无需给内核打任何补丁,可以直接使用LVS提供的各种功能. 使用LVS技术要达到的目标是:通过LVS

LVS负载均衡集群架构介绍

为什么需要使用负载均衡呢?这是一个必较重要的问题 实际生产环境中某单台服务器已不能负载日常用访问压力时,就需要使用负载均衡,把用户的请求数据分担到(尽可能平均分配)后端所有功能同等的集群的节点上,同样也是为了解决单台服务器故障问题,从而提高用户的访问体验. 1.LVS的介绍 LVS(linux virtual server)LINUX虚拟服务器,是一个虚拟的服务器集群系统,可以在linux和unix系统中运行,1985年开发研究的项目 http://www.linuxvirtualserver.

LVS负载均衡之持久性连接介绍(会话篇)

在实际生产环境中,往往需要根据业务应用场景来设置lvs的会话超时时间以及防session连接丢失的问题提,如在业务支付环节,如若session丢失会导致重复扣款问题,严重影响到安全性,本小节解将会讲到关于lvs持久性连接问题 一.lvs负载均衡持久连接介绍: 引子(案例) 对于电子商务网站来说,用户在挑选商品的时候使用的是80端口来浏览的,当付款的时候则是通过443的ssl加密的方式,当然当用户挑选完商品付款 的时候,我们当然不希望https的443跳转到另外一台REAL SERVER上,很显然

LVS集群中的IP负载均衡技术

章文嵩 ([email protected]) 转自LVS官方参考资料 2002 年 4 月 本文在分析服务器集群实现虚拟网络服务的相关技术上,详细描述了LVS集群中实现的三种IP负载均衡技术(VS/NAT.VS/TUN和VS/DR)的工作原理,以及它们的优缺点. 1.前言在 前面文章中,讲述了可伸缩网络服务的几种结构,它们都需要一个前端的负载调度器(或者多个进行主从备份).我们先分析实现虚拟网络服务的主要技术,指出 IP负载均衡技术是在负载调度器的实现技术中效率最高的.在已有的IP负载均衡技术

LVS负载均衡介绍

负载均衡集群典型的开源软件:lvs,nginx,haproxy,lighttpd. 高可用性集群典型典型常用开源软件:keepalived,beartbeat 商业的硬件负载设备: F5.Netscale LoadBalancer是负载调度器,由它将网络请求无缝隙调度到真实服务器.LVS有三种负载均衡技术,分别是NAT.和DR.TUN.Full-NAT. LVS 的工作模式主要有 4 种: DR NAT TUNNEL Full-NAT IP负载均衡技术 1.VS/DR(直接路由) 通过改写请求报

LVS的三种负载均衡技术,八大负载调度算法

1.LVS项目简介 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.章文嵩博士目前工作于阿里集团,主要从事集群技术.操作系统.对象存储与数据库的研究. 2.LVS功能及其原理 针对高可伸缩.高可用网络服务的需求,我们给出了基于IP层和基于内容请求分发的负载平衡调度解决方法,并在Linux内核中实现了这些方法,将一组服务器构成一个实现可伸缩的.高可用网络服务的

负载均衡技术之-lvs

LVS简介 Internet的快速增长使多媒体网络服务器面对的访问数量快速增加,服务器需要具备提供大量并发访问服务的能力,因此对于大负载的服务器来讲, CPU.I/O处理能力很快会成为瓶颈.由于单台服务器的性能总是有限的,简单的提高硬件性能并不能真正解决这个问题.为此,必须采用多服务器和负载均衡技术才能满足大量并发访问的需要.Linux 虚拟服务器(Linux Virtual Servers,LVS) 使用负载均衡技术将多台服务器组成一个虚拟服务器.它为适应快速增长的网络访问需求提供了一个负载能

LVS负载均衡集群技术学习笔记

一.ARP协议 1. Address Resolution Protocal地址解析协议,功能是根据主机IP地址来解析到主机的MAC地址. 2. ARP协议和DNS协议对比: a. DNS是在域名和IP之间进行解析,ARP是在IP和MAC之间解析. b. ARP协议不需要服务,DNS需要开启服务. c. ARP协议需要互联的主机处于同一个物理网段之内(即局域网环境)! 3. ARP协议工作过程(第一次通信) 4. 高可用服务器切换机器以及更换路由器的时候要注意刷新ARP缓存 5. IP切换时候A