• 集群技术


    集群技术概述

    LB LoadBalancer 负载均衡集群

      硬件:F5 BIG-IP

      软件:LVS(4层-传输层tcp/udp等端口协议进行负载调度),Nginx,Haproxy(4/7层-应用层,如识别http协议中的url等进行调度)

      LB集群主要解决高并发能力问题

    HA HighAvailability 高可用集群

      在线时间(在线时间+故障恢复时间)

      Keepalived,RHCS,hearbeat,Pacemaker,rose(windows),PowerHA(AIX)

      HA集群主要解决提高服务在线时间

    HPC High-Performance Computing 高性能计算

      MapReduce

      追踪任务完成状态

      Hadoop

      HPC集群主要解决大任务计算的问题

    LVS三种工作模式

      VS/NAT:网络地址转换模式,进站出站的数据流量均经过调度器

          any:Linux/Windows 是否支持Non-arp device均可

          private:私有网络

          low:10~20real server

          gateway:所有real server网关必须指向调度器

      VS/TUN:隧道模式,只有进站的数据流量经过分发器

      VS/DR:直接路由模式,只有进站的数据流量经过分发器,调度器和真实服务器必须在同一网段

              VS/NAT       VS/TUN         VS/DR

    server          any        Tunneling        Non-arp device

    server network    private       LAN/WAN        LAN

    server number    low(10~20)    Hign(100)        High(100)

    server gateway      load balance    own router        own router

    VS/NAT实例拓扑

      调度器通过修改网络层(三层)的目标IP地址达到调度分发的目的

      

      Client:        CIP:192.168.122.0/24

      Director(调度器):    eth0: VIP: 192.168.122.100

    -----------------------------------------------------------------------------

                 eth1: DIP: 10.10.10.1

      Real Server:  RIP: 10.10.10.10/20/30

      DNS Server:  www.suminem.com ===> 192.168.122.100

    #VS/NAT实施

      1、准备工作

      IP、hostname、hosts、iptables/firewalld、SELinux、ssh trust、ntp

      2、real server配置

      配置好网站服务器,测试所有RS

      默认网关均指向Directory的DIP

      3、Director分发器配置

      配置VIP

      ip r //查看路由表

      ip addr add dev eth0 192.168.122.10/24  //临时IP

      vim /etc/sysctl.conf

        net.ipv4.ip_forward = 1

      sysctl -p     //确保打开路由转发

      定义LVS的分发出策略

      yum -y install ipvsadm    //RHEL确保LoadBalancer仓库可用

      //以下均可用keepalived管理

      ipvsadm -A -t 192.168.122.100:80 -s rr          // -A 增加一个virtual service虚拟服务   

      ipvsadm -a -t 192.168.122.100:80 -r 10.10.10.10 -m    //-a 增加一个real server ;-m masquerading(NAT)

      ipvsadm -a -t 192.168.122.100:80 -r 10.10.10.20 -m

      ipvsadm -a -t 192.168.122.100:80 -r 10.10.10.30 -m

      ipvsadm -Ln     //查看ipvs的路由表,调度信息

      service ipvsadm save

      ipvsadm -L -n --stats

      ipvsadm -L -n --rate  //看速率

      ipvsadm -Ln -c    //查看LVS的连接条目

      watch -n.5 'ipvsadm -Ln -c'  //动态查看

      4、测试

      elinks -dump http://192.168.122.100

      ab -c 1000 -n 1000 http://192.168.122.100/       //apache自带压力测试工具

      5、小结

        VS/NAT模式的原理是:当Director收到Client请求时,Direct将数据包的目标IP有VIP转换为选中的RIP实现分发,要求RS将网关指向Director的DIP。

        特点:配置简单。进出站数据包都经过分发器,数据量大时可能会出现网络瓶颈,支持的RS数量少

        注意:Director必须开启kernel ip_forward

           所有RS默认网关需要指向DIP

           Director使用DIP和RIP通信

      6、常见问题排查

       偶发页面访问异常

       ipvsadm -Lnc    //查看LVS的连接条目

       state出现 SYN_RECV 时,检查对应的RS,如调度器上可正常访问,则看网关指向

      

    #VS/DR原理

       为了让Client接受RS直接返回的结果,RS上需要有VIP;Client请求过来时,为了避免VIP地址冲突,需要让RS开启no-arp,即广播时询问谁是VIP时,只有调度器应答;

       实现方法为在环回接口lo上设置VIP(环回接口优先,也可以设置在未插网线的网卡),为了不造成IP地址冲突,掩码设置成32,不会产生路由,掩码32代表网络位为32,没有主机,因此不产生路由;

       通过修改链路层的mac地址实现调度分发的目的,分发时修改mac地址为RS的mac地址,回包时通过查看自己的路由表,直接修改目标mac地址为网关的MAC地址,不经过调度器。

    #VS/DR实施

       DR模式要求Director的DIP和所有RS的RIP必须在同一个网段及广播域

       所有节点的网关均指向真实的网关。

       Director的VIP接收请求,RS的VIP设置在lo接口上,开启no-arp,不接收请求及广播询问

      1、准备工作

      IP、hostname、hosts、iptables/firewalld、SELinux、ssh trust、ntp

      2、RS配置

      yum -y install httpd

      ip addr add dev lo 192.168.122.100/32    //在lo接口上绑定VIP

      echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore  //non-arp

      echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

      3、Director调度器配置

      配置VIP

      ip addr add dev eth0 192.168.122.100/32  //配置VIP

      yum -y install ipvsadm

      定义LVS分发策略

      ipvsadmin -C

      ipvsadm -A -t 192.168.122.100:80 -s rr          // -A 增加一个virtual service虚拟服务   

      ipvsadm -a -t 192.168.122.100:80 -r 192.168.122.10 -g    //

      ipvsadm -a -t 192.168.122.100:80 -r 192.168.122.20 -g

      ipvsadm -a -t 192.168.122.100:80 -r 192.168.122.30 -g

      ipvsadm -Ln     //查看ipvs的路由表,调度信息

      service ipvsadm save

  • 相关阅读:
    Python注释及变量
    MySQL期末测试
    SQL查询第三次训练(重点关照对象)
    MySQL内置函数
    聚类-kmeans
    《达.芬奇密码》丹-布朗
    皮克定理与证明
    常见设计模式的种类与一些原则
    时间序列(二)分解、各部分计算方法
    ADF检验
  • 原文地址:https://www.cnblogs.com/suminem/p/10683918.html
Copyright © 2020-2023  润新知