2022年05月01日   码农之路   202 次浏览

我们都知道Keepalived是集群管理中保证高可用的一个服务软件,用来防止单点故障。 如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。

其实在单节点环境下, Keepalived还可用作一个监控软件,当服务无响应时自动重启,下面用Nginx来做示例。

1、安装

1.1、yum install keepalived -y
1.2、报mysql签名错误:rpm –import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

2、配置文件

2.1、/etc/keepalived/keepalived.conf

! Configuration File for keepalived
vrrp_script chk_nginx {
    script "/etc/keepalived/nginx_check.sh" #运行脚本,脚本内容下面有,就是起到一个nginx宕机以后,自动开启服务
    interval 5 #检测时间间隔
    weight -20 #如果条件成立的话,则权重 -20
}
# 定义虚拟路由,VI_1 为虚拟路由的标示符,自己定义名称
vrrp_instance VI_1 {
    state MASTER #来决定主从
    interface ens160 # 绑定虚拟 IP 的网络接口,根据自己的机器填写
    virtual_router_id 121 # 虚拟路由的 ID 号, 两个节点设置必须一样
    mcast_src_ip 192.168.2.230 #填写本机ip
    priority 100 # 节点优先级,主要比从节点优先级高
    nopreempt # 优先级高的设置 nopreempt 解决异常恢复后再次抢占的问题
    advert_int 1 # 组播信息发送间隔,两个节点设置必须一样,默认 1s
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    # 将 track_script 块加入 instance 配置块
    track_script {
        chk_nginx #执行 Nginx 监控的服务
    }
    virtual_ipaddress {
        192.168.31.110 # 虚拟ip,也就是解决写死程序的ip怎么能切换的ip,也可扩展,用途广泛。可配置多个。
    }
}

2.3、/etc/keepalived/nginx_check.sh

#!/bin/bash
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
    /usr/local/nginx/sbin/nginx
    sleep 2
    if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
        systemctl restart keepalived
    fi
fi

3、设置

#关闭防火墙
setenforce 0

# 启用开机启动
systemctl enable keepalived
# 确认开机启动已启用
systemctl is-enabled keepalived

# 启动
systemctl start keepalived
# 查看状态
systemctl status keepalived

# 重启
systemctl restart keepalived
# 日志
tail -22f /var/log/messages | grep Keepalived

4、常见错误

Q1: /etc/keepalived/nginx-check.sh exited due to signal 15
A1: 修改vrrp_script chk_nginx配置项中interval的时间必须大于脚本中设置的sleep时间,3秒不行就5秒

Q2: /etc/keepalived/nginx-check.sh exited with status 127或126
A2: 脚本错误,查看脚本中的命令如nginx所在位置

Q3: /etc/keepalived/nginx-check.sh exited with status 1
A3: SELinux是否禁用

参考资料:https://www.cnblogs.com/KSPT/p/16973767.html

赞 赏
申明:除非注明,本站文章均为原创,转载请以链接形式标明本文地址。 如有问题,请于一周内与本站联系,本站将在第一时间对相关内容进行处理。
本文地址: http://www.yyjjssnn.cn/articles/884.html
相关阅读: Keepalived, Nginx

>>> Hello World <<<

这篇内容是否帮助到你了呢?

如果你有任何疑问或有建议留给其他朋友,都可以给我留言。

:wink: :twisted: :surprised: :smile: :smile9: :smile8: :smile7: :smile6: :smile5: :smile56: :smile55: :smile54: :smile53: :smile52: :smile51: :smile50: :smile4: :smile49: :smile48: :smile47: :smile46: :smile45: :smile44: :smile43: :smile42: :smile41: :smile40: :smile3: :smile39: :smile38: :smile37: :smile36: :smile35: :smile34: :smile33: :smile32: :smile31: :smile30: :smile2: :smile29: :smile28: :smile27: :smile26: :smile25: :smile24: :smile23: :smile22: :smile21: :smile20: :smile1: :smile19: :smile18: :smile17: :smile16: :smile15: :smile14: :smile13: :smile12: :smile11: :smile10: :smile0: :sad: :rolleyes1: :redface: :razz: :question: :neutral: :mrgreen: :mad: :lol: :idea: :exclaim: :evil: :eek: :cry: :cool: :confused: :biggrin: :arrow:

友情链接: 程序员刘杨 刘杨
Copyright 2003~2018 保留所有权利 | 网站地图
备案号:湘ICP备14001005号-2

湘公网安备 43011102001322号