码迷,mamicode.com
首页 > 其他好文 > 详细

集群之lvs 基础知识

时间:2016-01-13 13:13:09      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:计算机   服务器   基础知识   linux   应用层   

注意:本文主要是对于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.CIP<-->VIP<-->DIP<-->RIP 

        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基础上做了目标地址原地址转换.


模型图如下:

技术分享


    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 and  Locality-based Least Connection 基于本地的带复制的最少连接


    ......   

        


 

   

        

    



本文出自 “mouse running” 博客,请务必保留此出处http://mlybfq.blog.51cto.com/4904679/1734472

集群之lvs 基础知识

标签:计算机   服务器   基础知识   linux   应用层   

原文地址:http://mlybfq.blog.51cto.com/4904679/1734472

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!