Keepalive安装部署

 

一.环境介绍

1)Centos6.4

2) keepalived-1.2.12

3) 主备机的ip

Master:172.31.100.5

Slave: 172.31.100.54

Virtault ip:172.31.100.1

二.部署安装

计划具体部署步骤:

步骤1:安装

步骤2:配置

步骤3:运行

步骤4:检查

现在开始:

1)安装

$ yum install -y gcc make openssl openssl-devel
$ wget http://www.keepalived.org/software/keepalived-1.2.12.tar.gz
$ tar zxvf keepalived-1.2..tar.gz
$ cd keepalived-1.2.
$ ./configure --prefix=/usr/local/keepalived
$ make && make install

2)配置

$ cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
$ cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
$ cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
$ cp -rf /usr/local/keepalived/etc/keepalived /etc/

AMaster:

$ vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived global_defs {
router_id LVS_DEVEL
} vrrp_script chk_haproxy {
script "/etc/keepalived/chk_haproxy.sh"
interval
weight
} vrrp_instance VI_1 {
interface eth0
state BACKUP
priority
virtual_router_id
garp_master_delay authentication {
auth_type PASS
auth_pass Hc8scrRddsLsc3
} virtual_ipaddress {
172.31.100.1
} track_script {
chk_haproxy
} #notify_master "/etc/keepalived/Mailnotify.py backup"
#notify_backup "/etc/keepalived/Mailnotify.py master"
#notify_fault "/etc/keepalived/Mailnotify.py fault" }

 

 

 

BSlave:

$ vi /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
router_id LVS_DEVEL
} vrrp_script chk_haproxy {
script "/etc/keepalived/chk_haproxy.sh"
interval
weight
} vrrp_instance VI_1 {
interface eth0
state BACKUP
priority
virtual_router_id
garp_master_delay authentication {
auth_type PASS
auth_pass Hc8scrRddsLsc3
} virtual_ipaddress {
172.31.100.1
} track_script {
chk_haproxy
} notify_master "/etc/keepalived/Mailnotify.py backup"
notify_backup "/etc/keepalived/Mailnotify.py master"
#notify_fault "/etc/keepalived/Mailnotify.py fault" }

 

 

C)主备两边都需要的检测脚本和邮件报警脚本:

 

#keepalive调用该脚本检测haproxy是否停止
$ vi /etc/keepalived/chk_haproxy.sh
#!/bin/bash
status=$(ps aux|grep haproxy | grep -v grep | grep -v bash | wc -l)
if [ "${status}" = "" ]; then
/etc/init.d/haproxy start
status2=$(ps aux|grep haproxy | grep -v grep | grep -v bash |wc -l)
if [ "${status2}" = "" ]; then
/etc/init.d/keepalived stop
fi
fi
#邮件报警脚本 来自网络刘天斯大牛

$ vi /etc/keepalived/chk_haproxy.sh

#!/usr/bin/env python
#coding: utf-
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.MIMEImage import MIMEImage
from email.header import Header
import sys
import smtplib strFrom = 'xxxxx@126.com' #邮件来自哪里
strTo = 'receive@gmail.com' #收件箱
smtp_server='smtp.126.com' #邮件服务器地址
smtp_user='send@126.com' #发件箱
smtp_pass='passwdxx' #密码 if sys.argv[]!="master" and sys.argv[]!="backup" and sys.argv[]!="fault":
sys.exit()
else:
notify_type=sys.argv[] mail_title='[紧急]负载均衡器邮件通知'
mail_body_plain=notify_type+'被激活,请做好应急处理。'
mail_body_html='<b><font color=red>'+notify_type+'被激活,请做好应急处理。</font></b>' msgRoot = MIMEMultipart('related')
msgRoot['Subject'] =Header(mail_title,'utf-8')
msgRoot['From'] = strFrom
msgRoot['To'] = strTo msgAlternative = MIMEMultipart('alternative')
msgRoot.attach(msgAlternative) msgText = MIMEText(mail_body_plain, 'plain', 'utf-8')
msgAlternative.attach(msgText)
msgText = MIMEText(mail_body_html, 'html','utf-8')
msgAlternative.attach(msgText) smtp = smtplib.SMTP()
smtp.connect(smtp_server)
smtp.login(smtp_user,smtp_pass)
smtp.sendmail(strFrom, strTo, msgRoot.as_string())
smtp.quit()

 

3)运行

$ /etc/init.d/keepalived start
$ chkconfig keepalived on

4)检查

