您的位置:首页 > 其它

LVS+Keeplive 负载均衡

2018-03-07 17:48 393 查看
        注意 lvs+keepalived 的vip是虚拟出来的和 nat模式的负载均衡是不同的,vip要和其他机器在同一网段,其中lvs负载均衡实用的是DR模式,keepalived用来进行监听和切换。
        lvs-master 192.168.0.10

        lvs-slave 192.168.0.11

        real-webserver 192.168.0.12

        real-webserver 192.168.0.13

        vip 192.168.0.80

        关闭防火墙
如果你是内部网络没有路由,需要修改hosts列表使其能够相互通信。
       1、 在两台DR上安装keepalived和ipvsdm

        yum install -y ipvsadm keepalived
        2、两台RS上安装httpd

        yum install -y httpd

        echo ‘this is server1’ > /var/www/html/index.html

         echo ‘this is web-server2’ > /var/www/html/index.html

        配置两台节点 两台一样的操作
         vi /usr/local/sbin/lvs_dr_rs.sh        #! /bin/bash         vip=192.168.0.80
        ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
        route add -host $vip 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
        chmod +x lvs_dr_rs.sh
        ./lvs_dr_rs.sh
         执行完后ifconfig,可以看到        lo:0      Link encap:Local Loopback  
          inet addr:192.168.0.80  Mask:255.255.255.255
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
        本地的lo,绑定了虚拟的vip
        servie httpd start
        3、配置DR的keeplived
        vrrp_instance VI_1 {
        state MASTER                主为master备为BACKUP
        interface eth0                eth0为你的网卡名字,可以用ifconfig查看
        virtual_router_id 51        虚拟路由的编号,主备一致即可

        priority 100                    优先级,主必须大于备
        advert_int 1                    检查间隔为1s
        authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.0.80                    第一虚拟ip为多少,可以设置多个,每行一个
    }
}

virtual_server 192.168.0.80 80 {
    delay_loop 6                        健康检查时间
    lb_algo rr                            负载调度的方法为rr
    lb_kind DR                            DR模式
    persistence_timeout 0        
    protocol TCP

    real_server 192.168.0.12 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }

    real_server 192.168.0.13 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }
service keeplved start 
1、多次访问192.168.0.80,在两台服务不断切换,关闭一台httpd服务,可发现不在访问此台。
通过ip addr 可以看到在主机由eth0  192.168.0.80的虚拟地址
2、关闭主机keepalived 发现vip 80消失,去slave查看发现已经有了vip的虚拟地址。通过访问vip依旧可以访问到两台提供服务的服务器。

 

        
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  LVS keepalived