keepalived+lvs搭建高可用负载均衡集群

keepalived与DR模式

主keepalived(调度器):192.168.188.128

真实服务器rs1:192.168.188.129

真实服务器rs1:192.168.188.127

VIP :192..168.188.110

yum  -y  install  keepalived  (不需要安装ipvsadm,keepalived已经嵌入了LVS功能)

vim   /etc/keepalived/keepalived.conf   更改成如下内容

vrrp_instance VI_1 {
    #备用服务器上为 BACKUP
    state MASTER
    #绑定vip的网卡为ens33,网卡可能不一样,这里需要你改一下
    interface ens33
    virtual_router_id 51
    #备用服务器上为90
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass aminglinux
    }
    virtual_ipaddress {
        192.168.188.110
    }
}
virtual_server 192.168.188.110 80 {
    #(每隔10秒查询realserver状态)
    delay_loop 10
    #(lvs 算法)
    lb_algo wlc
    #(DR模式)
    lb_kind DR
    #(同一IP的连接60秒内被分配到同一台realserver)
    persistence_timeout 60
    #(用TCP协议检查realserver状态)
    protocol TCP

    real_server 192.168.188.129 80 {
        #(权重)
        weight 100
        TCP_CHECK {
        #(10秒无响应超时)
        connect_timeout 10
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
    }
    real_server 192.168.188.127 80 {
        weight 100
        TCP_CHECK {
        connect_timeout 10
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
     }
}

由于执行过LVS的脚本,清空一下。

ipvsadm   -C

service  network  restart

然后在两台真实服务器上进行配置,两台rs服务器上编辑一样的内容vim  /usr/local/sbin/lvs_dr_rs.sh

#/bin/bash
vip=192.168.8.180
#把vip绑定在lo上,是为了实现rs直接把结果返回给客户端
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
#以下操作为更改arp内核参数,目的是为了让rs顺利发送mac地址给客户端
#参考文档www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html
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

bash /usr/local/sbin/lvs_dr_rs.sh

启动keepalived,netstat  -lnp |grep keepalived

在调度器上执行ipvsadm  -ln,可以查看连接数。

I can feel you forgetting me。。 有一种默契叫做我不理你,你就不理我

原文地址:https://www.cnblogs.com/weidaijie/p/9593250.html