一、LVS
(一)什么是LVS
linux virtural server的简称,也就是linxu虚拟机服务器,这是一个由章文岩博士发起的开源项目,官网是http://www.linuxvirtualserver.org,现在lvs已经是linux内核标准的-部分,使用lvS可以达到的技术目标是:通过linux达到负载均衡技术和linux操作系统实现一个高性能高可用的linux服务器集群,他具有良好的可性,可延展性和可操作性,从而以低廉的成本实现最优的性能,Lvs是一个实现负载均衡集群开源软件项目,lvs从逻辑上可以分为调度层server集群层,和共享存储
免费,开源,四层负载均衡
(二)LVS调度算法
1、静态调度算法(Fixed Scheduling Method)
(1)轮询
RR 轮询**
调度器通过"轮叫"调度算法将外部请求按顺序轮流分配到集群中的真实服务器上,它均等地对待每一台服务器,而不管服务器上实际的连接数和系统负载。
(2)加权轮询
WRR 加权轮询**
调度器通过"加权轮叫"调度算法根据真实服务器的不同处理能力来调度访问请求。 这样可以保证处理能力强的服务器处理更多的访问流量。调度器 可以自动问询真实服务器的负载情况,并动态地调整其权值
(3)目标地址hash
DH 目标地址hash**
算法也是针对目标IP地址的负载均衡,但它是一种静态映射算法,通过一个散列(Hash)函数将一个日标IP地址映射到一台服务器。目标地址散列调度算法先根据请求的目标IP地址,作为散列键(HashKey)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。
(4)源地址hash
SH 源地址hash**
算法正好与目标地址散列调度算法相反,它根据请求的源IP地址,作为散列键(HashKey)从静态分配的散列表找出对应的服务器,若该服务器是 可用的且未超载,将请求发送到该服务器,否则返回空。
它采用的散列函数与目标地址散列调度算法的相同。除了将请求的目标IP地址换成请求的源IP地址外,它的算法流程与目标地址散列调度算法的基本相似。在实际应用中,源地址散列调度和目标地址散列调度可以结合使用在防火墙集群中,它们可以保证整个系统的唯一出入口。
2、动态调度算法(Dynamic Scheduling Method)
(1)Lc最少链接
(2)wlc加权最少链接
(3)sed最少期望延迟
(4)nq从不排队调度算法
(5)lblc基于本地的最少链接
(6)lblb基于复制的最少链接
(三)LVS的工作原理
(1)当用户向负载均衡调度器(director server)发起请求,调度器将请求发往内核空间
(2)prerouting链首先会接受到用户请求,判断目标ip确定是本机ip,将数据包发往input链
&#x