`

Mysql, DRBD, Heartbeat 实现数据库复制和数据库系统HA

阅读更多

使用了两种技术来实现数据库之间的复制和高可用性(HA)
DRBD (http://www.drbd.org)和Heartbeat (http://www.linux-ha.org/),两个软件具体安装和配置网上有很多范例。我使用的debian系统,安装和配置起来非常方便。

1、由于一开始测试Mysql Cluster功能,我采用的Mysql是 Cluster集成版本 (http://www.mysql.com/products/database/cluster/),但是,我没有启用Cluster功能 (Cluster测试稍后推出)。你完全可以用apt-get install mysql-server来安装5.0标准版本。

2、DRBD的源码安装非常复杂,有兴趣的朋友可以自己测试。我采用debian的安装方法,英文比较好请看官方文档(http://www.drbd.org/users-guide/s-build-deb.html):
1. 安装module-assistant ,apt-get install module-assistant ;
2. 使用module-assistant 来配置DRBD,非常方便, module-assistant auto-install drbd8  (简写方式  m-a a-i drbd8);
3. 安装完成后,只要不出错就可以了,然后检查是否安装成功:
#lsmod |grep drbd
drbd                  178540  3
cn                      5344  1 drbd


4. 配置/etc/drbd.conf 文件类似如下,并且复制此文件到另外一台服务器上同样的地方( scp /etc/drbd.conf 10.0.10.2:/etc/drbd.conf ):
global {
usage-count yes;
}
common {
protocol C;
}
resource r0 {
syncer {
rate 100M;
al-extents 25;
}
on db1 {
device    /dev/drbd1;    
disk      /dev/hdd1;              #你要实现镜像的磁盘
address   10.0.10.1:7789;   #你的数据库1
meta-disk internal;
}
on db2 {
device    /dev/drbd1;
disk      /dev/hdd1;
address   10.0.10.2:7789;  #你的数据库2
meta-disk internal;
}
}


5. 两个服务器上分别执行 drbdadm create-md r0 ,创建,并格式化 系统 mkfs.ext3 /dev/hdd1 ,如果出错,执行 dd if=/dev/zero of=/dev/hdd1 bs=1M count=1  。

6. 两个服务器分别启动DRBD  #/etc/init.d/drbd restart
#cat /proc/drbd
1: cs:Connected st:Secondary/Primary ds:UpToDate/UpToDate C r---
这样就是启动成功了。自己mount文件系统,并且验证数据写入。(这里其实不需要太多的步骤,后面由 heartbeat来实现自动主备切换和数据库文件系统切换)

3、Heartbeat安装和配置,请参考其他文档: apt-get install heartbeat 。保持两个服务器 /etc/ha.d下 authkeys, ha.cf, haresource三个文件一致性。
more authkeys |grep -v ^#
auth 1
1 crc

more ha.cf |grep -v ^#
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility     local0
keepalive 2
deadtime 5
warntime 10
initdead 10
udpport 694
mcast eth1 225.0.10.1 694 1 0
auto_failback on
node    db1
node    db2


more haresources |grep -v ^#
db1  drbddisk Filesystem::/dev/drbd1::/usr/local/mysql/data::ext3 mysql 192.168.10.158
以上内容如果不理解,请看官方文档(http://downloads.mysql.com/docs/mysql-ha-scalability-en.pdf),注意你的mysql 数据文件的目录,我的是
/usr/local/mysql/data   。 ext3 后面有个mysql,其实是一个脚本文件,需要放在 /etc/ha.d/resource.d/ 下面,注意红色部分是你mysql的启动脚本:
 more resource.d/mysql

#!/bin/bash
##This script is inteded to be used as resource script by heartbeat
## 2010.09.20 by jiekechoo
#
###
. /etc/ha.d/shellfuncs
case "$1" in
start)
  res=`/etc/init.d/mysql.server start`
ret=$?
ha_log $res
exit $ret
;;
stop)
   res=`/etc/init.d/mysql.server stop`
ret=$?
ha_log $res
exit $ret
;;
status)
if [[ `ps -ef | grep '[m]ysqld'` > 1 ]] ; then
echo "running"
else
echo "stopped"
fi
;;
*)
echo "Usage: mysql.server {start|stop|status}"
exit 1
;;
esac
exit 0



启动Heartbeat  ,/etc/init.d/heartbeat restart

确认heartbeat 启动成功,远程访问 虚拟ip  192.168.10.158 的3306,看看是否成功。接着,在heartbeat主机上(ifconfig 看看虚拟IP在哪个机器上)执行  /usr/lib/heartbeat/hb_standby ,再去试试远程访问虚拟IP mysql服务。我的环境下,切换时间在5秒左右,对于前台web服务器,就是感觉卡了一下。

分享到:
评论

相关推荐

    Mysql+drbd+heartbeat+amoeba集群配置详解

    根据提供的信息,我们可以详细探讨如何构建一个基于MySQL、DRBD(Distributed Replicated Block Device)、Heartbeat以及Amoeba的高可用性和负载均衡的数据库集群系统。这种集群配置旨在提高系统的稳定性和数据的...

    Heartbeat MySQL DRBD构建高可用MySQL方案

    在IT领域,构建高可用性(High Availability, HA)的数据库系统是确保业务连续性和数据安全的关键步骤。本文将深入探讨如何使用Heartbeat、MySQL以及DRBD技术来构建一个高可用的MySQL解决方案。 首先,DRBD...

    Centos5.6 x86_64下部署安装DRBD+Heartbeat+MySQL

    通过本文档,用户可以学习如何在 Centos5.6 x86_64 操作系统下安装和配置 DRBD、Heartbeat 和 MySQL,实现服务器平台的高可用性和高性能。 一、DRBD 的部署安装 DRBD(Distributed Replicated Block Device)是一...

    MySQL高可用扩展集群应用之配置mysql+heartbeat+drbd实现Mysql写操作高可用.pdf

    MySQL高可用扩展集群是数据库系统中的重要组成部分,其目的是确保数据的持续可用性和服务的不间断。在本资料中,我们关注的是通过配置MySQL与Heartbeat和DRBD来实现写操作的高可用性。以下是详细的知识点说明: 1. ...

    Heartbeat DRBD MySQL 高可用方案搭建.docx

    本方案将详细讲解如何利用Heartbeat、DRBD和MySQL搭建一个高可用环境,确保数据库服务的稳定运行。 **Heartbeat** 是一种分布式集群管理软件,用于监控系统状态并在节点间进行故障转移。它通过心跳机制检测节点间的...

    Heartbeat+DRBD+MySQL高可用架构方案与实施过程细节

    ### Heartbeat+DRBD+MySQL高可用架构方案与实施过程细节 #### 互联网公司从初期到后期的数据库架构拓展 ...通过上述步骤,可以构建一个稳定的Heartbeat+DRBD+MySQL高可用集群,有效提高系统的稳定性和可用性。

    利用Heartbeat_DRBD搭建MySQL高可用环境

    在介绍如何利用Heartbeat和DRBD技术搭建MySQL高可用环境之前,需要先理解相关技术的基础知识以及它们是如何协同工作的。 DRBD(Distributed Replicated Block Device)是一种基于Linux内核的软件,它实现了网络镜像...

    mysql数据库高可用方案研究.docx

    构建具有高可用性的MySQL数据库系统,旨在减少因系统故障造成的停机时间,确保服务的稳定性和连续性。这对于希望在竞争激烈的市场环境中保持竞争力的企业尤为重要。 #### 三、现有高可用方案分析 ##### 3.1 MySQL+...

    DRBD使用手册封装了一些网友的介绍

    DRBD(Distributed Replicated Block Device)是一种在Linux操作系统中实现的数据复制技术,它提供了块设备级别的分布式复制功能,主要用于构建高可用性(High Availability, HA)集群。这个压缩包包含了几份关于DRBD...

    mysql高可用架构

    通过 Heartbeat、DRBD 和 MySQL 的组合,可以有效地提高数据库系统的可用性和可靠性。在实际部署过程中,需要注意各个组件之间的配合和协调,确保能够在各种故障场景下实现快速的自动恢复。此外,对于不同的应用场景...

    drdb学习资料,有heartbeat介绍

    1. **基础架构**:在两台服务器上安装DRBD,Heartbeat和MySQL,DRBD用于同步MySQL的数据,Heartbeat监控服务器状态并处理故障切换。 2. **配置DRBD**:创建DRBD资源,指定主从节点,设置网络通信参数和同步策略。 ...

    linux集群应用实战

    第25讲 配置mysql+heartbeat+drbd实现mysql写操作高可用 课程目标: 掌握mysql+heartbeat+drbd的配置方式,并可灵活运用 配置mysql+drbd实现数据镜像 配置mysql+heartbeat实现mysql数据库的高可用 测试数据镜像功能...

    drbd+nfs+heatbeat

    根据提供的信息,我们可以详细解析如何使用DRBD (Distributed Replicated Block Device) 结合 Heartbeat 和 NFS (Network File System) 来实现一个高可用性的文件系统解决方案。 ### DRBD + Heartbeat 实现 NFS 高...

    mha4mysql-node-0.56.tar.gz和mha4mysql-manager-0.56.tar

    MasterHA,也被称为MHA,是一个用于MySQL集群的开源工具,它能够提供数据库主从复制的故障切换和管理功能,确保在主节点出现故障时,系统能够快速无损地将服务切换到备份节点,从而降低业务中断的风险。 描述中提到...

    业界最具影响力MySQL精品文章荟萃(300篇)

    - **读写分离**:通过负载均衡技术实现数据库的高效利用。 - **性能优化**:针对Web应用的特点进行数据库层面的优化。 #### 十、MySQL高级特性与实践 - **模式匹配**:使用正则表达式等方法进行复杂查询。 - **HA...

    实战高可用MySQL MM + keepalived案例+环境搭建

    关于MySQL-HA,目前有多种解决方案,比如heartbeat、drbd、mmm、共享存储,但是它们各有优缺点。heartbeat、drbd配置较为复杂,需要自己写脚本才能实现MySQL自动切换,对于不会脚本语言的人来说,这无疑是一种脑裂...

    杨海朝_基于MySQL可扩展架构设计_更新

    - **Heartbeat+DRBD方式**:提供了一种更复杂的解决方案,可以在不同数据中心之间实现容灾,但维护成本较高。 - **Shard-Nothing方式**:完全不进行数据分片,所有数据都保存在一个中心节点上,这种方式适用于数据量...

    漫谈MySQL高可用架构

    以飞信为例,作为一款面向大众用户的即时通讯软件,其数据库系统需要支持海量用户的同时在线,并保证消息传递的及时性和准确性。在选择高可用方案时,飞信最终采用了结合MySQL Proxy与Galera Cluster的方式,既保证...

    linux运维必会Mysql企业面试题.docx

    - **DRBD(Distributed Replicated Block Device)**:用于创建网络化的块设备复制,结合HA软件如Heartbeat,可实现高可用性。 2. **读写分离**: - **MySQL+Proxy**:通过MySQL Proxy作为中间件,根据SQL语句...

    MySQL管理之道 性能调优、高可用与监控.part2.rar

    本书适合所有希望构建和管理高性能、高可用性的mysql数据库系统的开发者和dba阅读。 目录 · · · · · · 前言 第一部分 mysql5.5 新特性篇 第1章 mysql5.5介绍 2 1.1 性能上的显著改变 2 1.1.1 mysql5.5默认...

Global site tag (gtag.js) - Google Analytics