Keepalived常用配置及脚本
keepalived配置文件路径:/etc/keepalived/keepalived.conf
更多keepalived介绍请参考:http://blog.csdn.net/huwh_/article/details/77113410
1. keepalived.conf
1.1. MASTER(主机配置)
global_defs {router_id proxy-keepalived
}vrrp_script check_nginx {script "/etc/keepalived/scripts/check_nginx.sh" interval 3 weight 2
}vrrp_instance VI_1 {state MASTERinterface eth2virtual_router_id 15priority 100advert_int 1authentication {auth_type PASSauth_pass xxx}track_script {check_nginx }virtual_ipaddress {180.101.115.139218.98.38.29}nopreemptnotify_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 proxy-keepalived
}vrrp_script check_nginx {script "/etc/keepalived/scripts/check_nginx.sh" interval 3 weight 2
}vrrp_instance VI_1 {state BACKUP interface eth2virtual_router_id 15priority 99advert_int 1authentication {auth_type PASSauth_pass xxx}track_script {check_nginx }virtual_ipaddress {180.101.115.139218.98.38.29}nopreemptnotify_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.139218.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/sh
set -xtimeout=30 #指定默认30秒没返回200则为非健康,该值可根据实际调整if [ -n ${timeout} ];thenhttpcode=`curl -sL -w %{http_code} -m ${timeout} http://localhost -o /dev/null`
elsehttpcode=`curl -sL -w %{http_code} http://localhost -o /dev/null`
fiif [ ${httpcode} -ne 200 ];thenecho `date`': nginx is not healthy, return http_code is '${httpcode} >> /etc/keeperalived/keepalived.logkillall keepalivedexit 1
elseexit 0
fi
2.2. 检查Nginx进程是否运行
#!/bin/sh
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];thenecho "$(date) nginx pid not found">>/etc/keepalived/keepalived.logkillall keepalived
fi
3. Keepalived状态通知脚本
#!/bin/bash
set -xwarn_receiver=$1
ip=$(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
说明:
- ip获取本机IP,可换成其他脚本,本例中IP获取是基于特殊环境的配置文件,其他地方不适用。
- 告警工具根据自己指定。
4. keepalived 切 VIP
例如将 A 机器上的 VIP 迁移到B 机器上。
4.1. 停止keepalived服务
停止被迁移的机器(A机器)的keepalived服务。
systemctl stop keepalived
4.2. 查看日志
解绑 A机器 VIP的日志
Sep 19 14:28:09 localhost systemd: Stopping LVS and VRRP High Availability Monitor...
Sep 19 14:28:09 localhost Keepalived[45705]: Stopping
Sep 19 14:28:09 localhost Keepalived_vrrp[45707]: VRRP_Instance(twemproxy) sent 0 priority
Sep 19 14:28:09 localhost Keepalived_vrrp[45707]: VRRP_Instance(twemproxy) removing protocol VIPs.
Sep 19 14:28:09 localhost Keepalived_healthcheckers[45706]: Stopped
Sep 19 14:28:10 localhost Keepalived_vrrp[45707]: Stopped
Sep 19 14:28:10 localhost Keepalived[45705]: Stopped Keepalived v1.3.5 (03/19,2017), git commit v1.3.5-6-g6fa32f2
Sep 19 14:28:10 localhost systemd: Stopped LVS and VRRP High Availability Monitor.
Sep 19 14:28:10 localhost ntpd[1186]: Deleting interface #10 bond0, 192.168.99.9#123, interface stats: received=0, sent=0, dropped=0, active_time=6755768 secs
绑定 B 机器 VIP的日志
Sep 17 17:20:25 localhost systemd: Starting LVS and VRRP High Availability Monitor...
Sep 17 17:20:26 localhost Keepalived[34566]: Starting Keepalived v1.3.5 (03/19,2017), git commit v1.3.5-6-g6fa32f2
Sep 17 17:20:26 localhost Keepalived[34566]: Opening file '/etc/keepalived/keepalived.conf'.
Sep 17 17:20:26 localhost Keepalived[34568]: Starting Healthcheck child process, pid=34569
Sep 17 17:20:26 localhost Keepalived[34568]: Starting VRRP child process, pid=34570
Sep 17 17:20:26 localhost Keepalived_vrrp[34570]: Registering Kernel netlink reflector
Sep 17 17:20:26 localhost Keepalived_vrrp[34570]: Registering Kernel netlink command channel
Sep 17 17:20:26 localhost Keepalived_vrrp[34570]: Registering gratuitous ARP shared channel
Sep 17 17:20:26 localhost Keepalived_vrrp[34570]: Opening file '/etc/keepalived/keepalived.conf'.
Sep 17 17:20:26 localhost Keepalived_vrrp[34570]: Truncating auth_pass to 8 characters
Sep 17 17:20:26 localhost Keepalived_vrrp[34570]: VRRP_Instance(twemproxy) removing protocol VIPs.
Sep 17 17:20:26 localhost Keepalived_vrrp[34570]: Using LinkWatch kernel netlink reflector...
Sep 17 17:20:26 localhost Keepalived_vrrp[34570]: VRRP_Instance(twemproxy) Entering BACKUP STATE
Sep 17 17:20:26 localhost Keepalived_vrrp[34570]: VRRP sockpool: [ifindex(4), proto(112), unicast(0), fd(10,11)]
Sep 17 17:20:26 localhost systemd: Started LVS and VRRP High Availability Monitor.
Sep 17 17:20:26 localhost kernel: IPVS: Registered protocols (TCP, UDP, SCTP, AH, ESP)
Sep 17 17:20:26 localhost kernel: IPVS: Connection hash table configured (size=4096, memory=64Kbytes)
Sep 17 17:20:26 localhost kernel: IPVS: Creating netns size=2192 id=0
Sep 17 17:20:26 localhost kernel: IPVS: Creating netns size=2192 id=1
Sep 17 17:20:26 localhost kernel: IPVS: ipvs loaded.
Sep 17 17:20:26 localhost Keepalived_healthcheckers[34569]: Opening file '/etc/keepalived/keepalived.conf'.
Keepalived常用配置及脚本相关推荐
- keepalived安装配置
安装keepalived wget http://www.keepalived.org/software/keepalived-1.2.7.tar.gz tar zxvf nginx-1.2.7.ta ...
- kafka创建topic_一网打尽Kafka常用命令、脚本及配置,宜收藏!
前言 通过前面 7 篇文章的介绍,小伙伴们应该对 Kafka 运行工作原理有一个相对比较清晰的认识了. Kafka是什么?一起来看看吧! Kafka 安装及简单命令使用 Kafka中消息如何被存储到B ...
- 一网打尽Kafka常用命令、脚本及配置,宜收藏!
前言 通过前面 7 篇文章的介绍,小伙伴们应该对 Kafka 运行工作原理有一个相对比较清晰的认识了. Kafka是什么?一起来看看吧! Kafka 安装及简单命令使用 Kafka中消息如何被存储到B ...
- zabbix 系统搭建(LAMP环境)+keepalived LVS配置
zabbix 系统搭建(LAMP环境) 先搭建好LAMP环境 (介绍) 安装zabbix监控主机 (设置监控主机ip为192.168.200.130) wget http://repo.zabbix. ...
- Maven pom.xml 全配置(一)常用配置
Maven pom.xml 全配置(一)常用配置 这里贴出一个Maven中出现频率较高的配置参数注释,方便理解项目中Maven的配置具体的作用.如果在此博文中没有找到你想看到的参数,可以移步Maven ...
- 【Android FFMPEG 开发】FFMPEG 交叉编译配置 ( 下载 | 配置脚本 | 输出路径 | 函数库配置 | 程序配置 | 组件配置 | 编码解码配置 | 交叉编译配置 | 最终脚本 )
文章目录 一.FFMPEG 源码下载 解压 二.交叉编译工具 三.configure 脚本及帮助命令 四.配置 configure 脚本 五.输出目录配置 六.函数库配置 七.程序配置选项 八.组件配 ...
- 【Android NDK 开发】Android Studio 的 NDK 配置 ( 源码编译配置 | 构建脚本配置 | 打包配置 | CMake 配置 | ndkBuild 配置 )
文章目录 I . 源码编译配置 II . 构建脚本配置 III . NDK 函数库打包配置 IV . Java 与 C 代码示例 V . CMake 配置 ( CMakeLists.txt ) VI ...
- lvs keepalived 安装配置详解【转】
lvs keepalived 安装配置详解 张映 发表于 2012-06-20 分类目录: 服务器相关 前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较 ...
- .net学习笔记----WebConfig常用配置节点介绍
一.配置文件入门 .Net提供了一种保存项目配置信息的办法,就是利用配置文件,配置文件的后缀一般是.config.在WinForm程序中配置文件一般是App.config.在Asp.net中一般默认是 ...
最新文章
- 关于码云的一些基本知识_关于教师资格考试的知识点。
- R语言可视化散点图(scatter plot)图、为图中的部分数据点添加标签、ggrepel包来帮忙
- [转] java的 Collection 和 Map 详解
- 互联网共鸣之声:2018年或成为云计算转折之年
- 【Java Web后台实验与开发】The server time zone value ‘�й���ʱ��‘ is unrecognized or represents more than one
- Server.UrlEncode UrlDecode 动态绑定gridview列发送接收乱码的问题
- SqlServer数据库的常用操作-更新中
- 服务器性能发挥,浪潮服务器发挥性能优势,算力“焦虑”问题被解决
- C# 创建进程但是失败,原因是什么
- android基于开源网络框架asychhttpclient,二次封装为通用网络请求组件
- 安卓app可以用python写吗_安卓app可以用python写吗
- Linux下面DNS主、辅、转、子域及其委派实验手册
- python中await async_asyncio中的async和await
- 吴恩达采访人工智能大师实录
- 计算机如何调整对比度,怎么调整电脑显示器亮度和对比度
- 生物信息学简史,A brief history of bioinformatics- Briefings in Bioinformatics综述解读
- bluetooth Specification
- 【论文阅读】Whisper: Robust Speech Recognition via Large-Scale Weak Supervision
- 学习并掌握结构化写作方法,提高写作能力 ——结构化写作学习笔记(3)
- win10要关闭自动更新吗?看完你就有答案了