Linux LVS 负载均衡

1、LVS 简单介绍

LVS (Linux Virtual Server, 即Linux 虚拟服务器) 是一个由章文嵩发起的开源软件项目。它主要用于多服务器的负载均衡, 工作在网络层, 可以实现高可用、高性能的服务器集群技术。

2、LVS 体系结构

通常将 LVS 分为三部分,分别是负载调度器 (Load Balancer),服务器池 (Server Array / Real Server),共享存储 (Shared Storage),如下图所示:

Linux LVS 负载均衡

1). Load Balancer层 : 这是 LVS 负载均衡的核心部分,由一台或多台负载调度器 (Director Server) 组成, 位于整个集群的最前端 (相当于 MVC 模型中的 Controller 层),负责将客户的请求按照一定的算法分发到下层服务器进行处理,其本身不做任何的业务处理。另外,还可以监听下层服务器的状态,当其中某台服务器出现故障时,自动将其踢出,恢复可用后,又将其加入。

2). Server Array 层 : 由一组实际运行应用服务的服务器组成,Real Server 可以是 Web 服务器、Mail 服务器、FTP 服务器、文件服务器、视频服务器中的一个或多个。在实际应用中,我们也可以将上层的 Director Server 作为 Real Server 使用。

3). Shared Storage 层 : 是为所有 Real Server 提供共享存储空间和数据一致性的存储区域。主要是为上一层提供数据,并保持数据一致性。

3、LVS 的三大负载均衡机制

由于LVS工作在网络层, 所以相对于其它负载均衡的解决办法,比如DNS域名轮流解析、应用层负载的调度、客户端的调度等,它的效率是非常高的。

LVS的通过控制IP来实现负载均衡,IPVS是其具体的实现模块,安装在Director Server上面,在Director Server虚拟一个对外访问的IP(VIP)。用户访问VIP,到达Director Server,Director Server根据一定的规则选择一个Real Server,处理完成后然后返回给客户端数据。

这些步骤产生了一些具体的问题,比如如何选择具体的Real Server,Real Server如何返回给客户端数据等等。由此而衍生出了 IPVS 的三种机制:

关于IPVS的三种机制,将分别用三篇文章介绍,链接地址如下:

3.1 VS/NAT 技术

3.2 VS/TUN 技术

3.3 VS/DR 技术

4、LVS 负载均衡的高可用

所用技术:keepalived + lvs(主、备)

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!