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
目录
相关文章
|
存储 负载均衡 监控
keepalived实现双vip部署
keepalived实现双vip部署
995 1
|
负载均衡 Cloud Native Linux
云原生|docker|基于docker部署高可用keepalived集群
云原生|docker|基于docker部署高可用keepalived集群
1186 0
|
Cloud Native Nacos 数据库
2024年最新版Nacos安装教程(史上最详细保姆级教程)
2024年最新版Nacos安装教程(史上最详细保姆级教程)
6137 3
|
Oracle Java 关系型数据库
Oracle jdk 的国内下载镜像
Oracle jdk 的国内下载镜像
60710 0
|
存储 Kubernetes 调度
如何驱逐某个节点上到某些名称空间的pod到其他节点
在 Kubernetes (k8s) 中,驱逐某个节点上特定命名空间的 Pod 到其他节点可以通过以下步骤实现: ### 步骤一:找到要驱逐的 Pod 首先,你需要找到位于特定命名空间并且运行在目标节点上的 Pod。你可以使用 `kubectl get pods` 命令并指定 `-o wide` 和 `--namespace` 参数来获取这些信息。 ```bash kubectl get pods -o wide --namespace=<your-namespace> ``` 此命令将返回指定命名空间中的所有 Pod,并显示它们的详细信息,包括所在的节点名称。 ### 步骤二:标记
1512 4
|
Ubuntu
一分钟在Ubuntu 20.04安装QEMU-KVM + Virt-Manage
一分钟在Ubuntu 20.04安装QEMU-KVM + Virt-Manage
|
消息中间件 存储 运维
2024最全RabbitMQ集群方案汇总
本文梳理了RabbitMQ集群的几种方案,主要包括普通集群、镜像集群(高可用)、Quorum队列(仲裁队列)、Streams集群模式(高可用+负载均衡)和插件方式。重点介绍了每种方案的特点、优缺点及适用场景。搭建步骤包括安装Erlang和RabbitMQ、配置集群节点、修改hosts文件、配置Erlang Cookie、启动独立节点并创建集群,以及配置镜像队列以提高可用性和容错性。推荐使用Quorum队列与Streams模式,其中Quorum队列适合高可用集群,Streams模式则同时支持高可用和负载均衡。此外,还有Shovel和Federation插件可用于特定场景下的集群搭建。
3498 3
|
机器学习/深度学习 监控 Linux
在Linux中,如何创建和管理KVM虚拟机?
在Linux中,如何创建和管理KVM虚拟机?
|
Ubuntu NoSQL Linux
一文讲明Docker的基本使用,常见Docker命令使用 、Docker的安装使用等【详细说明+图解+概念+实践】
这篇文章详细介绍了Docker的基本使用,包括Docker的安装、常用命令、架构概念等,并通过图解和实践帮助读者快速掌握Docker的使用方法。
一文讲明Docker的基本使用,常见Docker命令使用 、Docker的安装使用等【详细说明+图解+概念+实践】
|
存储 开发者 Docker