主题
Lvs
LVS(Linux Virtual Server)集群,即Linux虚拟服务器集群,是一个在Unix/Linux平台下实现负载均衡集群功能的系统。它由国人章文嵩博士在1998年开发,是中国国内最早出现的自由软件项目之一,现在LVS已经是Linux内核标准的一部分。LVS集群通过将多台服务器组织起来,共同对外提供服务,以提高系统的整体性能、可扩展性和高可用性。
集群的组成
调度器
也称为代理服务器或前端服务器,负责接收客户端的请求,并根据预设的负载均衡算法将请求转发给后端服务器。调度器是集群对外提供服务的唯一入口。
后端服务器
负责处理调度器转发过来的请求,并将处理结果返回给客户端。后端服务器可以是一台或多台,根据集群的规模和需求进行配置。
共享存储(可选)
为后端服务器提供稳定、一致的文件存取服务,确保整个集群的统一性。共享存储可以使用NAS设备或提供NFS共享服务的专用服务器。
集群的工作模式
NAT模式
(Network Address Translation)
- 修改请求报文的目标IP地址和端口,将请求转发给后端服务器。
- 后端服务器的响应报文通过调度器返回给客户端,因此调度器容易成为瓶颈。
- 支持端口映射,可以修改请求报文的目标端口。
DR模式(推荐)
(Direct Routing)
- 通过重新封装MAC地址来转发请求报文,不修改IP地址和端口。
- 响应报文由后端服务器直接返回给客户端,不经过调度器,减轻了调度器的压力。
- 需要确保前端路由器将目标IP为VIP的请求报文发往调度器。
TUN模式:
(Tunneling)
- 在请求报文之外再封装一个新的IP报文首部,将报文通过隧道转发给后端服务器。
- 支持跨网络部署集群节点,但响应报文仍然由后端服务器直接返回给客户端。
- 需要后端服务器支持隧道功能。
- 集群常见的三种类型