百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> CENTOS6中用Keepalived实现MySQL双机热备份(1/2)
分享文章到:

CENTOS6中用Keepalived实现MySQL双机热备份(1/2)

发布时间:01/15 来源: 浏览: 关键词:
本文章来给各位同学介绍一下关于CENTOS6中用Keepalived实现MySQL双机热备份,希望此教程 对各位同 学会有所帮助哦。

 

这里介绍如何配合前者实现Keepalived双机热备


系统环境:CentOS 6.3 x64

MySQL版本:mysql-5.6.10

Keepalived版本:keepalived-1.2.7


MySQL-VIP:192.168.7.253

MySQL-master1:192.168.7.201

MySQL-master2:192.168.7.249


首先关闭iptables和SELINUX

# service iptables stop

# setenforce 0

# vi /etc/sysconfig/selinux

---------------

SELINUX=disabled

---------------

注: 若线上需要开启iptables,需加一条规则使keepalived的vrrp通行

# iptables -A INPUT -p vrrp -j ACCEPT


1.在MySQL-master1:192.168.7.201服务器上keepalived安装及配置


编译安装,实际以本机kernel版本为准

# wget http://www.keepalived.org/software/keepalived-1.2.7.tar.gz

# tar zxvf keepalived-1.2.7.tar.gz

# cd keepalived-1.2.7

# ./configure --prefix=/usr/local/keepalived --with-kernel-dir=/usr/src/kernels/2.6.32-

279.el6.x86_64

# make && make install


设置keepalived开机启动脚本

# cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/

# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

# cp /usr/local/keepalived/sbin/keepalived /usr/sbin/

# chkconfig keepalived on


新建一个配置文件,默认keepalived启动会去/etc/keepalived目录下寻找配置文件

# mkdir /etc/keepalived

# vi /etc/keepalived/keepalived.conf

------------------

global_defs {

notification_email {

lzyangel@126.com

}

#当主、备份设备发生改变时,通过邮件通知

notification_email_from lzyangel@126.com

smtp_server stmp.126.com

smtp_connect_timeout 30

router_id MySQL-ha

}

vrrp_instance VI_1{

# 在初始化状态下定义为主设备

state BACKUP

# 注意网卡接口

interface eth0

virtual_router_id 51

# 优先级,另一台改为90

priority 100

advert_int 1

# 不主动抢占资源

nopreempt

authentication {

# 认证方式,可以是PASS或AH两种认证方式

auth_type PASS

# 认证密码

auth_pass 1111

}

virtual_ipaddress {

# 虚拟IP地址,随着state的变化而增加删除

192.168.7.253

}

}

virtual_server 192.168.7.253 3306 {

# 每个2秒检查一次real_server状态

delay_loop 2

# LVS算法

lb_algo wrr

# LVS模式

lb_kind DR

# 会话保持时间

persistence_timeout 60

protocol TCP

real_server 192.168.7.201 3306 {

# 权重

weight 3

# 检测到服务down后执行的脚本

notify_down /etc/rc.d/keepalived.sh

TCP_CHECK {

# 连接超时时间

connect_timeout 10

# 重连次数

nb_get_retry 3

# 重连间隔时间

delay_before_retry 3

# 健康检查端口

connect_port 3306

}

}

}

----------------------

编写检测服务down后所要执行的脚本

# vi /etc/rc.d/keepalived.sh

-------------

#!/bin/sh

/etc/init.d/keepalived stop

-------------

# chmod +x /etc/rc.d/keepalived.sh

注:此脚本是上面配置文件notify_down选项所用到的,keepalived使用notify_down选项来检查

real_server的服务状态。

当发现real_server服务故障时,便触发此脚本.

我们可以看到,脚本就一个命令:

通过pkill keepalived强制杀死keepalived进程,从而实现了MySQL故障自动转移.

另外,我们不用担心两个MySQL会同时提供数据更新操作,因为每台MySQL上的keepalived的配置里面只

有本机MySQL的IP+VIP,而不是两台MySQL的IP+VIP.

 

首页 1 2 末页
打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有6人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板