MySQL数据库高可用性方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MySQL数据库高可用性方案
一、综述
数据库位于现代企业应用的核心,它储存了组织机构中最有价值的资产,包括客户信息、产品信息、订单信息和历史数据。另外,组织机构依赖于数据库来运行他们关键业务应用。几小时甚至是几分钟的宕机,往往会造成收入的大量流失和客户的不满。因此,保证数据库高可用是所有组织机构优先考虑的事情。对于希望在当今瞬息万变的经济环境立于不败之地并取得成功的企业来说,构建一个具有高可用性的IT 基础架构至关重要。
二、完成目标通过技术手段实现mysql数据库的高可用性,从而减少停工时间保证服务的正常稳定运行。
三、方案建设概要
1、现有高可用方案分析
Mysql作为一款开源软件经过多年的发展,已经形成很多套实现高可用方案,并且均都投入生产使用,主要为这几种:mysql + replication 、mysql + heartbeat + 存储、mysql + drbd + heartbeat 、mysql cluster。以下将依次对各个方案进行分析。
2、Mysql+replication2.1 概述
Mysql的复制(Replication)是一个异步的复制,从一个
Mysql instace(称之为Master)复制到另一个Mysql instance(称之Slave)。实现整个复制操作主要由三个进程完成的,其中两个进程在Slave(Sql进程和IO进程),另外一个进程在Master(IO进程)上。
2.2 Mysqlreplication方案拓扑图
Mysql+replication主从复制拓扑图
方案具体解释:
要实施复制,首先必须打开Master端的binary log(bin-log)功能,否则无法实现。因为整个复制过程实际上就是Slave从Master端获取该日志然后再在自己身上完全顺序的执行日志中所记录的各种操作。
2.3 Mysql+replication优缺点优点:易实施、成本低、经济实惠、后期维护方便,且由于整套系统架构简单,不涉及到存储及双机软件,因此系统出现故障率很低。方便做到读写分离。
缺点:在主机出现问题后不能自动切换到备份机,需要人工干涉更改IP地址。
3、mysql +heartbeat + 存储3.1 概述
HA双机热备软件将操作环境推广到一种群集操作系统。群集是一种松散耦合的计算节点集合,提供网络服务或应用程序(包括数据库、web 服务和文件服务)的单一客户视图。
HA双机热备软件的目标是:
1:减少或消灭由软件或硬件故障引起的系统停机时间
2:提供增强的系统可用性,能够不必关掉整个群集就可执行维护
3.2 Mysql+heartbeat方案拓扑图
方案具体解释:
本方案采用高可靠性的HA双机热备软件来保证邮件服务的高稳定性及连续性。默认情况下两台mysql机器只有一台机器在工作,当工作机mysql主机出现问题后,系统将自动切换到mysql备机上继续提供服务,而整个过程只需要30秒的时间,当mysql主机故障维修完毕后,服务将自动切换回mysql主机上继续提供服务。
3.3 Mysql+heartbeat优缺点优点:安全性、稳定性高,出现故障系统将自动切换,从而保证服务的连续性。
缺点:相对mysql replication成本提高,需要有存储设备,同时由于多了存储设备及双机软件。
4、Mysql+drbd+heartbeat
4.1 概述
此方案除了刚刚介绍完的heartbeat外,主要用了DRBD这个工具,DRBD是一种块设备,可以被用于高可用(HA)之中.它类似于一个网络RAID-1功能.当你将数据写入本地文件系统时,数据还将会被发送到网络中另一台主机上.以相同的形式记录在一个文件系统中.
本地(主节点)与远程主机(备节点)的数据可以保证实时同步.当本地系统出现故障时,远程主机上还会保留有一份相同的数据,可以继续使用.
4.2 Mysql+drbd+heartbeat方案拓扑图
4.3 Mysql+drbd+heartbeat优缺点优点:安全性、稳定性高,出现故障系统将自动切换,从而保证服务的连续性,相对mysql+heartbeat+存储来说对大优点是节约了存储这个硬件设备。
缺点:mysql主机宕机,切换到备机,备机接管服务,待主机修复完配置failback机制的话会发生脑裂情况,需要手工执行命令进行主机接管。
5、Mysqlcluster
5.1 概述
MySQL集群是一种分布式设计,目标是要达到没有任何单点故障点。因此,任何组成部分都应该拥有自己的内存和磁盘。任何共享存储方案如网络共享,网络文件系统和SAN设备是不推荐或不支持的。通过这种冗余设计,MySQL声称数据的可用度可以达到99。999%。
5.2 Mysqlcluster方案拓扑图
5.3 Mysqlcluster优缺点优点:安全性、稳定性高,可以在线增加节点,官方声称可用度可达到99.999%。
缺点:至少三个节点,对主机的数量又要求,无形增加方案成本、对于数据节点要求内存一直、对于引擎只能使用ndb、不支持外键功能、管理复杂
四、Mysql+heartbeat+存储方案具体实施步骤环境:nfs:192.168.184.103 as4u7
主机-cm5.3:192.168.184.124 10.0.0.1
备机-as5u3:192.168.184.102 10.0.0.2
注意:关闭防火墙,selinux
第一块:nfs的搭建(在192.168.184.103上面)
[root@oracle ~]# vi /etc/exports
/data 192.168.184.*(rw,sync,no_root_squash)