MySQL  - 讨论区

标题:使用Heartbeat实现MySQL+DRBD的自动Failover

2013年12月10日 星期二 11:25

Heartbeat提供了集群间通讯和基础的服务管理功能。对于DRBD+MySQL这样简单的架构,单纯使用Heartbeat就可以达到很好的效果,无需再引入比较复杂的Packmaker。

本篇文章基于 使用DRBD实现高可用的MySQL数据库 ,主要演示使用Heartbeat实现资源自动Failover的配置过程。

一、环境信息:
两台服务器的IP地址:172.16.88.89,172.16.88.94
操作系统:CentOS 6.5 X86_64
数据磁盘:/dev/sda3
DRBD磁盘:/dev/drbd1
磁盘挂载目录:/data
磁盘文件系统:ext4
磁盘挂载参数:noatime
虚拟IP地址:172.16.88.122
需要Failover的服务:mysql

hosts文件配置:
172.16.88.89    db-89
172.16.88.94    db-94

二,安装heartbeat软件(两台服务器均需配置和安装):

heartbeat相关软件需要配置如下安装源(/etc/yum.repos.d/epel.repo ):

[epel]
name=epel from sohu
baseurl=http://mirrors.sohu.com/fedora-epel/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://fedoraproject.org/static/0608B895.txt

执行安装:
yum install -y heartbeat


三,配置heartbeat(两台服务器均需配置):

1,消息认证配置文件: /etc/ha.d/authkeys

auth 3
3 md5 okbuy_is_good

然后设置文件权限:

chmod 600 /etc/ha.d/authkeys

2,集群通讯配置文件:/etc/ha.d/ha.cf

logfacility    local0
udpport        695           #此端口可以酌情修改,不要与统一网络中其他集群冲突
ucast em1 172.16.88.94 #这里是对方的IP地址
auto_failback off
node db-89 db-94
ping 172.16.88.1

3,资源配置文件:/etc/ha.d/haresources (两台服务器要完全一致

db-89 172.16.88.122 drbddisk::mysql Filesystem::/dev/drbd1::/data::ext4::noatime mysql

4,启动环境配置文件:/etc/sysconfig/heartbeat

HA_BIN=/usr/lib64/heartbeat

四,启动heartbeat 服务(两台服务器均需执行):

service heartbeat start
然后查看日志:
tail -f /var/log/messages

五、测试Failover:

重启服务器db-89,检查db-94服务器上的DRBD状态,文件系统挂载状态,MySQL服务状态。
重启服务器db-94,检查db-89服务器上的DRBD状态,文件系统挂载状态,MySQL服务状态。

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号