keepalive高可用的健康检查

Master配置文件  注意iptables防火墙(见上个随笔)和健康检查脚本

keepalived 只是高可用,如果keepalived宕机后,ip会飘到备份主机,但是如果nginx掉了,keepalived是不会stop掉的,所以需要脚本做健康检查,代码如下:

! Configuration File for keepalived

global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}

notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id web1
}

vrrp_script check_nginx {
script "/etc/keepalived/check_nginx.sh"
interval 2
weight -5
fall 2
rise 1
}

vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.120
}

track_script {
check_nginx
}
}

# virtual_router_id 51必须一致

脚本代码

#!/bin/bash
  A=$(ss -aunpt | grep nginx | wc -l)
        if [ $A -eq 0 ] ; then
              /usr/bin/kill -15 `cat /var/run/keepalived.pid`
              echo -e "keeplived is stoped"
        else
            exit 0
        fi

##注意脚本要加执行权限+x  vrrp_script

       vrrp_script
    interval 2 : 每2s检测一次
    weight -5 : 检测失败(脚本返回非0)则优先级 -5
    fall 2 : 检测连续 2 次失败才算确定是真失败。会用weight减少优先级(1-255之间)
    rise 1 : 检测 1 次成功就算成功。但不修改优先级

由于本人只有两台高可用,就不写备份机的代码和脚本了。

原文地址:https://www.cnblogs.com/lsgo/p/10492671.html

时间: 2024-08-29 22:52:32

keepalive高可用的健康检查的相关文章

keepalive高可用

准备两台主备主机,都安装keepalived yum install -y keepalived master上前期已安装nginxbackup 上使用yum 安装nginx yum install -y nginx 提示错误时没有可用软件包nginx,解决办法: yum install -y epel-release 在主(master)上编辑配置文件vim /etc/keepalived/keepalived.conf global_defs {notification_email { #如

keepalive高可用nginx(nginx动静分离)的实现

HA Cluster的配置前提: 1.各节点时间要同步: 2.确保iptables及selinux不会成为障碍: 3.(可选)各节点之间可通过主机名互相通信: 节点的名称设定与hosts文件中解析的主机名都要保持一致: # uname -n 获得的主机,与解析的主机名要相同: 4.(可选)各节点之间基于密钥认证的方式通过ssh互信通信: keepalive高可用nginx(nginx动静分离)的实现 一.各节点时间同步的实现方法 在centos中安装chrony,其根据时间协议配置文件将多台主机

LVS-DR+Keepalive高可用群集集

LVS负载均衡群集其中之一:LVS-DR加上keepalive可实现稳定以及可靠的负载均衡: 实验结构 实验思路: 调度服务器区域实现接收访问,调用节点服务器池可用服务器.实现keepalive,实现双机热备功能,由于调度服务器由于负载量过大出现拓机情况时,备份调度服务器可直接顶替工作,保证了服务访问不被中断. 节点服务器提供网络服务,利用内部网络存储服务器提供的存储空间,将需要提供的网络服务搭建其中. ##实验环境: 服务器 系统环境 IP地址 所需服务 主调度 centos7 192.168

Centos 部署Keepalive高可用软件

Keepalive安装部署   一.环境介绍 1)Centos6.4 2) keepalived-1.2.12 3) 主备机的ip Master:172.31.100.5 Slave: 172.31.100.54 Virtault ip:172.31.100.1 二.部署安装 计划具体部署步骤: 步骤1:安装 步骤2:配置 步骤3:运行 步骤4:检查 现在开始: 1)安装 $ yum install -y gcc make openssl openssl-devel $ wget http://

lvs+keepalive高可用web应用部署

环境: 192.168.92.183 7.3.1611 192.168.92.184 7.3.1611 192.168.92.185 7.3.1611 一.系统标准化 1.安装必要软件 yum -y install wget vim lrzsz unzip 2.下载标准版包 $ cd /usr/local/src $ wget http://182.138.101.48:51280/package/tar/nn_sys_init-20180605.tar.gz 3.修改config.ini配置文

Nginx+Keepalive高可用之主从配置

实验环境 操作系统:CentOS 7.4 1708 软件安装:yum -y install epel-release && yum -y install nginx keepalived Nginx+Keepalived NodeA:18.50.129.72(master) Nginx+Keepalived NodeB:18.50.129.73(slave) VIP:18.50.129.74 实现目标 当Nginx服务停止后Keepalived会自动去启动此服务,如果无法启动将VIP转移至

Keepalive 之 高可用实现

1  概述 本文将介绍三个Keepalive高可用的实现案例,分别是keepalive实现LVS高可用,keepalive通过fwmark实现LVS高可用,keepalive实现Nginx高可用. 2  实验准备 .(1) 各节点时间必须同步,这个操作很关键.工具有ntp  和chrony(CentOS7上开始启用) .(2) 确保iptables及selinux不会成为阻碍.7上要停止firewalld服务和iptables .(3) 各节点之间可通过主机名互相通信(对KA并非必须),建议使用

Heartbeat+Drbd+MySQL高可用

一.环境介绍 继续使用之前heartbeat+drbd+nfs的环境,192.168.49.0/24网段用来ssh远程连接,172.16.49.0/24用来做心跳连接,并且也做drbd同步数据使用.因为中间做了好多改变,这里再次给出环境的配置情况. 主机名 角色 IP地址 heartbeat01.contoso.com heartbeat+drbd+mysql(节点1) eth0:192.168.49.133 eth1:172.16.49.133 heartbeat02.contoso.com

rabbitmq高可用实现

需求背景 1.业务按需求将一些功能拆分成异步任务,将消息放入队列进行处理.2.rabbitmq消息队列的使用,要求保证服务随时可用,并保证消息队列内的消息不丢失.rabibtmq在整个业务中的地位不比mysql低,高可用不可或缺. rabbitmq集群 rabbitmq简单介绍:   基于erlang语言开发,而erlang是一门分布式语言开发,适用于集群开发:rabbitmq自身也提供了多种集群方案:http://www.rabbitmq.com/ha.html    1.集群管理:没有明显的