• lvs+keepalived集群架构服务


    环境

    效果

    LVS负载均衡高可用防止单点故障

    keepalived负责管理lvs,检查lvs节点,实验高可用

    步骤 

    安装

    LVS+keepalived master和backup端

    安装ipvsadm

    分支一如果内核不支持ipvsadm
    wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz    # <===适合5.x系统
    wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz    # <===适合6.x系统
    tar xf ipvsadm-1.26.tar.gz -C /usr/src/
    yum -y install kernel-devel gcc gcc-c++          #安装管理ipvsadm内核的包
    ls -ld /usr/src/kernels/2.6.32-431.el6.x86_64/      #出现此目录表示成功
    drwxr-xr-x 22 root root 4096 8月  16 17:34 /usr/src/kernels/2.6.32-431.el6.x86_64/
    ln -s /usr/src/kernels/2.6.32-431.el6.x86_64/ /usr/src/linux         #做一个软连接
    yum -y install libnl* popt*       #需要通过公网源安装
    cd /usr/src/ipvsadm-1.26/
    make;make install               #直接编译不需要./configure
    lsmod | grep ip_vs            #执行完/sbin/ipvsadm就会有信息
    ip_vs                 125220  0 
    libcrc32c               1246  1 ip_vs
    ipv6                  317340  270 ip_vs,ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6
    #==>出现这个内容就表示LVS已经安装好,并加载到了内核
    
    分支二
    modprobe ip_vs        #加载ip_vs模块
    
    cat /proc/net/ip_vs
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
      -> RemoteAddress:Port Forward Weight ActiveConn InActConn
    
    yum -y install ipvsadm    #安装ipvsadm工具

    安装keepalived

    yum -y install keepalived                #光盘安装即可

    两台Web服务器安装Web服务

    yum -y install httpd
    /etc/init.d/httpd start

    配置

     LVS负载均衡器主的keepalived配置文件 

    ! Configuration File for keepalived
    
    global_defs {
       notification_email {
         acassen@firewall.loc
         failover@firewall.loc
         sysadmin@firewall.loc
       }
       notification_email_from Alexandre.Cassen@firewall.loc
       smtp_server 192.168.200.1
       smtp_connect_timeout 30
       router_id LVS_1       #keepalived的唯一标识       
    }
    
    vrrp_instance VI_1 {
        state MASTER            #主master
        interface eth0 
        virtual_router_id 51
        priority 100
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            192.168.2.10             #虚拟vip
        }
    }
    
    virtual_server 192.168.2.10 80 {       #虚拟vip服务器设置
        delay_loop 6
        lb_algo rr               #rr调度算法 
        lb_kind DR               #DR工作模式
        nat_mask 255.255.255.0
        #persistence_timeout 1        #不注释掉会出现负载不均衡的状况  
        protocol TCP              
    
        real_server 192.168.2.134 80 {      #管理节点1设置
            weight 1
        TCP_CHECK {
            connect_timeout 8
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80 
        }
        }
        real_server 192.168.2.135 80 {        #管理节点2设置
            weight 1
        TCP_CHECK {
            connect_timeout 8
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80 
        }
        }
    }

    配置完后可以直接scp给备服务端修改3条配置就可以用了

    yum -y install openssh-clients      #主备都要装
    scp /etc/keepalived/keepalived.conf root@192.168.2.137:/etc/keepalived/    

    LVS负载均衡器备的keepalived配置文件

    vim /etc/keepalived/keepalived.conf
    ! Configuration File for keepalived
    
    global_defs {
       notification_email {
         acassen@firewall.loc
         failover@firewall.loc
         sysadmin@firewall.loc
       }
       notification_email_from Alexandre.Cassen@firewall.loc
       smtp_server 192.168.200.1
       smtp_connect_timeout 30
       router_id LVS_2        #与主不同
    }
    
    vrrp_instance VI_1 {
        state BACKUP          #与主不同
        interface eth0
        virtual_router_id 51
        priority 90          #与主不同
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            192.168.2.10
        }
    }
    
    virtual_server 192.168.2.10 80 {
        delay_loop 6
        lb_algo rr
        lb_kind DR
        nat_mask 255.255.255.0
        #persistence_timeout 1
        protocol TCP
    
        real_server 192.168.2.134 80 {
            weight 1
        TCP_CHECK {
            connect_timeout 8
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80 
        }
        }
        real_server 192.168.2.135 80 {
            weight 1
        TCP_CHECK {
            connect_timeout 8
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80 
        }
        }
    }

    WEB端配置(都配)

    ifconfig lo:0 192.168.2.10 broadcast 192.168.2.10 netmask 255.255.255.255   
    route add -host 192.168.2.10 dev lo:0
    echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
    echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
    echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
    echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

    启动httpd 和keepalivd 就完成高可用负载均衡了

    详细的keepalived和lvs配置使用可参考前边博文

  • 相关阅读:
    企业如何推行白盒测试
    Java命名规范
    MobileVLC for iphoneos4.3
    用Android NDK编译FFmpeg
    Linux 下Android 开发环境搭建 ---CentOS
    为什么要做白盒测试
    vlc的第三方库contrib的修改之一:live库的修改
    VC命名规范
    POJ 1470 Closest Common Ancestors (LCA入门题)
    HDU 4407 Sum 第37届ACM/ICPC 金华赛区 第1008题 (容斥原理)
  • 原文地址:https://www.cnblogs.com/ywrj/p/9485582.html
Copyright © 2020-2023  润新知