- 浏览: 292435 次
文章分类
- 全部博客 (148)
- Shell (2)
- Python (4)
- Java (31)
- Javascript (4)
- Android (7)
- SQL优化 (0)
- Linux (5)
- webOS (4)
- MySQL (18)
- memcach redis (1)
- memcach (0)
- redis (3)
- memcache (2)
- svn (1)
- UED (1)
- 网络 (1)
- virtual box (1)
- git (1)
- Gitosis (1)
- 云计算 (2)
- 12306 (1)
- google (1)
- spdy (1)
- nginx (1)
- tomcat (2)
- SSL (2)
- lucene (2)
- 空间搜索 (1)
- lzo (1)
- 数据压缩 (1)
- ios (1)
- maven (1)
- elasticsearch (1)
- scribe (1)
- flume (1)
- jni (1)
- jna (1)
- hadoop (2)
- 大数据 (1)
最新评论
-
aa80303857:
不错,学习了。互相关注一下。
Sitemesh学习笔记 -
xiaozang:
...
关于nginx的rewrite重写规则 -
coderuncle:
楼主有没有研究过cloudera flume和apache f ...
scribe,flume -
奔跑的犀牛:
...
linux下自动启动mysql -
lsn_1212:
网上装svn的资源太多了,这个挺好的,说的挺全的。
SVN Server安装部署攻略(Linux+SubVersion+Apache)
使用了两种技术来实现数据库之间的复制和高可用性(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 binlog分析工具
2013-01-26 22:45 1531https://github.com/tangfl/jbinl ... -
MySQL 百万级分页优化(Mysql千万级快速分页)
2012-12-07 22:30 0以下分享一点我的经验 一般刚开始学SQL的时候,会这样写 ... -
mysql共享表空间和独立表空间
2012-12-07 22:12 0innodb表的数据结构 innodb这种引擎 ... -
InnoDB之表空间
2012-12-07 22:12 0innoDB是MySQL的重要存储引擎,为数据提供了很好 ... -
MySQL 系统架构 说明
2012-12-07 22:07 898说明:本文转自 简朝阳(MySQL ACE)的 《MyS ... -
基于InnoDB存储引擎的mysql数据库表结构详解
2012-12-07 22:05 3600前言 前一篇文章基于InnoDB存储引擎的mysql数 ... -
MySQL技术内幕:InnoDB存储引擎读书笔记(下)
2012-12-07 21:58 1347第六章、锁 锁是区别文件系统和数据库系统的一个关键 ... -
MySQL技术内幕:InnoDB存储引擎读书笔记(中)
2012-12-07 21:54 1530第四章、表 4.1 ... -
MySQL技术内幕:InnoDB存储引擎读书笔记(上)
2012-12-07 21:53 1653第一章、mysql体系结构和存储引擎 1.1、数据 ... -
由12306.cn谈谈网站性能技术
2012-10-17 16:35 96112306.cn网站挂了,被 ... -
mysql水平切分
2012-10-17 13:22 1276在大中型项目中,在 ... -
mysql主从复制(半同步方式)
2012-08-15 12:22 3032一、半同步复制原理介 ... -
淘宝开源 mysql 插件,让mysql像nosql一样使用
2012-06-29 17:28 1209http://rdc.taobao.com/team/jm/a ... -
mysql的几个主要分支
2012-06-29 17:11 1364http://www.percona.com/software ... -
mysql 添加用户,并对数据库授权
2011-12-07 11:46 1039use mysql; insert into user ... -
MySQL server has gone away 问题的解决方法
2011-04-11 11:27 10141、应用程序(比如PHP)长时间的执行批量的MYSQL语句。 ... -
DRBD 提升了 MySQL 的集群能力
2011-03-02 23:00 1023前几天 MySQL 站点上 ... -
快速/简单实现mysql数据库集群(mysql cluster)
2011-03-02 22:58 1864最近一直在研究mysql的高可用性和负载均衡技术,对于数据库/ ... -
MySQL复制实现互为主从双机热备
2011-03-02 22:55 1867A B 为两台MySQL服务器,均开启二进制日志,数据库版本 ... -
Drbd + heartbeat + mysql replication来构建mysql的高可用性
2011-03-02 22:50 1407A(M)[192.168.33.11\192.168.43.1 ...
相关推荐
根据提供的信息,我们可以详细探讨如何构建一个基于MySQL、DRBD(Distributed Replicated Block Device)、Heartbeat以及Amoeba的高可用性和负载均衡的数据库集群系统。这种集群配置旨在提高系统的稳定性和数据的...
在IT领域,构建高可用性(High Availability, HA)的数据库系统是确保业务连续性和数据安全的关键步骤。本文将深入探讨如何使用Heartbeat、MySQL以及DRBD技术来构建一个高可用的MySQL解决方案。 首先,DRBD...
通过本文档,用户可以学习如何在 Centos5.6 x86_64 操作系统下安装和配置 DRBD、Heartbeat 和 MySQL,实现服务器平台的高可用性和高性能。 一、DRBD 的部署安装 DRBD(Distributed Replicated Block Device)是一...
MySQL高可用扩展集群是数据库系统中的重要组成部分,其目的是确保数据的持续可用性和服务的不间断。在本资料中,我们关注的是通过配置MySQL与Heartbeat和DRBD来实现写操作的高可用性。以下是详细的知识点说明: 1. ...
本方案将详细讲解如何利用Heartbeat、DRBD和MySQL搭建一个高可用环境,确保数据库服务的稳定运行。 **Heartbeat** 是一种分布式集群管理软件,用于监控系统状态并在节点间进行故障转移。它通过心跳机制检测节点间的...
### Heartbeat+DRBD+MySQL高可用架构方案与实施过程细节 #### 互联网公司从初期到后期的数据库架构拓展 ...通过上述步骤,可以构建一个稳定的Heartbeat+DRBD+MySQL高可用集群,有效提高系统的稳定性和可用性。
在介绍如何利用Heartbeat和DRBD技术搭建MySQL高可用环境之前,需要先理解相关技术的基础知识以及它们是如何协同工作的。 DRBD(Distributed Replicated Block Device)是一种基于Linux内核的软件,它实现了网络镜像...
构建具有高可用性的MySQL数据库系统,旨在减少因系统故障造成的停机时间,确保服务的稳定性和连续性。这对于希望在竞争激烈的市场环境中保持竞争力的企业尤为重要。 #### 三、现有高可用方案分析 ##### 3.1 MySQL+...
DRBD(Distributed Replicated Block Device)是一种在Linux操作系统中实现的数据复制技术,它提供了块设备级别的分布式复制功能,主要用于构建高可用性(High Availability, HA)集群。这个压缩包包含了几份关于DRBD...
通过 Heartbeat、DRBD 和 MySQL 的组合,可以有效地提高数据库系统的可用性和可靠性。在实际部署过程中,需要注意各个组件之间的配合和协调,确保能够在各种故障场景下实现快速的自动恢复。此外,对于不同的应用场景...
1. **基础架构**:在两台服务器上安装DRBD,Heartbeat和MySQL,DRBD用于同步MySQL的数据,Heartbeat监控服务器状态并处理故障切换。 2. **配置DRBD**:创建DRBD资源,指定主从节点,设置网络通信参数和同步策略。 ...
第25讲 配置mysql+heartbeat+drbd实现mysql写操作高可用 课程目标: 掌握mysql+heartbeat+drbd的配置方式,并可灵活运用 配置mysql+drbd实现数据镜像 配置mysql+heartbeat实现mysql数据库的高可用 测试数据镜像功能...
根据提供的信息,我们可以详细解析如何使用DRBD (Distributed Replicated Block Device) 结合 Heartbeat 和 NFS (Network File System) 来实现一个高可用性的文件系统解决方案。 ### DRBD + Heartbeat 实现 NFS 高...
MasterHA,也被称为MHA,是一个用于MySQL集群的开源工具,它能够提供数据库主从复制的故障切换和管理功能,确保在主节点出现故障时,系统能够快速无损地将服务切换到备份节点,从而降低业务中断的风险。 描述中提到...
- **读写分离**:通过负载均衡技术实现数据库的高效利用。 - **性能优化**:针对Web应用的特点进行数据库层面的优化。 #### 十、MySQL高级特性与实践 - **模式匹配**:使用正则表达式等方法进行复杂查询。 - **HA...
关于MySQL-HA,目前有多种解决方案,比如heartbeat、drbd、mmm、共享存储,但是它们各有优缺点。heartbeat、drbd配置较为复杂,需要自己写脚本才能实现MySQL自动切换,对于不会脚本语言的人来说,这无疑是一种脑裂...
- **Heartbeat+DRBD方式**:提供了一种更复杂的解决方案,可以在不同数据中心之间实现容灾,但维护成本较高。 - **Shard-Nothing方式**:完全不进行数据分片,所有数据都保存在一个中心节点上,这种方式适用于数据量...
以飞信为例,作为一款面向大众用户的即时通讯软件,其数据库系统需要支持海量用户的同时在线,并保证消息传递的及时性和准确性。在选择高可用方案时,飞信最终采用了结合MySQL Proxy与Galera Cluster的方式,既保证...
- **DRBD(Distributed Replicated Block Device)**:用于创建网络化的块设备复制,结合HA软件如Heartbeat,可实现高可用性。 2. **读写分离**: - **MySQL+Proxy**:通过MySQL Proxy作为中间件,根据SQL语句...
本书适合所有希望构建和管理高性能、高可用性的mysql数据库系统的开发者和dba阅读。 目录 · · · · · · 前言 第一部分 mysql5.5 新特性篇 第1章 mysql5.5介绍 2 1.1 性能上的显著改变 2 1.1.1 mysql5.5默认...