之前的文章我们对LVS负载均衡集群系统做了简要的概述,那么接下来我们来看看LVS负载均衡集群系统中的director使用的三种不同转换方式。这里我们知识简要介绍一下,之后我们会对每一种方式进行详解。
LVS负载均衡集群的基本原理及功能
上图一个LVS负载均衡集群的基础设置。事实上,director的主要作用类似于一个路由器,但它含有为完成LVS功能所设定的路由表。这些路由表允许director把属于LVS设定服务的包转发到real-servers。如果http(端口80)是LVS负载均衡集群设定服务,那么这些包都会被director转发,而director并不监听VIP:80。
传统的“客户端/服务器”的关系在LVS中仍旧适用,原因在于:所有服务器的IP地址都映射为一个IP(即VIP),客户端只能看见此IP地址。所有服务器都认为它与客户端是直接联系的。
director使用三种不同的转发方法
1、VS-NAT:基于网络地址转换(network address translation ,NAT)
2、VS-DR:直接路由(direct routing,DR),包上的MAC地址被更改,然后被转发到real-server
3、VS-Tun:隧道(tunnelling) ,包被IPIP封装,然后被转发到real-server。
VS-NAT方式实现较为容易,只需要一个功能tcpip栈,缺点在于吞吐量不够大,而且支持的real-server数有限。而VS-DR方式则吞吐量较大,并支持大量的real-server。VS-TUN方式的特点和VS-DR相似,不过主要用于real-server分布在因特网之上的情况,real-servers对于director可以是远程的,real-servers之间可以处于不同网段。不过,VS-DR和VS-TUN转发方式需要对real-server的ifconfig和路由表进行修改。
LVS可以提供几乎所有的服务(单端口和2端口服务),除了VS-DR和VS-Tun不可以提供从real-servers进行初始化连接的服务(有identd,rsh)。
Real-servers可以是相同的,提供相同的服务(如http ,ftp),文件系统保持内容上的一致,这种类型的LVS负载均衡集群用来提高可服务客户端数量。Real-server也可以不同,有各自不同的服务或操作系统。