Keepalived常用配置及脚本
来源:互联网 发布:换行业 知乎 编辑:程序博客网 时间:2024/05/21 06:57
keepalived配置文件路径:/etc/keepalived/keepalived.conf
更多keepalived介绍请参考:http://blog.csdn.net/huwh_/article/details/77113410
1. keepalived.conf
1.1. MASTER(主机配置)
global_defs { router_id wae-proxy-keepalived}vrrp_script check_nginx { script "/etc/keepalived/scripts/check_nginx.sh" interval 3 weight 2 }vrrp_instance VI_1 { state MASTER interface eth2 virtual_router_id 15 priority 100 advert_int 1 authentication { auth_type PASS auth_pass wae@siqian } track_script { check_nginx } virtual_ipaddress { 180.101.115.139 218.98.38.29 } nopreempt notify_master "/etc/keepalived/keepalived_notify.sh master" notify_backup "/etc/keepalived/keepalived_notify.sh backup" notify_fault "/etc/keepalived/keepalived_notify.sh fault" notify_stop "/etc/keepalived/keepalived_notify.sh stop"}
1.2. BACKUP(备机配置)
global_defs { router_id wae-proxy-keepalived}vrrp_script check_nginx { script "/etc/keepalived/scripts/check_nginx.sh" interval 3 weight 2 }vrrp_instance VI_1 { state BACKUP interface eth2 virtual_router_id 15 priority 99 advert_int 1 authentication { auth_type PASS auth_pass wae@siqian } track_script { check_nginx } virtual_ipaddress { 180.101.115.139 218.98.38.29 } nopreempt notify_master "/etc/keepalived/keepalived_notify.sh master" notify_backup "/etc/keepalived/keepalived_notify.sh backup" notify_fault "/etc/keepalived/keepalived_notify.sh fault" notify_stop "/etc/keepalived/keepalived_notify.sh stop"}
1.3. 注意事项
1、指定Nginx健康检测脚本:/etc/keepalived/scripts/check_nginx.sh
2、主备配置差别主要为(建议这么配置):
- 主机:(state MASTER;priority 100)
- 备机:(state BACKUP;priority 99)
- 非抢占:nopreempt
或者:
- 主机:(state BACKUP;priority 100)
- 备机:(state BACKUP;priority 100)
- 默认抢占
3、指定VIP
virtual_ipaddress { 180.101.115.139 218.98.38.29 }
4、可以指定为非抢占:nopreempt,即priority高不会抢占已经绑定VIP的机器。
5、制定绑定IP的网卡: interface eth2
6、可以指定keepalived状态变化通知
notify_master "/etc/keepalived/keepalived_notify.sh master" notify_backup "/etc/keepalived/keepalived_notify.sh backup" notify_fault "/etc/keepalived/keepalived_notify.sh fault" notify_stop "/etc/keepalived/keepalived_notify.sh stop"
7、virtual_router_id 15值,主备值一致,但建议不应与集群中其他Nginx机器上的相同
2. Nginx健康检测脚本
在Nginx配置目录下(/etc/nginx/conf.d/)增加health.conf的配置文件,该配置文件用于配置Nginx health的接口。
server { listen 80 default_server; server_name localhost; default_type text/html; return 200 'Health'; }
Nginx健康检测脚本:/etc/keepalived/scripts/check_nginx.sh
2.1. 检查接口调用是否为200
#!/bin/shset -xtimeout=30 #指定默认30秒没返回200则为非健康,该值可根据实际调整if [ -n ${timeout} ];then httpcode=`curl -sL -w %{http_code} -m ${timeout} http://localhost -o /dev/null`else httpcode=`curl -sL -w %{http_code} http://localhost -o /dev/null`fiif [ ${httpcode} -ne 200 ];then echo `date`': nginx is not healthy, return http_code is '${httpcode} >> /etc/keeperalived/keepalived.log killall keepalived exit 1else exit 0fi
2.2. 检查Nginx进程是否运行
#!/bin/shif [ `ps -C nginx --no-header |wc -l` -eq 0 ];then echo "$(date) nginx pid not found">>/etc/keepalived/keepalived.log killall keepalivedfi
3. Keepalived状态通知脚本
#!/bin/bashset -xwarn_receiver=$1ip=$(cat /etc/server.info|grep IPS)warningInfo="${ip}_keepalived_changed_status_to_$1"warn-report --user admin --key=xxxx --target=${warn_receiver} ${warningInfo}echo $(date) $1 >> /etc/keepalived/status
说明:
1. ip获取本机IP,可换成其他脚本,本例中IP获取是基于特殊环境的配置文件,其他地方不适用。
2. 告警工具根据自己指定。
- Keepalived常用配置及脚本
- keepalived 源码安装 及 脚本安装 和 配置解释
- keepalived配置及问题
- Keepalived原理及配置
- nginx + keepalived 部署及配置
- keepalived 及 keepalived配置LVS高可用集群
- keepalived配置及典型应用案例
- keepalived原理及配置段的说明
- Keepalived配置及典型应用案例
- LVS+Keepalived+httpd安装及配置
- Keepalived原理及配置应用总结
- KeepAlived+DRDB+MFS安装及配置
- Heartbeat,LVS ,Keepalived,Ldirectord功能及配置
- KeepAlived+DRDB+MFS安装及配置
- 高可靠软件keepalived安装及配置
- keepalived的工作原理及配置说明
- LVS+Keepalived+nginx安装及配置
- java maven项目常用 build配置及启动脚本
- First Blog
- SpringBoot事务处理
- 简单背包练习—— 混合背包
- 关于TCP/IP,必知必会的十个问题
- js节点
- Keepalived常用配置及脚本
- CentOS下升级python2.6到2.7
- hihocoder#1339 : Dice Possibility
- 如何处理jQuery选择器中的特殊符号
- 谈谈我对MySQL外键字段必须索引的一些理解
- 第八章 相关知识
- BZOJ 2836 魔法树 树链剖分
- python程序越跑越慢
- 51nod 1278 相离的圆