美文网首页
四七层lvs,nginx负载均衡配置

四七层lvs,nginx负载均衡配置

作者: 带着小猪闯天下 | 来源:发表于2020-07-20 18:04 被阅读0次

    基础环境

    两台web服务器
    nginx-1:192.168.26.130
    nginx-2:192.168.26.131

    image.png
    image.png

    lvs四层负载均衡

    lvs模式:
    nat模式             (替换原ip)
            后端服务器支持数量10-20台
            使用最少两个网段
            可以说是3层负载均衡
             
    dr模式(直接路由模式):   ///基本公司都用dr模式      源ip永远不会变,变得是目标ip(nat模式除外)
            后端服务器支持数量100+台
            使用一个网段
            可以说是2层负载均衡
            
    tunnel隧道模式    (必须要用公网ip)///适用于异地
            后端服务器支持数量100左右
            异地负载均衡  realserver必须使用公网Ip,还得需要服务器支持ip隧道协议
            
    full-nat
    
    在同一台机器上出现两块同一网段的网卡,数据包出去的时候,谁的路由条目在上面,就走哪块网卡    
                        
    ipvsadm  -A -t vip:80 -s rr
     ipvsadm -a -t vim:80 -r rip1:80 -g
     ipvsadm -a -t vim:80 -r rip2:80 -g
    
    echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore          防止ip冲突,不回应arp广播
    echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce     用最精确的32位子网掩码发包
     
    

    配置

    dr模式
    数据链路层负载均衡
       顾名思义,数据链路层负载均衡是指在通信协议的数据链路层修改mac地址进行负载均衡。
       这种数据传输方式又称作三角传输模式,负载均衡数据分发过程中不修改IP地址,只修改目的mac地址,通过配置真实物理服务器集群所有机器虚拟IP和负载均衡服务器IP地址一致,从而达到不修改数据包的源地址和目的地址就可以进行数据分发的目的,由于实际处理请求的真实物理服务器IP和数据请求目的IP一致,不需要通过负载均衡服务器进行地址转换,可将相应数据包直接返回给用户浏览器,避免负载均衡服务器网卡带宽成为瓶颈。这种负载均衡方式又称作直接路由方式(DR)。
             
       使用三角传输模式的链路层负载均衡时目前大型网站使用最广的一种负载均衡手段。在linux平台上最好的链路层负载均衡开源产品是LVS(linux virtual server)
                                            
                        →→→→→→ client     cip23
                       ↑                 ↓
                       ↑                 ↓------->vip 30
                       ↑                 dr   
                       ↑                 ↓------->dip 20  
                       ↑          +----------+
                        ←←←←↓            ↓
                                 rs1          rs2----->rip
                                 21             22
                           设置vip30/32        设置vip30/32
    

    1.两个rs上部署web服务

    2. 给两个web服务器的lo网卡设置子网掩码为32位vip (在这之前先确定一下谁是VIP)

    lo网卡:loopback netcard 本地回环网卡 负责机器操作系统内部网络进程之间通信
    设临时启动放到开机启动,不要修改配置文件:工作中也是

    rs1:
    ifconfig lo:0 192.168.26.200/32                       设置32位
    rs2:
    ifconfig lo:0 192.168.26.200/32 
    

    3.给两个web服务器设置内核参数

    为了让vip发包出去
     echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce  
    
    忽略arp响应   防止ip冲突   view-server配置
     echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
    

    4.保证dr这台机器数据包是从dip发出去的

    如何判断:route -n
        谁的路由条目在上面,谁就是dip,另一个就是vip
    

    5.在dr上设置lvs路由条目

    yum install ipvsadm  -y                           ipvasdm:用户态工具,用户通过此工具将设置传递给内核
    ipvsadm -A -t 192.128.26.200:80 -s rr    
    ipvsadm -a -t 192.128.26.200:80 -r 192.128.26.130:80 -g
    ipvsadm -a -t 192.168.26.200:80 -r 192.128.26.131:80 -g
    
    -A 添加virtual server      添加虚拟服务器vip
    -t  指定使用tcp协议          
    -s 指定调度策略为rr           //负载均衡算法
    -a 添加realserver          //添加真实服务器
    -r 指定realserver是谁      -r 后接真实服务器  //把真实服务器添加到虚拟服务器
    
    让配置永久生效:
    # ipvsadm-save > /etc/sysconfig/ipvsadm
    # systemctl enable ipvsadm
    
    
    ipvsadm -C :重新配置
    

    相关文章

      网友评论

          本文标题:四七层lvs,nginx负载均衡配置

          本文链接:https://www.haomeiwen.com/subject/rveekktx.html