LVS原理详解及部署
一、LVS简介
负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群。常用的负载均衡开源软件有nginx、lvs、haproxy,商业的硬件负载均衡设备F5、Netscale。这里主要是学习 LVS 并对其进行了详细的总结记录。
二、LVS基本原理
- 当用户向负载均衡调度器(Director Server)发起请求,调度器将请求发往至内核空间。
- PREROUTING链首先会接收到用户请求,判断目标IP确定是本机IP,将数据包发往INPUT链。
- IPVS是工作在INPUT链上的,当用户请求到达INPUT时,IPVS会将用户请求和自己已定义好的集群服务进行比对,如果用户请求的就是定义的集群服务,那么此时IPVS会强行修改数据包里的目标IP地址及端口,并将新的数据包发往POSTROUTING链。
- POSTROUTING链接收数据包后发现目标IP地址刚好是自己的后端服务器,那么此时通过选路,将数据包最终发送给后端的服务器。
三、LVS组成
LVS 由2部分程序组成,包括 ipvs 和 ipvsadm
IPVS(ip virtual server)
:一段代码工作在内核空间,叫IPVS,是真正生效实现调度的代码。IPVS的总体结构主要由IP包处理、负载均衡算法、系统配置与管理三个模块及虚拟服务器与真实服务器链表组成。ipvsadm
:另外一段是工作在用户空间,叫ipvsadm,即IPVS管理器,负责为ipvs内核框架编写规则,定义谁是集群服务,而谁是后端真实的服务器(Real Server)。
四、LVS技术术语
术语简写 | 术语含义 |
---|---|
Director Server | 负载均衡调度器 |
CIP | Client IP,访问客户端的IP地址(客户端的IP地址) |
DIP | Director Server IP,负载均衡器对应的实际IP地址 (主要用于和内部主机通讯的IP地址 ) |
VIP | Virtual IP,向外部直接面向用户请求,作为用户请求的目标的IP地址 (需在均衡器提供服务的地址) |
RIP | Real Server IP,后端服务器的IP地址 (提供服务的节点地址) |
LB | 负载均衡服务器 |
RS | Real Server ,节点服务器 (后端真实的工作服务器) |