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

恭喜郑东旭同学51CTO博客大赛获奖,特转载此文与博友们分享!

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

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

互联网公司从初期到后期的数据库架构拓展

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

Heartbeat介绍

官方站点:http://linux-ha.org/wiki/Main_Page

heartbeat可以资源(VIP地址及程序服务)从一台有故障的服务器快速的转移到另一台正常的服务器提供服务,heartbeat和keepalived相似,heartbeat可以实现failover功能,但不能实现对后端的健康检查

DRBD介绍

官方站点:http://www.drbd.org/

DRBD(DistributedReplicatedBlockDevice)是一个基于块设备级别在远程服务器直接同步和镜像数据的软件,用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。它可以实现在网络中http://www.mysql.com/

MySQL是一个开放源码的小型关联式数据库管理系统。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库

heartbeat和keepalived应用场景及区别

很多网友说为什么不使用keepalived而使用长期不更新的heartbeat,下面说一下它们之间的应用场景及区别

1、对于web,db,负载均衡(lvs,haproxy,nginx)等,heartbeat和keepalived都可以实现

2、lvs最好和keepalived结合,因为keepalived最初就是为lvs产生的,(heartbeat没有对RS的健康检查功能,Heartbeat+DRBD+MySQL高可用架构方案与实施过程细节 【转】

架构说明:

一主多从最常用的架构,多个从库可以使用lvs来提供读的负载均衡

解决一主单点的问题,当主库宕机后,可以实现主库宕机后备节点自动接管,所有的从库会自动和新的主库进行同步,实现了mysql主库的热备方案

(2)、系统环境

系统环境

系统

CentOSrelease5.8

系统位数

X86

内核版本

2.6.18

软件环境

heartbeat

heartbeat-2.1.3-3

drbd

drbd83-8.3.13-2

mysql

5.5.27

(3)、部署环境

角色

IP

VIP

192.168.4.1(内网提供服务的地址)

master1

eth0:(数据库无公网地址)

eth1:192.168.4.2/16(内网)

eth2:172.16.4.2/16(心跳线)

eth3:172.168.4.2/16(DRBD千兆数据传输)

master2

eth0:(数据库无公网地址)

eth1:192.168.4.3/16(内网)

eth2:172.16.4.3/16(心跳线)

eth3:172.168.4.3/16(DRBD千兆数据传输)

slave1

eth1:192.168.4.4/16(外网)

说明:从库通过主库的VIP进行主从同步replication

需求:

1、主库master1宕机后master2自动接管VIP以及所有从库

2、在master2接管时,不影响从库的主从同步replication

(4)、主库服务器数据分区信息

磁盘

容量

分区

挂载点

说明

/dev/sdb

1G

/dev/sdb1

/data/

存放数据

/dev/sdb2

存放http://blog.51cto.com/contest/college2013/1293405