lvs高可用

一、lvs干什么的
  做负载均衡用的,通过工作于内核的ipvs模块来实现功能,工作在netfilter的input链上,同款的有nginx和haproxy
二、都有哪些内容
  命令ipvsadm 常见的参数
lvs高可用
  
三中转发模式 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配置
lvs高可用
rs配置
lvs高可用

监测lvs
lvs高可用
访问
lvs高可用
lvs高可用
lvs高可用
https://www.jianshu.com/p/9cebfe459dea
https://www.jianshu.com/p/44c183ec9012 大型网站的高可用方案案例
https://zhuanlan.zhihu.com/p/56716855