IPVS load balancing

IPVS

简介

IPVS是LVS项目重要组成部分,目前包含于官方Linux Kernel。IPVS依赖于netfilter框架,位于内核源码的net/netfilter/ipvs/目录。

值得一提的是LVS项目是由国人发起的较有影响的开源项目之一,其发起人为章文嵩博士(毕业于国防科大)。

LVS的logo如下图,这个logo很形象地说明了LVS项目的目标。

IPVS load balancing

IPVS通常与keepalived配合使用,后者也是LVS项目的子项目之一,用于检测服务器的状态。

IPVS的三种工作模式为LVS/NAT、LVS/TUN、LVS/DR,简介如下。

IPVS的LVS/NAT工作模式

就是传统的NAT,进出流量都经过调度器,调度器会选择一个目的服务器,将进入流量的目标ip改写为该服务器;外出流量的源地址也会修改成调度器的ip。最简单,但限制也最大。调度器要维护映射关系,而且进出流量都经过调度器,容易成为瓶颈。

IPVS的LVS/TUN工作模式

即IP Tunneling模式。这种模式中,调度器将进入的包重新包成一个IP包,然后发送给选定的目的服务器,目的服务器处理后,直接将应答发送给客户(当然源ip地址还是要填成调度器的)。注意到网络应用中,请求和应答的不对称性(应答通常比请求大很多),这可以降低调度器处的负载。

IPVS的LVS/DR工作模式

即Direct Routing模式。这种模式中,调度器直接重写进入包的mac地址为选定的目标服务器的mac地址,然后发送。要求调度器与服务器集群位于同一以太网广播域内。

更详细的,参见http://kb.linuxvirtualserver.org/wiki/IPVS

IPVS的调度策略

参见http://www.linuxvirtualserver.org/docs/scheduling.html

你可能感兴趣的:(load)