• ipvsadm安装配置NAT


    LVS的三种包转发方式:
          LVS提供了三种包转发方式:NAT(网络地址映射)、IP Tunneling(IP隧道)、Direct Routing(直接路由)
         不同的转发模式决定了不同的cluster的网络结构,下面对三种转发方式分别介始:
    1、NAT(网络地址映射):
         NAT方式可支持任何的操作系统,以及私有网络,并且只需一个Internet IP地址,但是整个系统的性能受到限制。因为执行NAT需要LD每次重写请求报文的目的地址,同时还需要重写响应报
    文的源地址。 有一定的延迟;另外,大部分应用有80
    %的数据是从服务器流向客户机,也就是用户的请求非常短,而服务器的回应非常大,对负载均衡器形成很大压力,成为了新的瓶颈。 2、IP Tunneling(IP隧道): LD通过IP隧道分配请求到不同的real server。real server处理请求后直接回应给用户,这样LB负载均衡器仅处理客户机与真实服务器的一半连接。 IP Tunneling技术极大地提高了director的调度处理能力,同时也极大地提高了系统能容纳的最大节点数,可以超过100个节点 real server可以在任何LAN或WAN上运行,这意味着允许跨地理上的分布,这在灾难恢复中有重要意义。服务器必须拥有正式的IP地址用于与客户机直接通信 并且所有服务器必须支持IP隧道协议。 3、Direct Routing(直接路由): 与IP Tunneling类似,LD会改写请求报文的MAC地址,LD仅处理一半的连接,避免了新的性能瓶颈,同样增加了系统的可伸缩性。Direct Routing与IP Tunneling相比 没有IP封装的开销,但由于采用物理层(修改MAC地址)技术,所有服务器都必须在一个物理网段。
    LVS的八种调度算法:
         * rr   轮叫(Round Robin)
          调度器通过"轮叫"调度算法将外部请求按顺序轮流分配到集群中的真实服务器上,它均等地对待每一台服务器,而不管服务器上实际的连接数和系统负载。
    
        * wrr   加权轮叫(Weighted Round Robin)
          调度器通过"加权轮叫"调度算法根据真实服务器的不同处理能力来调度访问请求。这样可以保证处理能力强的服务器处理更多的访问流量。调度器可以自动问询真实服务器的负载情况,并动态
    地调整其权值。
    * lc 最少链接(Least Connections) 调度器通过"最少连接"调度算法动态地将网络请求调度到已建立的链接数最少的服务器上。如果集群系统的真实服务器具有相近的系统性能,采用"最小连接"调度算法可以较好地均衡负载。 * wlc 加权最少链接(Weighted Least Connections) 在集群系统中的服务器性能差异较大的情况下,调度器采用"加权最少链接"调度算法优化负载均衡性能,具有较高权值的服务器将承受较大比例的活动连接负载。调度器可以自动问询真实服务
    器的负载情况,并动态地调整其权值。
    * lblc 基于局部性的最少链接(Locality-Based Least Connections) "基于局部性的最少链接" 调度算法是针对目标IP地址的负载均衡,目前主要用于Cache集群系统。该算法根据请求的目标IP地址找出该目标IP地址最近使用的服务器,若该服务器是可用的且
    没有超载,将请求发送到该服务器;若服务器不存在,或者该服务器超载且有服务器处于一半的工作负载,则用"最少链接"的原则选出一个可用的服务器,将请求发送到该服务器。 * lblcr 带复制的基于局部性最少链接(Locality-Based Least Connections with Replication) " 带复制的基于局部性最少链接"调度算法也是针对目标IP地址的负载均衡,目前主要用于Cache集群系统。它与LBLC算法的不同之处是它要维护从一个目标IP地址到一组服务器的映射,而
    LBLC算法维护从一个目标IP地址到一台服务器的映射。该算法根据请求的目标IP地址找出该目标IP地址对应的服务器组,按"最小连接"原则从服务器组中选出一台服务器,若服务器没有超载,将请
    求发送到该服务器,若服务器超载;则按"最小连接"原则从这个集群中选出一台服务器,将该服务器加入到服务器组中,将请求发送到该服务器。同时,当该服务器组有一段时间没有被修改,将最忙
    的服务器从服务器组中删除,以降低复制的程度。
    * dh 目标地址散列(Destination Hashing) "目标地址散列"调度算法根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。 * sh 源地址散列(Source Hashing) "源地址散列"调度算法根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。

    安装:

    1、yum 安装

    yum install -y ipvsadm

    2、包安装

    tar包和rpm包安装和一般安装方式相同。但是,需要注意安装的版本要求对应的内核和服务器内核一致。新版本后有针对不同应用的优化版本。

    3、安装完成后,确认

    ipvsadm --version
    yum list installed | grep ipvsadm

    配置:

    添加相应的防火墙端口,允许通行。在此关闭防火墙或者清空防火墙规则

    service network stop
    systemctl stop network
    iptables -F

    清除ipvsadm表:

    echo 1 >/proc/sys/net/ipv4/ip_forward

    NAT模式设置:

    #清除LVS-Server调度表中的所有记录
    ipvsadm -C
    #增加一个带有调度算法的转换表,-wrr 轮叫模式
    ipvsadm -At 8.8.8.8:80 -s rr
    #增加轮叫的服务器 -m nat模式
    ipvsadm -at 8.8.8.8:80 -r 192.168.10.2:80 -m -w 1
    ipvsadm -at 8.8.8.8:80 -r 192.168.10.3:80 -m -w 1

    后端服务器:  

    启动服务;确认服务端口监听在0.0.0.0或者VIP上,然后设置真实vip

    #设置ip转发
    echo 0 >/proc/sysy/net/ipv4/ip_forward
    
    设置VIP
    /sbin/ifconfig eth0 up
    /sbin/ifconfig eth0 8.8.8.8 broadcast 8.8.8.8 netmask 255.255.255.255 up
    
    #避免arp广播问题
    echo 1 > /proc/sysy/net/ipv4/conf/eth0/arp_ignore
    echo 2 > /proc/sysy/net/ipv4/conf/eth0/arp_announce
    echo 1 > /proc/sysy/net/ipv4/conf/all/arp_ignore
    echo 2 > /proc/sysy/net/ipv4/conf/all/arp_announce
    
    #设置路由
    /sbin/route add -host 8.8.8.8 dev eth0 

    关闭arp广播请求,防止多台机器响应自己是VIP

  • 相关阅读:
    10.27 模拟赛
    bzoj 1504 郁闷的出纳员
    Codeforces 633H. Fibonacci-ish II
    悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(部分背包)
    FATE(完全背包)
    Piggy-Bank(完全背包)
    Coloring Brackets (区间DP)
    Food Delivery (区间DP)
    You Are the One (区间DP)
    Brackets(区间DP)
  • 原文地址:https://www.cnblogs.com/lw-2019forlinuxpython/p/12557962.html
Copyright © 2020-2023  润新知