ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

高可用和四层负载均衡

2022-01-10 20:01:32  阅读:165  来源: 互联网

标签:负载 优先级 nginx keepalived 四层 均衡 抢占 BACKUP 节点


高可用

  什么是高可用

    高可用指一般是指2台机器启动着完全相同的业务系统,当有一台机器down机了,另外一台服务器就能快速的接管,对于访问的用户是无感知的。

 

  常用工具

    1.硬件通常使用 F5
    2.软件通常使用 keepalived

  部署Keepalived

 

 

 

  keepalived配置

    修改keepalived的配置文件

 

 

 

[root@lb02 ~]# cat /etc/keepalived/keepalived.conf 
! Configuration File for keepalived

global_defs {
# 主机名
   router_id lb02
}

# 检测脚本
vrrp_script check_nginx {
    # 指定脚本路径
    script "/etc/keepalived/checkNG.sh"
    # 执行间隔
    interval 5
}

# 配置VRRP协议
vrrp_instance VI_1 {
    #状态,MASTER和BACKUP
    #非抢占式需要使用BACKUP
    state BACKUP
    # 开启非抢占式
    nopreempt
    #绑定网卡
    interface eth0
    #虚拟路由标示,可以理解为分组
    virtual_router_id 50
    #优先级
    priority 90
    #监测心跳间隔时间
    advert_int 1
    #配置认证
    authentication {
        #认证类型
        auth_type PASS
        #认证的密码
        auth_pass 1111
    }
    #设置VIP
    virtual_ipaddress {
        #虚拟的VIP地址
        192.168.15.3
    }
    # 调用检查
    track_script {
        check_nginx
    }
}
配置文件

 

    启动keepalived

 

 

 

    测试:

 

 

 

  解决nginx宕机问题

    nginx宕机后,服务器并没有出问题,keepalived就不会自动将ip转到另一台服务器上,想解决这个问题,就要想办法告诉keepalived,Nginx的情况。

    编写脚本供keepalived使用

 

 

 

#!/bin/bash

# 解决Nginx无法正常启动
ps -ef | grep -q [n]ginx 

if [ $? -ne 0 ];then
    # 代表Nginx未正常启动
    systemctl start nginx &>/dev/null
    sleep 2
    ps -ef | grep -q [n]ginx
    if [ $? -ne 0 ];then
        systemctl stop keepalived 
    fi
fi

# $?表示上条命令的执行结果,0表示有结果
# -ne 表示不相等
# & 表示上条命令的输出
# >/dev/null 相当于放入回收站
脚本代码

 

  非抢占式

    两个节点都启动时,由于节点1优先级高于节点2,所以只有节点1上有VIP。当节点1keepalived挂掉,节点2会自动接管节点1的工作。因为节点1优先级高于节点2,所以当节点1恢复时,会将VIP抢占回来。这就是抢占式。

    非抢占式就是节点一重启后,虽然他的优先级高但却不会抢占vip,而是当节点2宕机后才会接管节点2的工作

    配置要点:

      1.两个节点的state都必须配置为BACKUP
      2.两个节点都必须加上配置 nopreempt
      3.其中一个节点的优先级必须要高于另外一个节点的优先级。
    两台服务器都角色状态启用nopreempt后,必须修改角色状态统一为BACKUP,唯一的区分就是优先级。

 

四层负载均衡

  当需要对非http协议的项目进行负载均衡时需要使用四层负载均衡的模式

  案例:使用四层负载均衡实现SSH的代理,端口为1122

    1.修改nginx配置

    

 

 

    2.创建文件夹并新增配置文件

 

 

    3.重启nginx

 

标签:负载,优先级,nginx,keepalived,四层,均衡,抢占,BACKUP,节点
来源: https://www.cnblogs.com/ljys/p/15785733.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有