美文网首页
减法(贪心)-只要lvs负载

减法(贪心)-只要lvs负载

作者: 六十三63 | 来源:发表于2018-12-09 22:44 被阅读0次

纯lvs

说明

上一篇文章介绍过keepalived+nginx负载的方法,但是有时候情况比较复杂而又简单,例如只有lvs,那就用最原始的lvs来做这个负载均衡

环境列表

ip 服务器名 说明
192.168.1.71 temptest1 lvs keepalived master
192.168.1.72 temptest2 lvs keepalived backup
192.168.1.73 temptest3 web1
192.168.1.74 temptest4 web2
192.168.1.79 vip

lvs+keepalived安装

yum install -y keepalived ipvsadm

这个安装不想说了,everything的iso里有,找不到找网上下

lvs+keepalived的配置

keepalived.conf,以下是master的配置,backup注意更换state和priority这两项。

vrrp_instance VI_1 {
    state MASTER
    interface enp0s8
    virtual_router_id 52
    priority 100
    advert_int 1
       authentication {
          auth_type PASS
          auth_pass 1111
       }
       include /etc/keepalived/vip/*.vip
}
include /etc/keepalived/rsconf/*.conf

vip的配置文件

virtual_ipaddress {
    192.168.1.79
}

rsconf

virtual_server 192.168.1.79 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    persistence_timeout 0
    protocol TCP
include /etc/keepalived/rsconf/192.168.1.79_rs/*.rs
}

real server文件

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

启动keepalived,加入开机启动项

systemctl start keepalived
systemctl enable keepalived

# 用ipvsadm查看转发策略
ipvsadm -Ln

开机绑定vip问题

我这里遇到一个奇怪的问题,就是明明把keepalived加到了开机启动项,但是重启master后并没有开机启动,每次都要systemctl stop keepalived和systemctl start keepalived才能绑定vip
所以我写了个傻脚本

cat <<EOF>/usr/local/bin/vipup.sh
#!/bin/bash
if ! ip a|grep -q 192.168.1.79/32;then systemctl stop keepalived && sleep 2 && systemctl start keepalived;fi
EOF
chmod 755 /usr/local/bin/vipup.sh
chmod 755 /etc/rc.d/rc.local
echo "/usr/local/bin/vipup.sh">>/etc/rc.local

后端服务器的设置

keepalived+nginx的优势就是对后端服务器不需要做其他操作,但lvs转发就需要给后端服务器添加一个vip的回路,不然无法转发

ip addr add 192.168.1.79/32 dev lo
echo "ip addr add 192.168.1.79/32 dev lo">>/etc/rc.local
chmod 755 /etc/rc.d/rc.local

测试

测试和上一篇一样,不写了。

相关文章

网友评论

      本文标题:减法(贪心)-只要lvs负载

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