High Availability--keepalived详解篇(三)之keepalive配置实例-http
软件版本:Keepalived v1.3.4 (02/18,2017),Apache/2.2.15
系统版本:centos 6.6
master:10.10.24.21 backup:10.10.4.11
vip:10.10.24.253
因为主要是介绍keepalived,所以apache采用yum版本安装
keepalive采用的是源码安装,安装过程如下
keepalived下载地址是:http://www.keepalived.org/download.html
tar -zxf keepalived-1.3.4.tar.gz
cd keepalived-1.3.4
./configure
make && make install
其实就安装配置挺简单
下面是本地脚本,一个是服务检测脚本,一个是mail报警邮件
[root@VIDEt-tes01 keepalived]# cat check_httpd.sh #!/bin/bashwc=`ss -ln |grep ":80 " |wc -l` #判断本地的80端口是否开启 if [ $wc -eq 1 ] then exit 0 #如果存在就发出0的信号 else exit 1 #如果不存在就发出1的信号 fi #其实这个可以根据自己的情况自定义,就是keepalived是根据你脚本返回的状态码,来判断服务是否正常
[root@VIDEt-tes01 keepalived]# cat mail.sh #邮件报警脚本 #!/bin/bash fmail=keepalived@xxxxxx.com.cn #发件人地址 tmail=zhangsan@xxxxxxx.com.cn #收件人地址 smail=mail.xxxxxxxx.com.cn #邮件服务器地址,smtp ip=`ifconfig eth0 |awk -F "[ :]+" 'NR==2{print $4}'` /usr/local/bin/sendEmail -f $fmail -t $tmail -s $smail -u "keepalive-$ip" -o message-charset=utf8 -m "$ip 目前是否正在提供服务: $1"
我没有使用keepalived自带的发邮件功能,用的是sendEmail,平常工作中都用的sendEmail
master这边的配置项:
[root@wam keepalived]# cat keepalived.conf ! Configuration File for keepalivedglobal_defs {notification_email {root@localhost}notification_email_from root@localhostsmtp_server 127.0.0.1smtp_connect_timeout 30router_id LVS_DEVEL } vrrp_script chk_httpd {script "/etc/keepalived/check_httpd.sh"interval 5weight 2fall 4rise 4}vrrp_instance VI_1 {state MASTERinterface eth0virtual_router_id 51priority 99advert_int 1authentication {auth_type PASSauth_pass a23c7f32dfb519d6a5dc67a4b2ff8f5e}track_interface {eth0 }virtual_ipaddress {10.10.4.253 dev eth0 label eth0:0} track_script {chk_httpd} notify_backup "/etc/keepalived/mail.sh NO" notify_master "/etc/keepalived/mail.sh YES" } 启动服务: keepalived -f /etc/keepalived/keepalived.conf
slave这边的配置项:
[root@VIDEt-tes01 keepalived]# vim keepalived.conf smtp_connect_timeout 30router_id LVS_DEVEL } vrrp_script chk_httpd {script "/etc/keepalived/check_httpd.sh"interval 1weight 2}vrrp_instance VI_1 {state BACKUPinterface eth0virtual_router_id 51priority 98advert_int 1authentication {auth_type PASSauth_pass a23c7f32dfb519d6a5dc67a4b2ff8f5e}track_interface {eth0 }virtual_ipaddress {10.10.4.253 dev eth0 label eth0:0} track_script {chk_httpd} notify_backup "/etc/keepalived/mail.sh NO" notify_master "/etc/keepalived/mail.sh YES" } 启动服务: keepalived -f /etc/keepalived/keepalived.conf
试验效果:
关闭master上面的服务:
[root@wam keepalived]# /etc/init.d/httpd stop
Stopping httpd: [ OK ]
[root@wam keepalived]#
日志:
###因为我设置的是fall 4,是失败4次之后才任务失败
Mar 3 14:22:26 wam Keepalived_vrrp[40562]: pid 53178 exited with status 1
Mar 3 14:22:31 wam Keepalived_vrrp[40562]: pid 53188 exited with status 1
Mar 3 14:22:36 wam Keepalived_vrrp[40562]: pid 53196 exited with status 1
Mar 3 14:22:41 wam Keepalived_vrrp[40562]: pid 53206 exited with status 1
Mar 3 14:22:41 wam Keepalived_vrrp[40562]: VRRP_Script(chk_httpd) failed
Mar 3 14:22:42 wam Keepalived_vrrp[40562]: VRRP_Instance(VI_1) Changing effective priority from 101 to 99
Mar 3 14:22:43 wam Keepalived_vrrp[40562]: VRRP_Instance(VI_1) Received advert with higher priority 100, ours 99
Mar 3 14:22:43 wam Keepalived_vrrp[40562]: VRRP_Instance(VI_1) Entering BACKUP STATE
Mar 3 14:22:45 wam ntpd[5879]: Deleting interface #15 eth0:0, 10.10.4.253#123, interface stats: received=0, sent=0, dropped=0, active_time=5681 secs
slave上面的效果:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 00:50:56:97:70:3e brd ff:ff:ff:ff:ff:ff
inet 10.10.4.11/24 brd 10.10.4.255 scope global eth0
inet 10.10.4.253/32 scope global eth0:0
inet6 fe80::250:56ff:fe97:703e/64 scope link
valid_lft forever preferred_lft forever
转载于:https://blog.51cto.com/wangaimin/1902977
High Availability--keepalived详解篇(三)之keepalive配置实例-http相关推荐
- IIS负载均衡-Application Request Route详解第三篇:使用ARR进行Http请求的负载均衡(上)...
IIS负载均衡-Application Request Route详解第三篇:使用ARR进行Http请求的负载均衡(上) 在前两篇文章中,我们已经讲述如何配置与安装ARR,从本篇文章开始,我们将重点的 ...
- 负载均衡原理与实践详解 第三篇 服务器负载均衡的基本概念-网络基础
负载均衡原理与实践详解 第三篇 服务器负载均衡的基本概念-网络基础 系列文章: 负载均衡详解第一篇:负载均衡的需求 负载均衡详解第二篇:服务器负载均衡的基本概念-网络基础 负载均衡详解第三篇:服务器负 ...
- 《CDN 之我见》系列三:详解篇(网络优化)
摘要: 本文作者:白金,<CDN 之我见>是一个系列文章,共由三个篇章组成,分为"原理篇"."详解篇"和"陨坑篇".本篇章属于& ...
- Linux 高可用(HA)集群之keepalived详解
大纲 一.前言 二.Keepalived 详解 三.环境准备 四.LVS+Keepalived 实现高可用的前端负载均衡器 一.前言 这篇文章是前几篇文章的总结,我们先简单的总结一下我们前面讲解的内容 ...
- ViewPager 详解(三)---PagerTabStrip与PagerTitleStrip添加标题栏的异同
相关文章: 1.<ViewPager 详解(一)---基本入门> 2.<ViewPager 详解(二)---详解四大函数> 3.<ViewPager 详解(三)-- ...
- Pixhawk(PX4)之驱动详解篇(0)_前期准备(招贤令)
Pixhawk(PX4)之驱动详解篇(0)_前期准备(招贤令) 原创 2017年03月01日 22:58:39 标签: 开发人员 / UAV / 软件 / 硬件 一.开篇 开源精神常在!!! 谁说软件 ...
- 详解ISA2006三种客户端
详 解ISA2006三种客户端<?XML:NAMESPACE PREFIX = O /> 上一篇我们介绍了如何部署ISA2006,本文我们要让部署好的ISA来干活了.ISA能干什么活?从字 ...
- 一致性协议raft详解(三):raft中的消息类型
一致性协议raft详解(三):raft中的消息类型 前言 raft 节点 Raft中RPC的种类 RequestVote leader选举成功后 AppendEntries 请求参数 返回值 存储日志 ...
- 来FAL学风控|风控策略分析师的日常是怎样的?(案例+代码详解篇)
风控策略分析师的日常是怎样的?(案例+代码详解篇) FAL金科应用研究院 做了5年的金融,3年的数据分析工作,从17年6月才真正接触代码,算不到熟练,但在不断的学习和工作实践中目前是可以解决任何问题的 ...
最新文章
- oracle修改c root,从新发现Oracle太美之root.sh
- Linux umount 报 device is busy 的处理方法
- JDK源码解析之集合篇2--Collection
- 【9】青龙面板系列教程之互助规则的配置
- Ansible自动化运维基础-------ad-hoc
- 两个Double相加,小数点有很多位问题
- linux 替换文件中的内容/查找、替换、全部替换
- 【.Net基础02】XML序列化问题
- 入网许可证_入网许可证怎么办理,申请流程
- python123动物重量排序_Python爬虫图片学习(一)
- MyBatis 配置文件 用户密码加密存储
- [转载] Scala继承与Java的区别
- python中xy坐标如何从十个中找到最远的两个_python – Opencv单应性从像素xy坐标中查找全局xy坐标...
- chrome介绍与用法
- java基础_集合List与Set接口
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_02 递归_1_递归概念分类注意事项...
- SI4463实验笔记
- UITextView 首行缩进
- 查询淘宝京东商品历史价格的方法
- 内存泄漏工具asan