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:开启松散的反向路径校验。对每个进来的数据包,校验其源地址是否可达,即反向路径是否能通(通过任意网口),
            如果反向路径不同,则直接丢弃该数据包。
  • 相关阅读:
    8.指针小结
    8.指针
    7.数组
    6.结构化程序设计
    python之迭代器
    1.python基础—有这篇文章足够
    python装饰器,细致讲解
    django客户管理系统-使用modelform对HTML标签统一添加样式
    python之md5使用方法
    git干货教程
  • 原文地址:https://www.cnblogs.com/shione/p/12251755.html
Copyright © 2011-2022 走看看