zoukankan      html  css  js  c++  java
  • lvs负载均衡配置

    三台server的ip
        direct_server:192.168.248.128
        real_server1:192.168.248.130
        real_server2:192.168.248.131
    yum install ipvsadm    #安装ipvsadm
    ipvsadm -C #清除所有虚拟服务

    1.编辑vim /sbin/lvsdr.sh

    #!/bin/sh
    
    VIP=192.168.248.128
    RIP1=192.168.248.130
    RIP2=192.168.248.131
    
    /etc/rc.d/init.d/functions
    
    case "$1" in
    start)
    echo "start LVS of DirectorServer"
    #set the Virtual IP Address
    ifconfig ens33:0 $VIP/24     -->注意网卡ens33名称要与本机设备名称相符合
    #/sbin/route add -host $VIP dev ens33:0
    #Clear IPVS table
    /sbin/ipvsadm -C
    #set LVS
    /sbin/ipvsadm -A -t $VIP:80 -s rr
    /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
    /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
    #Run LVS
    /sbin/ipvsadm
    #end
    ;;
    stop)
    echo "close LVS Directorserver"
    /sbin/ipvsadm -C
    ;;
    *)
    echo "Usage: $0 {start|stop}"
    exit 1
    esac
    chown -R root:root /sbin/lvsdr.sh 
    chmod -R 777 /sbin/lvsdr.sh 
    启动服务:
    /sbin/lvsdr.sh start
    ifconfig ens33:0 192.168.88.250 broadcast 192.168.88.250 netmask 255.255.255.255 up   #添加一个ip
    route add -host 192.168.88.250 dev ens33:0   #添加一条路由,使访问192.168.88.250的时候走ens33:0这个网卡

    2.real_server端配置,server1和2的配置相同(可以称为员工)

    1)在真实服务器上添加虚拟IP
        ifconfig lo:0 192.168.248.128 broadcast 192.168.248.128 netmask 255.255.255.255 up     #loopback(本地回环)
        route add -host 192.168.248.128 dev lo:0
     
    2)设置真实服务器的lo接口不做ARP应答
    设置这个选项可以使得各个接口只对本接口上的地址进行响应
        
    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
    service httpd restart
        arp_ignore:定义接收到ARP请求时的响应级别      
            0:默认,只用本地配置的有响应地址都给予响应       
            1:仅仅在目标IP是本地地址,并且是配置在请求进来的接口上的时候才给予响应
                (仅在请求的目标地址配置请求到达的接口上的时候,才给予响应)
     
       arp_announce:定义将自己的地址向外通告时的级别       
            0:默认,表示使用配置在任何接口的任何地址向外通告       
            1:尽量仅向目标网络通告与其网络匹配的地址       
            2:仅向与本地接口上地址匹配的网络进行通告       
     
    real_server端配置(为了让查看信息时候好辨认)
    vim /var/www/html/index.html
    3、测试
    ​打开另一台虚拟机用curl 192.168.248.128测试是否成功 
    ipvsadm -Ln --stats  查看状态
    查看-L
    -n:数字格式显示IP地址和端口号
    --stats:统计信息
    (轮叫调度:负载均衡两台RS访问次数会相等) 
    如果不通:
    提示未找到路由或者拒绝连接
    1、检查防火墙是否关闭
    2、检查DS端ipvsadm服务是否开启
    3、检查http服务是否开启,配置文件里listen端口号是否为80 
     
    tun隧道模式
        lvs-server
        ifconfig tunl0 192.168.248.128 broadcast 192.168.248.128 netmask 255.255.255.0 up
        route add -host 192.168.248.128 dev tunl0
        ipvsadm -A -t 192.168.248.128:80 -s rr
        ipvsadm -a -t 192.168.248.128:80 -r 192.168.88.18 -i
        ipvsadm -a -t 192.168.248.128:80 -r 192.168.88.19 -i
        real server
        ifconfig tunl0 192.168.248.128 netmask 255.255.255.255 broadcast 192.168.248.128 up
        route add -host 192.168.248.128 dev tunl0
        echo "1" >/proc/sys/net/ipv4/conf/tunl0/arp_ignore
        echo "2" >/proc/sys/net/ipv4/conf/tunl0/arp_announce
        echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
        echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
        echo "0" >/proc/sys/net/ipv4/conf/tunl0/rp_filter
        echo "0" > /proc/sys/net/ipv4/conf/all/rp_filter
        0:不开启源地址校验。
        1:开启严格的反向路径校验。对每个进来的数据包,校验其反向路径是否是最佳路径。
            如果反向路径不是最佳路径,则直接丢弃该数据包。
        2:开启松散的反向路径校验。对每个进来的数据包,校验其源地址是否可达,即反向路径是否能通(通过任意网口),
            如果反向路径不同,则直接丢弃该数据包。
  • 相关阅读:
    CodeForces 660D Number of Parallelograms
    【POJ 1082】 Calendar Game
    【POJ 2352】 Stars
    【POJ 2481】 Cows
    【POJ 1733】 Parity Game
    【NOI 2002】 银河英雄传说
    【NOI 2015】 程序自动分析
    【POJ 1704】 Georgia and Bob
    【HDU 2176】 取(m堆)石子游戏
    【SDOI 2016】 排列计数
  • 原文地址:https://www.cnblogs.com/shione/p/12251755.html
Copyright © 2011-2022 走看看