$ ps aux|grep keeepalived #查看进程
$ ip addr show  #用来查看地址是否切换的

三.结尾

以上是该软件的全部部署过程

Centos 部署Keepalive高可用软件的更多相关文章

  1. 01:keepalive高可用集群

    1.1 keepalived高可用软件介绍 1.keepalived--监控检查 注:keepalive软件有两种功能:监控检查.VRRP冗余协议 1. keepalive的作用是检测web服务器的状 ...

  2. 高可用软件Keepalived

    关于高可用软件Keepalived的使用及配置请参见:http://www.voidcn.com/blog/9124573/article/p-5990263.html

  3. 腾讯云部署keepalived高可用

    使用背景: 通过调用python SDK在腾讯云手动部署keepalived高可用 部署环境 系统:centos7.3 Master:192.168.0.100 Slave:192.168.0.14 ...

  4. (六) Docker 部署 Redis 高可用集群 (sentinel 哨兵模式)

    参考并感谢 官方文档 https://hub.docker.com/_/redis GitHub https://github.com/antirez/redis happyJared https:/ ...

  5. 部署MYSQL高可用集群

                                                  mysql-day08     部署MYSQL高可用集群 u 集群架构                   ...

  6. 部署zookeepe高可用集群

                                                                部署zookeepe高可用集群 部署规划 Nno1         192.16 ...

  7. [svc]高并发场景 LVS DR +KeepAlive高可用实现及ka的persistence_timeout参数

    LVS-DR+keepalived模式是一种非常经典的常用生产组合 高可用场景及LVS架构 一般都用一(负载)拖多(Server Array)方式 使用LVS架设的服务器集群系统有三个部分组成: (1 ...

  8. keepalive高可用

    Keepalived软件起初是专门为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能.因此,Keepalived除了能够管理LVS软 ...

  9. Hadoop部署方式-高可用集群部署(High Availability)

    版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客的高可用集群是建立在完全分布式基础之上的,详情请参考:https://www.cnblogs.com/yinzhengjie/p/90651 ...

随机推荐

  1. 【jQuery基础学习】01 jQuery选择器

    关于CSS选择器 jQuery选择器涉及到CSS,CSS技术使得网页的结构与表现样式完全分离. 同样CSS也需要找到某个网页的结构才能改变其样式,这就是CSS选择器. 常用的CSS选择器如下: 标签选 ...

  2. Studio for Winforms FlexGrid: 创建分类汇总

    C1FlexGrid.Subtotal方法可以增加包含普通(非小计)行的汇总数据的分类汇总行. 分类汇总支持分层聚合.例如,如果你的表格包含销售数据,你可能会通过产品.地区和推销员来小计一下以得出总的 ...

  3. PHP遍历目录四种方法

    学习SPL的时候,遇到了DirectoryIterator这个目录类,谢了一下遍历目录的方法.于是总结一下遍历目录的四种写法 如下: <?php /* * 方法一:利用SPL的目录类,这个很简单 ...

  4. lambda 个人学习理解

    lambda是简化代码量的写用更简单的方法来写匿名方法 lambda左边是参数,右边是代码块(方法执行语句). 整体运算结果是根据左边参数,执行右边语句,返回右边执行的结果: 匿名方法是简化方法 1. ...

  5. Vue方法与事件

    gitHub地址:https://github.com/lily1010/vue_learn/tree/master/lesson10 一 vue方法实现 <!DOCTYPE html> ...

  6. Vue数据绑定

    gitHub地址:https://github.com/lily1010/vue_learn/tree/master/lesson04 一 双括号用来数据绑定 (1)写法一: {{message}}, ...

  7. ASP.NET验证码生成与识别

    一般验证码页面只输出一个图片而不进行其他业务处理,所以验证码一般放在一般处理程序(httpHandler)页面中,而如果将验证码生成代码放到一般处理程序中,要将生成验证码保存在Session中,这里我 ...

  8. Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.

    改下build.gradle文件,将里面的compileSdkVersion改为23即可 apply plugin: 'com.android.application' android { compi ...

  9. Android 设计模式一:EIT造型

    前言:首先不提造型,我们先来学习公式. 思绪回到于十七世纪中,牛顿提出了简单公式:F=ma:让人们能轻易理解物体运动的复杂<关系>. 再如,于二十世纪初,爱因斯坦发表了简单公式:E=MC平 ...

  10. 实战3--应用EL表达式判断用户登录信息

    1.判断用户名是否为空,空则显示提示信息 (1)编写index.jsp页面 <%@ page language="java" contentType="text/h ...