Keepalived 常用配置+检测脚本

简介: 1、在与其他服务一起运行下做高可用时,比如NGINX,需要在NGINX断开的时候先尝试启动一次NGINX,如果启动不行,漂移keepalived到备机,所以需要在配置下加检测脚本。

1、在与其他服务一起运行下做高可用时,比如NGINX,需要在NGINX断开的时候先尝试启动一次NGINX,如果启动不行,漂移keepalived到备机,所以需要在配置下加检测脚本。

2、配置:keepalived.conf

! Configuration File for keepalived

global_defs {

  notification_email {

      abc@163.com

}    notification_email_from abc@163.com

    smtp_server 127.0.0.1    smtp_connect_timeout 30    router_id LVS_DEVEL

}

vrrp_script chk_nginx {

    script  "/data/sh/check_nginx.sh"

    interval 2

    weight 20

} vrrp_instance VI_1 {

    state BACKUP

    interface eth0

    lvs_sync_daemon_inteface eth0

    virtual_router_id 151

    priority 100

    advert_int 5

    nopreempt

    authentication {

        auth_typePASS

        auth_pass  1111

    }    virtual_ipaddress {

        192.168.2.129

  }    track_script {

    chk_nginx

    } 

}

3、检测脚本:chk_nginx.sh

#!/bin/bash    

if [ "$(ps -ef | grep "nginx: master process"| grep -v grep )" == "" ]    

then    

/usr/local/nginx/sbin/nginx    

sleep 5    

if [ "$(ps -ef | grep "nginx: master process"| grep -v grep )" == "" ]    

then    

killall keepalived    

fi    

fi   

4、配置参数详解:

global_defs模块:

notification_email 当切换的时候发送通知对象,一般不需要

notification_email_from    发件人,一般不需要

smtp_server        smtp服务地址,一般不需要

smtp_connect_timeout        smtp连接超时时间,一般不需要

router_id          运行keepalived的标识,一般为主机名

vrrp_script模块:

script              脚本路径

interval            检测时间间隔

weight              权重

vrrp_instance模块:

state 主机状态,包括MASTER和BACKUP

virtual_router 路由id,主备要一致

priority 优先级,值越高,主机状态就是MASTER

advert_int 检查间隔

nopreempt 不抢占

authentication 设置认证

auth_type 认证方式

auth_pass          认证密码

virtual_ipaddress 设置VIP

track_script 脚本监控,名称为vrrp_script设置


5、查看本机IP信息:ip addr list

img_ec17d6073e4e122050cbfb566c951bd9.png
目录
相关文章
|
监控 Docker 索引
docker安装filebeat 进行日志收集
docker安装filebeat 进行日志收集
1188 0
docker安装filebeat 进行日志收集
|
Cloud Native Nacos 数据库
2024年最新版Nacos安装教程(史上最详细保姆级教程)
2024年最新版Nacos安装教程(史上最详细保姆级教程)
5090 3
|
Shell
在Bash中检查变量是否为空的几种方法
在Bash中检查变量是否为空的几种方法
1749 0
在Bash中检查变量是否为空的几种方法
|
Shell
Shell 字符串操作(截取、替换、去头、去尾)
Shell 字符串操作(截取、替换、去头、去尾)
1138 0
|
Linux Docker 容器
阿里云安装Docker 步骤
阿里云安装Docker 步骤: step 1: 安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 Step 2: 添加软件源信息 sudo yum-config-manager --add-repo http://mirrors.
4626 0
|
缓存 前端开发 JavaScript
终极 Nginx 配置指南(全网最详细)
本文详细介绍了Nginx配置文件`nginx.conf`的基本结构及其优化方法。首先通过删除注释简化了原始配置,使其更易理解。接着,文章将`nginx.conf`分为全局块、events块和http块三部分进行详细解析,帮助读者更好地掌握其功能与配置。此外,还介绍了如何通过简单修改实现网站上线,并提供了Nginx的优化技巧,包括解决前端History模式下的404问题、配置反向代理、开启gzip压缩、设置维护页面、在同一IP上部署多个网站以及实现动静分离等。最后,附上了Nginx的基础命令,如安装、启动、重启和关闭等操作,方便读者实践应用。
5240 85
终极 Nginx 配置指南(全网最详细)
|
存储 Java Maven
使用Java实现OAuth 2.0认证授权
使用Java实现OAuth 2.0认证授权
1356 0
|
10月前
|
消息中间件 存储 运维
2024最全RabbitMQ集群方案汇总
本文梳理了RabbitMQ集群的几种方案,主要包括普通集群、镜像集群(高可用)、Quorum队列(仲裁队列)、Streams集群模式(高可用+负载均衡)和插件方式。重点介绍了每种方案的特点、优缺点及适用场景。搭建步骤包括安装Erlang和RabbitMQ、配置集群节点、修改hosts文件、配置Erlang Cookie、启动独立节点并创建集群,以及配置镜像队列以提高可用性和容错性。推荐使用Quorum队列与Streams模式,其中Quorum队列适合高可用集群,Streams模式则同时支持高可用和负载均衡。此外,还有Shovel和Federation插件可用于特定场景下的集群搭建。
1895 2
|
NoSQL 网络协议 Redis
Redis的主从复制和哨兵模式
本文详细介绍了Redis的主从复制配置、原理(包括全量复制和增量复制)以及如何搭建一主二从的Redis集群,同时还探讨了Redis哨兵模式的概念、配置文件、以及如何配置一主二从三哨兵的Redis哨兵模式,以实现高可用性。