软件版本: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相关推荐

  1. IIS负载均衡-Application Request Route详解第三篇:使用ARR进行Http请求的负载均衡(上)...

    IIS负载均衡-Application Request Route详解第三篇:使用ARR进行Http请求的负载均衡(上) 在前两篇文章中,我们已经讲述如何配置与安装ARR,从本篇文章开始,我们将重点的 ...

  2. 负载均衡原理与实践详解 第三篇 服务器负载均衡的基本概念-网络基础

    负载均衡原理与实践详解 第三篇 服务器负载均衡的基本概念-网络基础 系列文章: 负载均衡详解第一篇:负载均衡的需求 负载均衡详解第二篇:服务器负载均衡的基本概念-网络基础 负载均衡详解第三篇:服务器负 ...

  3. 《CDN 之我见》系列三:详解篇(网络优化)

    摘要: 本文作者:白金,<CDN 之我见>是一个系列文章,共由三个篇章组成,分为"原理篇"."详解篇"和"陨坑篇".本篇章属于& ...

  4. Linux 高可用(HA)集群之keepalived详解

    大纲 一.前言 二.Keepalived 详解 三.环境准备 四.LVS+Keepalived 实现高可用的前端负载均衡器 一.前言 这篇文章是前几篇文章的总结,我们先简单的总结一下我们前面讲解的内容 ...

  5. ViewPager 详解(三)---PagerTabStrip与PagerTitleStrip添加标题栏的异同

     相关文章: 1.<ViewPager 详解(一)---基本入门> 2.<ViewPager 详解(二)---详解四大函数> 3.<ViewPager 详解(三)-- ...

  6. Pixhawk(PX4)之驱动详解篇(0)_前期准备(招贤令)

    Pixhawk(PX4)之驱动详解篇(0)_前期准备(招贤令) 原创 2017年03月01日 22:58:39 标签: 开发人员 / UAV / 软件 / 硬件 一.开篇 开源精神常在!!! 谁说软件 ...

  7. 详解ISA2006三种客户端

    详 解ISA2006三种客户端<?XML:NAMESPACE PREFIX = O /> 上一篇我们介绍了如何部署ISA2006,本文我们要让部署好的ISA来干活了.ISA能干什么活?从字 ...

  8. 一致性协议raft详解(三):raft中的消息类型

    一致性协议raft详解(三):raft中的消息类型 前言 raft 节点 Raft中RPC的种类 RequestVote leader选举成功后 AppendEntries 请求参数 返回值 存储日志 ...

  9. 来FAL学风控|风控策略分析师的日常是怎样的?(案例+代码详解篇)

    风控策略分析师的日常是怎样的?(案例+代码详解篇) FAL金科应用研究院 做了5年的金融,3年的数据分析工作,从17年6月才真正接触代码,算不到熟练,但在不断的学习和工作实践中目前是可以解决任何问题的 ...

最新文章

  1. oracle修改c root,从新发现Oracle太美之root.sh
  2. Linux umount 报 device is busy 的处理方法
  3. JDK源码解析之集合篇2--Collection
  4. 【9】青龙面板系列教程之互助规则的配置
  5. Ansible自动化运维基础-------ad-hoc
  6. 两个Double相加,小数点有很多位问题
  7. linux 替换文件中的内容/查找、替换、全部替换
  8. 【.Net基础02】XML序列化问题
  9. 入网许可证_入网许可证怎么办理,申请流程
  10. python123动物重量排序_Python爬虫图片学习(一)
  11. MyBatis 配置文件 用户密码加密存储
  12. [转载] Scala继承与Java的区别
  13. python中xy坐标如何从十个中找到最远的两个_python – Opencv单应性从像素xy坐标中查找全局xy坐标...
  14. chrome介绍与用法
  15. java基础_集合List与Set接口
  16. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_02 递归_1_递归概念分类注意事项...
  17. SI4463实验笔记
  18. UITextView 首行缩进
  19. 查询淘宝京东商品历史价格的方法
  20. 内存泄漏工具asan

热门文章

  1. 【操作系统】输入输出系统(上)-思维导图
  2. Linux修改主机名称
  3. 【译】使用Java编写Oracle Tuxedo应用
  4. Java各层之间的关系
  5. 基于任务的异步模式(TAP)
  6. [LeetCode] Missing Ranges 缺失区间
  7. JSTL标签使用说明
  8. windows下mysql+apache+php配置
  9. Shell 特殊字符大全
  10. git强行覆盖master分支