LVS集群
一、负载均衡实现分类:
(一)硬件:成本会很高
- F5,BIG IP
- Citrix,Netscaler
- A10
(二)软件:成本较低,实现快。
四层(路由设备分发到不同设备):
LVS
七层:
nginx(有限的七层协议)
实现:http,smtp,pop3,imap
haproxy
实现:http,tcp(mysql,smtp)
四层负载均衡和七层负载均衡的不同:
1、四层只辅助解析三层和四层协议,具体的内容它不会做处理。因不解析更高层协议性能会更好,但是高级特性没有(根据用户的特性来做负载均衡如:web服务器中请求的url)
2、七层反向代理负载均衡设备,为某些特定的协议来提供的,因此它可以去精确的解剖它对应的协议,而且能在这个协议的基础上修改之后,向后做负载均衡的,所有在前端就可以实现处理。操作能力更强,但是性能略逊于四层。
3、提供解决方案时,根据自己项目的要求和需求来制订方案。
二、LVS虚拟服务器
1、概念:LVS是一台负载均衡设备。自己不提供服务,通过接受用户请求,然后转发给后端服务器。
2、LVS工作原理:
解析:
2.1、LVS的转发
LVS集群设备的转发是通过用户访问自己的IP+端口来确认的,后方的服务器是需要监听来访问的端口的。
比如:web服务是80和433,那么后方的服务器(A,B,C)都会监听这个两个端口的。
(一)调度算法: 挑选一个后端服务器接收一个用户的新请求的计算机制。
计算机制:根据用户请求时的IP+端口,来判定是否转发及转发到什么地方。
2.1、LVS中3种类型(IP网络的转换):
整体过程:
(一)LVS-NAT(地址转换,企业一般不会使用)
基本法则:
1、(RIP)集群节点跟必须要跟DIP在同一IP网路中;
2、RIP通常是私有地址,仅用于各集群节点间的通信;
3、DIP位于CIP和RIP之间,并负责处理进出的所有通信;
4、RIP必须把网关指向DIP;
5、支持端口映射,并且VIP提供服务端口可以和RIP端口不同;
6、RIP可以是任意OS;
7、较大规模应用程序中,DIP易成为系统瓶颈。
(二)LVS-DR(直接路由)
基本法则:
1、集群节点跟DIP必须在同一个物理网络中(一个或几个交换机);
2、RIP地址可以是私有地址或是公网地址;
公网IP好处:如果VIP/DIP挂掉,CIP可以直接访问VIP/RIP。
3、DIP仅负责处理入站请求,响应报文则由RIP直接发往客户端;
4、集群节点RIP不能将网关指向DIP;
5、不支持端口映射;
6、RIP可以是大多数系统(必须对VIP进行隐藏);
7、LVS-DR比LVS-NAT支持更多的RIP;
(三)LVS-TUN(隧道)
基本法则:
1、集群节点可以跨越互联网;
2、RIP必须是公网地址;
3、DIP仅负责处理入站请求,响应报文则RIP直接发往客户端;
4、RIP网管不能指向DIP;
5、只有支持隧道功能的OS才能用于RIP;
6、不支持端口映射;
三、LVS注意:
1、iptables不能和LVS同用。
因iptables分段实现:
iptables写规则/netfilter检查规则来实现,LVS违反了iptales规则。
2、LVS分段:
ipvsadm:管理集群服务的命令行工具
ipvs:内核(实现监控),在linux2.6后内核中已经有ipvs这个机制。