Linux企业级负载均衡集群LVS

1.什么是LVS

lvs是linux virtual server的简称,也就是Linux虚拟服务器。这是一个开源项目,它的官方网站是http://www.linuxvirtualserver.org 现在lvs已经是linux内核标准的一部分。

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

2.LVS的特点

通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能、高可用的服务器群集,它具有良好可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的服务性能。

LVS的主要特点有以下几个方面:

  • 高并发连接:LVS基于内核网络层面工作,有超强的承载能力和并发处理能力。单台LVS负载均衡器,可支持上万并发连接。 稳定性强:是工作在网络4层之上仅作分发之用,这个特点也决定了它在负载均衡软件里的性能最强,稳定性最好,对内存和cpu资源消耗极低。

  • 成本低廉:硬件负载均衡器少则十几万,多则几十万上百万,LVS只需一台服务器和就能免费部署使用,性价比极高。

  • 配置简单:LVS配置非常简单,仅需几行命令即可完成配置,也可写成脚本进行管理。

  • 支持多种算法:支持多种论调算法,可根据业务场景灵活调配进行使用

  • 支持多种工作模型:可根据业务场景,使用不同的工作模式来解决生产环境请求处理问题。

  • 应用范围广:因为LVS工作在4层,所以它几乎可以对所有应用做负载均衡,包括http、数据库、DNS、ftp服务等等

  • 缺点:工作在4层,不支持7层规则修改,机制过于庞大,不适合小规模应用。

3.LVS常见术语

LVS中有一些常见的术语,如下表所示:

名称 解释
ipvsad 用户空间的命令行工具,用于管理集群服务及集群服务上的RS等;
IPVS 工作于内核上的netfilter INPUT HOOK之上的程序,可根据用户定义的集群实现请求转发;
VS Virtual Server ,虚拟服务
Director, Balancer 负载均衡器、分发器
DS Director Server:指前端负载均衡器节点
RS Real Server 后端请求处理服务器
CIP Client IP,客户端IP
VIP Director Virtual IP,负载均衡器虚拟IP
DIP Director IP,负载均衡器IP
RIP Real Server IP,后端请求处理服务器IP

4.LVS的组成

LVS由2部分程序组成,包括ipvs和ipvsadm

  • ipvs(ip virtual server):一段代码工作在内核空间,叫ipvs,是真正生效实现调度的代码
  • ipvsadm:另外一段代码工作在用户空间,叫ipvsadm,负责为ipvs内核框架编写规则,定义谁是集群服务,而谁是后端真实的服务器(Real Server)

5.LVS的工作原理

在这里插入图片描述
具体流程:

  • 1.当客户端的请求到达负载均衡器的内核空间时,首先会到达PREROUTING链。
  • 2.当内核发现请求数据包的目的地址是本机时,将数据包送往INPUT链。
  • 3.LVS由用户空间的ipvsadm和内核空间的IPVS组成,ipvsadm用来定义规则,IPVS利用ipvsadm定义的规则工作,IPVS工作在INPUT链上,当数据包到达INPUT链时,首先会被IPVS检查,如果数据包里面的目的地址及端口没有在规则里面,那么这条数据包将经过INPUT链送至用户空间,交给用户空间的进程来处理。
  • 4.如果数据包里面的目的地址及端口在规则里面,那么这条数据报文将被修改目的地址为事先定义好的后端服务器,并送往POSTROUTING链。
  • 5.最后经由POSTROUTING链发往后端服务器。
发布了107 篇原创文章 · 获赞 0 · 访问量 1443

猜你喜欢

转载自blog.csdn.net/weixin_45029822/article/details/104452318