你的位置:首页 > 操作系统

[操作系统]Centos 部署Keepalive高可用软件


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.12.tar.gz$ cd keepalived-1.2.12$ ./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 keepalivedglobal_defs {  router_id LVS_DEVEL } vrrp_script chk_haproxy {      script "/etc/keepalived/chk_haproxy.sh"      interval 2      weight 2 } vrrp_instance VI_1 {      interface eth0     state BACKUP     priority 101     virtual_router_id 50     garp_master_delay 1     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 keepalivedglobal_defs {  router_id LVS_DEVEL } vrrp_script chk_haproxy {      script "/etc/keepalived/chk_haproxy.sh"      interval 2      weight 2 } vrrp_instance VI_1 {      interface eth0     state BACKUP     priority 100     virtual_router_id 50     garp_master_delay 1      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/bashstatus=$(ps aux|grep haproxy | grep -v grep | grep -v bash | wc -l)if [ "${status}" = "0" ]; then  /etc/init.d/haproxy start  status2=$(ps aux|grep haproxy | grep -v grep | grep -v bash |wc -l)  if [ "${status2}" = "0" ]; then      /etc/init.d/keepalived stop  fifi

 

#邮件报警脚本 来自网络刘天斯大牛$ vi /etc/keepalived/chk_haproxy.sh#!/usr/bin/env python#coding: utf-8 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[1]!="master" and sys.argv[1]!="backup" and sys.argv[1]!="fault":   sys.exit() else:   notify_type=sys.argv[1] 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       #用来查看地址是否切换的

 

三.结尾

 

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