目录
1.描述以及工作原理
1.什么是LVS
2.LVS调度算法
1.静态调度算法
1.轮询RR
2.加权轮询WRR
3.目标地址hash---DH
4.源地址hash---SH
2.动态调度算法
1.LC最少连接
2.wlc加权最少连接
3.sed最少期望延迟
4.nq不排队调度算法
5.lblc基于本地最少连接
6.lnlcr带复制的基于本地最少连接
3.LVS的工作原理
2.组成及术语
1.组成
1.ipvs
2.ipvsadm
2.术语
3.三种工作模式
1.描述以及工作原理
1.什么是LVS
通过Linux达到负载均衡技术和Linux操作系统实现一个高性能可用的Linux服务集群,具有良好的可靠性,可延展性和可操作性,从而以低廉的成本实现最优的性能,LVS是一个实现负载均衡集群开源软件项目,LVS从逻辑上可分为调度层、server集群层和共享存储。
2.LVS调度算法
1.静态调度算法
1.轮询RR
均等地对待每一台服务器。
2.加权轮询WRR
根据真实服务器的不同处理能力来调度访问请求。
3.目标地址hash---DH
针对目标IP地址的负载均衡。
4.源地址hash---SH
2.动态调度算法
1.LC最少连接
2.wlc加权最少连接
3.sed最少期望延迟
4.nq不排队调度算法
5.lblc基于本地最少连接
6.lnlcr带复制的基于本地最少连接
3.LVS的工作原理
1. 当用户向负载均衡调度器(director server)发起请求,调度器将请求发往内核空间。
2. prerouting链首先会接受到用户请求,判断目标ip确定是本机ip,将数据包发往input链。
3. IPVS是工作在input链上的,当用户请求到达input时,ipvs会将用户请求和自己定义好的集群服务器进行比对,如果用户请求就是定义的集群服务,那么此时ipvs会强行修改数据包里的目标ip地址以及端口,并将新的数据包发往POSTROUTING链。
4. POSTROUTING链接收到数据包后,发现目标ip地址刚好是自己的后端服务器,那么通过选路,将数据包最终发送给后端服务器。
2.组成及术语
1.组成
1.ipvs
ip virtual server,一段代码工作在内核空间,ipvs,是真正生效实现调度的代码(累死nginx中的proxy_pass)
2.ipvsadm
另一段是工作在用户空间,ipvsadm,负责为ipvs内核框架编写规则,定义谁是集群服务,谁是后端真正的服务器(real server)类似nginx中的upstrean
2.术语
1. DS DIrector Server 前端负责均衡节点(负载均衡服务器)
2. RS real server 后端真实工作服务器(web服务器)
3. vip向外部直接面向用户请求,作为用户请求的目标ip地址(负载均衡的ip地址,提供给用户)
4. DIP Director Server Ip 和内部主机通讯的ip地址(负责与Real Server交互的内部Ip)
5. RIP Real Server Ip 后端服务器ip地址
6. CIP client IP 访问客户端ip地址
3.三种工作模式
1. *LVS-NAT模式
2. *LVS-DR模式
3. Lvs-Tun模式(隧道模式)