lvs介绍

来源:互联网 发布:mysql怎么打开 编辑:程序博客网 时间:2024/05/22 16:41

lvs是负载均衡较常用的软件之一,下面简单介绍一下lvs。lvs提供了一个命名的约定

vip:虚拟ip地址,缩写是vip,vip是负载均衡器对外提供服务的ip。

rip:真实ip地址,缩写是rip,rip是集群下面节点上使用的ip地址。

dip:负载均衡器的真实ip,用于连接内外网络的ip。

cip:客户端的ip地址,访问来源ip。

lvs的工作模式有如下几种,直接路由(dr)模式、nat模式、tunnel模式、full nat模式。下面依次介绍一下:

dr模式,工作原理是将dmac替换为rmac,向后端转发,经realserver处理之后直接返回给client。工作模式如图所示:


那么为什么替换mac之后,后端的real server就会接受ip包呢,ip包的目的地址是vip并不是rip啊?所以我们就需要给realserver的lo上绑定vip,让realserver拥有vip地址。

那么每台realserver上都绑定了vip,当ip到局域网广播的时候,怎么确定是负载均衡器接收到ip包呢?所以这里我们就需要对realserver做arp响应抑制。


dr模式的优点就是数据包从负载均衡器流入后,经realserver处理,直接返回给机房网关,可以减少负载均衡器的压力。下图是dr模式的总结:



nat模式:

nat模式的工作原理就是把数据包的目的地址由vip替换成rip,之后向后转发,经realserver处理后,再返回给负载均衡器,由负载均衡器将结果返回client。工作原理如图:


那么这里是如何做到数据包经realserver处理后再返回给负载均衡器的呢?这里需要把realserver的网关地址设置成lan内负载均衡器的物理ip地址。nat模式需要注意的地方如下:


由于nat模式下ip包的流入和流出都需经过负载均衡器,所以对负载均衡器压力较大。

其他模式的负载均衡不太常用,这里不做详细说明。tunnel模式主要是把ip前端包装一个头,适合用于跨机房的情况。fullnat则是淘宝使用的负载均衡模式。

对于lvs呢,常有一个keepalive配合lvs来使用,keepalive可以保证机器的高可用,主要使用vrrp协议实现这一功能。


1 0