Centos7.9下最新lvs+keepalive对于ssh的负载均衡与高可用

目的是多个管理服务器被绑定为一个服务器,并且由这个服务器进行作业分配。由于服务器之间基本是用ssh进行的,所以这里是对ssh服务进行负载均衡

环境配置

环境:Centos7.9
node02,node03:keepalive
192.168.232.12
192.168.232.13

node01,node00:lvs
192.168.232.10
192.168.232.11

keepalive搭建部署

  1. node02,node03:
    yum -y install ipvsadm keepalived
  2. vim /etc/keepalived/keepalived.conf
global_defs {
   router_id LVS_MASTER
}

vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.232.188
    }
}
##这里推荐VIP与IP地址不要在同一网段,具体原理不太理解,会给出参考文档
virtual_server 192.168.100.188 22 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    protocol TCP

    real_server 192.168.232.10 22 {
        weight 1
                TCP_CHECK {
            connect_timeout 3
            delay_before_retry 3
            connect_port 22
        }
    }

    real_server 192.168.232.11 22 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            delay_before_retry 3
            connect_port 22
        }
    }
}

对node03进行行该只需要把MASTER改为BACKUP
systemctl start keepalived

lvs配置

1.node01,node00
yum -y install ipvsadm keepalived
执行如下脚本即可,至于脚本命令

2.脚本如下 这个脚本的执行可以写在rc.local里(可能)
这个脚本里主要是绑带VIP和对内核进行改变,具体我也不太懂

#!/bin/sh
VIP=192.168.100.188
. /etc/rc.d/init.d/functions

case "$1" in
start)
    /sbin/ifconfig lo down
    /sbin/ifconfig lo up
    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
    /sbin/sysctl -p >/dev/null 2>&1
    /sbin/ifconfig lo:0 $VIP netmask 255.255.255.255 up
    /sbin/route add -host $VIP dev lo:0
    echo "LVS-DR real server starts successfully.\n"
    ;;
stop)
    /sbin/ifconfig lo:0 down
    /sbin/route del $VIP >/dev/null 2>&1
    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
echo "LVS-DR real server stopped.\n"
    ;;
status)
    isLoOn=`/sbin/ifconfig lo:0 | grep "$VIP"`
    isRoOn=`/bin/netstat -rn | grep "$VIP"`
    if [ "$isLoON" == "" -a "$isRoOn" == "" ]; then
            echo "LVS-DR real server has run yet."
    else
        echo "LVS-DR real server is running."
    fi
    exit 3
    ;;
*)
    echo "Usage: $0 {start|stop|status}"
    exit 1
esac
exit 0


执行后成功即可
部署成功标志 访问VIP可以轮询登录两个节点
在这里插入图片描述
同理Node03也可以(不清楚这个高可用是不是这样的):

在这里插入图片描述

实验:本配置使用的是轮询模式连接客户机,那么加入将要连接的客户机宕机了会发生什么呢?

两节点正常状态:
在这里插入图片描述
当将要登录node00时,节点出问题
在这里插入图片描述
:
等一段时间在登陆 就不会出错了
在这里插入图片描述

结论:
在等一段时间后,录会只登录到node01 并且重启node00后 node00重新进入轮询排队
直接访问,第一次会出错,第二次出现如上情况。

世界上没有一条河不拐弯,但最终都要流向大海。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值