keepalived配置文件简要说明

原创 2017年10月07日 21:05:12

Keepalived配置keepalived主要有三个模块:
分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现VRRP协议的。

keepalived配置文件
keepalived只有一个配置文件keepalived.conf,里面主要包括以下几个配置区域,分别是global_defs、static_ipaddress、static_routes、vrrp_script、vrrp_instance和virtual_server。

这里写图片描述

global_defs
邮件报警,由于我单独写了一个脚本,执行发送邮件的功能,所以这里就不过多介绍了,可参考的发邮件博客:keepalived双机热备故障时发送邮件
文档后面会讲邮件报警这个的

vrrp_script
用来做健康检查的,当时检查失败时会将vrrp_instance的priority减少相应的值。同时告诉keepalived在什么情况下切换,所以可以有多个vrrp_script

vrrp_script check_nginx {
            script "/usr/local/keepalived-1.3.4/nginx_check.sh"
            interval 3
            weight -2
}

script : 自己写的检测脚本。这里的脚本命令是nginx_check.sh
interval 3 : 每3s检测一次
weight -2 : 检测失败,则相应的vrrp_instance的优先级会减少2个点
script一般有两种写法: (这里在安装keepalived的时候,已经写好了)
1.通过脚本执行的返回结果,改变优先级,keepalived继续发送通告消息,backup比较优先级再决定
2.脚本里面检测到异常,直接关闭keepalived进程,backup机器接收不到advertisement会抢占IP ,我们采用的是第二种:
这里可以看一下我的nginx_check.sh

这里写图片描述

nxPidNum=`ps -C nginx --no-header |wc -l`
keepalivedPidNum=`ps -C keepalived --no-header |wc -l`             
if [ $nxPidNum -eq 0 ];then                             
    /usr/local/nginx-1.10.3/sbin/nginx  
    sleep 3  
    if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then  
       killall keepalived                     
    elif [$keepalivedPidNum -eq 0 ];then
       service keepalived start
    fi  
elif [ $keepalivedPidNum -eq 0 ];then
    service keepalived start
fi

提示:
1.优先级不会不断的提高或者降低
2.可以编写多个检测脚本并为每个检测脚本设置不同的weight(在配置中列出就行)
3.不管提高优先级还是降低优先级,最终优先级的范围是在[1,254],不会出现优先级小于等于0或者优先级大于等于255的情况
4.在MASTER节点的 vrrp_instance 中 配置 nopreempt ,当它异常恢复后,即使它 prio 更高也不会抢占,这样可以避免正常情况下做无谓的切换

vrrp_instance
vrrp_instance VI_1 {
state MASTER #状态只有MASTER和BACKUP两种,并且要大写,MASTER为工作状态,BACKUP是备用状态。
interface eth0
virtual_router_id 30 #虚拟路由标识,同一个vrrp_instance的MASTER和BACKUP的vitrual_router_id 是一致的,同一组.
priority 200 #优先级,同一个vrrp_instance的MASTER优先级必须比BACKUP高。对于上面vrrp_script修改的优先级,就是这个
advert_int 1 #MASTER 与BACKUP 负载均衡器之间同步检查的时间间隔,单位为秒。
authentication {
auth_type PASS #验证authentication。包含验证类型和验证密码。类型主要有PASS、AH 两种,通常使用的类型为PASS,\
auth_pass 1111 据说AH 使用时有问题。验证密码为明文,同一vrrp 实例MASTER 与BACKUP 使用相同的密码才能正常通信。
}
track_script {
check_nginx
}在 vrrp_script 部分指定的名字。定期运行它们来改变优先级,并最终引发主备切换。
virtual_ipaddress { #虚拟ip地址,可以有多个地址,每个地址占一行,也就是咱们上图画的150的ip
192.168.23.150
}
}
默认配置中还有一些其他的,但是我们用不到,所以就不做阐述了

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Keepalived配置文件说明

#全局定义块 global_defs { notification_email { email email } notification_email_from email smtp_se...

keepalived配置文件详解

  • 2014年02月10日 11:17
  • 36KB
  • 下载

keepalived配置文件详解

文章出处:http://blog.chinaunix.net/uid-22270773-id-1778250.html 一个功能比较完整的keepalived的配置文件,其配置文件keepa...

linux中ubuntu种的环境变量及配置文件的简要介绍

1. ubuntu中常用的5个配置文件 1)/etc/profile 2)/etc/environment 环境变量在这个文件中定义,可以用vim /etc/environment查看该文件内容...

Oracle管理与维护.配置文件的简要分析

Oracle管理与维护.配置文件的简要分析草木瓜20080505 一、Oracle的一些疑难概念Oracle配置文件众多,欲理清思路,须要区别如下一些容易混淆的概念。db_name(创建参数)  是O...

keepalived原理(主从配置+haproxy)及配置文件详解

此文上接博文:http://blog.csdn.net/tantexian/article/details/50056199 下图描述了使用keepalived+Haproxy主从配置来达到能够...

keepalived配置文件解析系列之(三)配置文件解析过程

如(一)所言, keepalived在配置文件解析方面拥有非常灵活的方式, 采用关键字分层(每层的关键字数量不限,且关键字的层次也不限制)的方法进行组织一个配置文件, 且支持平行或者嵌套地includ...
  • wdt3385
  • wdt3385
  • 2013年06月27日 15:19
  • 830

Keepalived系列—配置文件keepalived.conf详解

Keepalived的配置文件可以分为三块: 全局定义块:对整个 Keepalive 配置生效的,不管是否使用 LVS;VRRP 实例定义块:是 Keepalived 的核心;虚拟服务器(LVS)定...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:keepalived配置文件简要说明
举报原因:
原因补充:

(最多只允许输入30个字)