muri 发表于 2019-1-5 07:35:06

集群之lvs 基础知识

  注意:本文主要是对于LB中的lvs 做讲解(centos6.5-x86_64系统)
  一、集群基本概念:

   集群是把一组相互独立的、通过高速网络互联的计算机,把它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。
  

      1.1.常见的服务器扩展方式:
        Scale Up: 向上扩展 添加配置
  Scale Out: 向外扩展 添加服务器
  

      1.2.集群分类
  负载均衡集群:Load Balancing Cluster,LB

  高可用集群:High Availiablity, HA
  高性能集群:High Perfomance: HP
      高性能集群一般常见于(并行处理系统:Hadoop)
  

      1.3. LB:负载均衡
  软件:
  tcp(内核空间): linux上的lvs
     应用层(用户空间):nginx, haproxy, apache, lighttpd, varnish, squid ...
  硬件:BigIP(F5), Netscaler(Citrix), A10 ...
  

  二、LVS(linux virtual server) linux虚拟服务器软件
      2.1.CIPVIPDIPRIP
        CIP 客户端IP
        VIP 外网访问内部LB地址
        DIP 集群设备地址
        RIP 内网服务器的IP地址
  

      2.2.lvs类型
        NAT、DR、TUN、FUllNAT
  2.2.1.NAT
  NAT: 实际场景中很少有企业使用NAT
  1、RealServer应该使用私有IP地址;
  2、RealServer的网关应该指向DIP;
  3、RIP和DIP应该在同一个网段内;
  4、进出的报文都得经过Directory,在高负载下,Directory会成为系统性能瓶颈;
  5、支持端口映射;
  6、RealServer可以使用任意OS;
  

  2.2.2.DR
  DR: Direct Routing
  1、RealServer可以使用私有地址;
  2、RealServer的网关一定不能指向DIP;
  3、RealServer和Director要在同一物理网络内;DIP和RIP应该在同一网段;
  4、入站报文经过Directory,出站则由RealServer直接响应Client;
  5、不能做端口映射;
  6、RealServer可以为大多数常见OS;
  

  2.2.3.TUN
  TUN:Tunneling
  1、RIP、DIP不能是私有地址;
  2、RealServer的网关不能指向DIP;
  3、入站报文经过Directory,出站则由RealServer直接响应Client;
  4、不支持端口映射;
  5、支持IP tunneling的OS才能用于RealServer;
  

  2.2.4.FULLNAT

  FULLNAT:在NAT基础上做了目标地址与原地址转换.

  

  模型图如下:
http://s2.运维网.com/wyfs02/M02/79/96/wKioL1aVu-Th-h8iAAJ--NlVGk4682.jpg
  

  2.3.LVS调度方法
  静态(fixed method):
     rr, wrr, sh, dh
      rr:伦叫
      wrr:加权轮叫
      sh: Source Hashing 原地址哈希
      dh: Destination Hashing 目标地址哈希 用于缓存
  动态(Dynamic method):
     lc, wlc, sed, nq, lblc, lblcr
      lc: Least Connection 最小连接
  算法:Overhead=Active*256+Inactive
      wlc: Weighted Least Connection 加权最小连接
  算法:Overhead=(Active*256+Inactive)/Weight
      sed: Shortest Expect Delay 最少期望延迟
  算法:Overhead=(Active+1)*256/Weight
      nq: Never Queue 永不排队
      lblc: (dh+lc) Locality-based Least Connection 基于本地的最少连接
      lblcr: Replicated andLocality-based Least Connection 基于本地的带复制的最少连接
  

  ......   

  

  

     
  
  

  




页: [1]
查看完整版本: 集群之lvs 基础知识