Heartbeat+DRBD+MySQL高可用架构方案与实施过程细节 【转】
恭喜郑东旭同学51CTO博客大赛获奖,特转载此文与博友们分享!
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的健康检查功能,
架构说明:
一主多从最常用的架构,多个从库可以使用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
|