LVS负载均衡

LVS(Linux Virtual Server)是一种开源的负载均衡解决方案,它通过调度算法将请求分配到后端的真实服务器,实现高可用性和扩展性。LVS支持NAT、DR和TUN三种工作模式,其中NAT模式通过修改目标IP和端口实现负载均衡,DR模式通过直接路由和MAC地址封装保持源IP和端口不变。此外,LVS提供了多种调度算法,如轮询、加权轮询、最小连接和加权最小连接。在部署中,LVS-NAT和LVS-DR模式各有特点,适用于不同的网络环境和场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、What’s the LVS?

1、LVS(Linux Virtual Server,负载调度器)

2、LVS如何工作

二、LVS工作模式

1、LVS-NAT

2、LVS-TUN

3、LVS-DR

三、LVS的使用

1、LVS负载均衡调度算法

(1).轮询调度

(2).加权轮询调度

(3).最小连接调度

(4).加权最小连接调度

2、ipvsadm工具选项

 四、NAT模式LVS负载均衡部署

 1、LVS-NAT的NFS共享服务器

3、LVS-NAT负载调度器

​编辑

 3、LVS-NAT节点服务器

4、LVS-NAT客户机测试

五、DR模式LVS负载均衡部署

1、LVS-DR的特点

2、部署

3、LVS-DR的nfs服务器

4、LVS-DR节点服务器

6、LVS-DR负载调度器

7、LVS-DR客户端测试


一、What’s the LVS?

1、LVSLinux Virtual Server,负载调度器

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

内核集成,阿里的四层SLB(Server Load Balance)是基于LVS+keepalived实现.

整个SLB系统由3部分构成:

四层负载均衡  采用开源软件LVS (linux virtual server),并根据云计算需求对其进行了定制化;该技术已经在阿里巴巴内部业务全面上线应用2年;

七层负载均衡和控制  采用开源软件Tengine;该技术已经在阿里巴巴内部业务全面上线应用3年多;

控制系统   用于配置和监控负载均衡系统;

2、LVS如何工作

LVS根据请求报文的目标IP和目标协议及端口将其调度转发至某RS,根据调度算法来挑选RS。LVS是内核级功能,工作在INPUT链的位置,将发往INPUT的流量进行“处理”

VS:Virtual Server,Director Server(DS), Dispatcher(调度器),Load Balancer(lvs服务器)

RS:Real Server(lvs), upstream server(nginx), backend server(haproxy)(真实服务器)

CIP:Client IP

VIP:Virtual serve IP VS外网的IP

DIP:Director IP VS内网的IP

RIP:Real server IP (真实IP)

二、LVS工作模式

LVS的工作模式:

  • LVS-NAT:net address translate 修改请求报文的目标IP,多目标IP的DNAT

  • LVS-DR:direct routing 操纵封装新的MAC地址(直接路由)

  • LVS-TUN:隧道模式

1、LVS-NAT

本质是多目标IP的DNAT,通过将请求报文中的目标地址和目标端口修改为某处的RS的RIP和PORT实现转发

(1)RIP和DIP应在同一个IP网络,且应使用私网地址;RS的网关要指向DIP

(2)请求报文和响应报文都必须经由Director转发,Director易于成为系统瓶颈

(3)支持端口映射,可修改请求报文的目标PORT

(4)VS必须是Linux系统,RS可以是任意OS系统
 

2、LVS-TUN

(1)RIP和DIP可以不处于同一物理网络中,RS的网关一般不能指向DIP,且RIP可以和公网通信。也就是说集群节点可以跨互联网实现。DIP, VIP, RIP可以是公网地址。

(2)RealServer的通道接口上需要配置VIP地址,以便接收DIP转发过来的数据包,以及作为响应的报文源IP。

(3)DIP转发给RealServer时需要借助隧道,隧道外层的IP头部的源IP是DIP,目标IP是RIP,而RealServer响应给客户端的IP头部是根据隧道内层的IP头分析得到的,源IP是VIP,目标IP是CIP

(4)请求报文要经由Director,但响应不经由Director,响应由RealServer自己完成

(5)不支持端口映射

(6)RS的OS须支持隧道功能

3、LVS-DR

(1)采用半开放式的网络结构,与 TUN模式的结构类似,但各节点并不是分散在各地,而是与调度器位于同一个物理网络。

(2)负载调度器与各节点服务器通过本地网络连接,不需要建立专用的 IP 隧道

(3)直接路由,LVS默认模式,应用最广泛,通过请求报文重新封装一个MAC首部进行转发,

(4)源MAC是DIP所在的接口的MAC,目标MAC是某挑选出的RS的RIP所在接口的MAC地址;

(5)源IP/PORT,以及目标IP/PORT均保持不变

三、LVS的使用

1、LVS负载均衡调度算法

(1).轮询调度

轮询调度(Round Robin 简称'RR')算法就是按依次循环的方式将请求调度到不同的服务器上,该算法最大的特点就是实现简单。轮询算法假设所有的服务器处理请求的能力都一样的,调度器会将所有的请求平均分配给每个真实服务器。

(2).加权轮询调度

加权轮询(Weight Round Robin 简称'WRR')算法主要是对轮询算法的一种优化与补充,LVS会考虑每台服务器的性能,并给每台服务器添加一个权值,如果服务器A的权值为1,服务器B的权值为2,则调度器调度到服务器B的请求会是服务器A的两倍。权值越高的服务器,处理的请求越多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值