一、lvs干什么的 做负载均衡用的,通过工作于内核的ipvs模块来实现功能,工作在netfilter的input链上,同款的有nginx和haproxy 二、都有哪些内容 命令ipvsadm 常见的参数 三中转发模式 https://www.linuxba.com/archives/7686 NAT:过负载均衡器LB的时候,通过改写请求报文的目标IP为选定的RS服务器IP,到达RS服务器,rs处理完返回给LB,LB重新更改报文,发送给客户端。 优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,只有负载均衡器需要一个合法的IP地址。 缺点:扩展性有限。所有的请求包和应答包的流向都经过负载均衡器。当服务器节点过多时,大量的数据包都交汇在负载均衡器那,速度就会变慢!所以负载均衡器会成为瓶颈 DR:DR收到数据包后根据调度算法,找出对应的RS,把目的MAC地址改为RS的MAC(因为IP一致)并将请求分发给这台RS?这时RS收到这个数据包,处理完成之后,由于IP一致,可以直接将数据返给客户,则等于直接从客户端收到这个数据包无异,处理后直接返回给客户端 优点:负载均衡器也只是分发请求,应答包通过单独的路由方法返回给客户端,因此可以使用大多数操作系统做为物理服务器。 缺点:负载均衡器的网卡必须与物理网卡在一个物理段上 TUN:负载均衡器过了之后直接给请求报文再加上一层包,包括RS的IP地址,这样就能到RS了,rs处理完直接给客户端。 优点:负载均衡器只负责将请求包分发给后端节点服务器,而RS将应答包直接发给用户。所以,减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,就能处理很巨大的请求量,这种方式,一台负载均衡器能够为很多RS进行分发。而且跑在公网上就能进行不同地域的分发。 缺点:隧道模式的RS节点需要合法IP,这种方式需要所有的服务器支持"IP Tunneling"(IP Encapsulation)协议,服务器可能只局限在部分Linux系统上。 三、调度策略 https://www.jianshu.com/p/a3d33f903d87 静态的(不考虑rs目前的链接情况) rr 轮训 顺序分发 wrr 加权轮训 根据rs的处理能力进行加权 DH 目标散列 把目标地址进行了散列计算 从列表里边找 SH 原地址散列 动态的(实时考虑rs目前的负载情况) LC 最少链接,实时获取谁的链接最少 rs处理性能没有差异的时候选择这个 WLC 根据性能进行加权 如果rs性能差异大可以用这个 SED 最短延迟 NQ 最少队列调度,差不多也是目前这个上面排队请求最少的 LBLC 基于上次的请求记录,如果上次的比较忙 那么就用LC LBLCR 即rs组成一个组列表,请求来了先用lblc,如果没有用lc选择的放到组列表,列表如果长时间不更新,删除这个列表里最忙得。 四、简单实用 三台主机 192.168.182.144DRIP VIP 192.168.182.145 rs1 192.168.182.131 rs2 192.168.182.253
DR配置 rs配置
监测lvs 访问 https://www.jianshu.com/p/9cebfe459dea https://www.jianshu.com/p/44c183ec9012 大型网站的高可用方案案例 https://zhuanlan.zhihu.com/p/56716855