MySQL的高可用设计方案的记录
一.看下常用的MySQL的高可用方案:
对上图的说明:
1)HeartBeat通过串口线或者以太网网线直连网卡对对端的服务做健康检查,并负责执行Drbd,MySQL,vip等资源的自动切换。
2)data-1-2作为data-1-1高可用的热本分,正常情况下data-1-1提供一个分区sdb1给MySQL使用。
3)物理磁盘做RAID10或者是RAID0,根据性能和冗余需求来进行选择。
4)服务器之间,服务器和交换机之间都是双千兆网卡绑定
5)应用服务器(包括不限于web等)通过VIP访问MySQL主库。通过不同的VIP访问负载均衡的从库池。
6)MySQL的数据在DRBD分区1中
7)MySQLslave1,MySQLslave2通过VIP和主库MySQL进行同步。
以上高可用为MySQL多从的模式,本例属于一主二从。
二.MySQL主库宕机切换过程架构拓扑:
对上图的说明:
1)data-1-2的HeartBeat通过串口线或者是独立网线连接线对data-1-1做健康检查,发现data-1-1挂了后,自动在data-1-2上启动drbd,MySQL等服务以及负责VIP的动态切换,确保主库业务被正常接管,自动的对外提供服务。
2)应用服务器(包括不限于web等)通过VIP访问MySQL的主库,通过不同的VIP访问负载均衡的从库池。
3)物理磁盘做RAID10或者是RAID0,根据性能和冗余需求来选。
4)服务器之间,服务器和交换机之间都是千兆网卡绑定。
5)data-1-1上的MySQL在data-1-1分区1中,故障后在data-1-2上同时实现高可用的切换。
6)故障后data-1-2的MySQLslave1,MySQLslave2通过VIP和data-1-2上的MySQL主库重新同步。
三.主库宕机切换新主后架构拓扑:
提示:经过高可用方案切换后的数据库架构,就变成一个常规的主从架构了,此时,新主库就从热备库变成了单点服务了。因此,我们要尽快的修复原来的主库或者为主库增加新的热备库,以避免切换后的新主库宕机对业务带来的影响。
MySQL的高可用设计方案的记录的更多相关文章
- 分布式数据存储 - MySQL主从复制高可用方案
前面几篇文章说道MySQL数据库的高可用方案主从复制.主从复制的延迟产生原因.延迟检测及延迟解决方案(并未从根本上解决),这种主从复制方案保证数据的冗余的同时可以做读写分离来分担系统压力但是并非是高可 ...
- Keepalived+MySQL实现高可用
MySQL的高可用方案有很多,比如Cluster,MMM,MHA,DRBD等,这些都比较复杂,我前面的文章也有介绍.最近Oracle官方也推出了Fabric.有时我们不需要这么复杂的环境,这些方案各有 ...
- MySQL之高可用MHA部署
先说一下大概原理 虚拟机A ip为10.0.3.92 作为master 虚拟机B ip为10.0.3.102 作为slave1 虚拟机C ip为10.0.3.103 作为 ...
- Oracle和MySQL的高可用方案对比【转】
关于Oracle和MySQL的高可用方案,其实一直想要总结了,就会分为几个系列来简单说说.通过这样的对比,会对两种数据库架构设计上的细节差异有一个基本的认识.Oracle有一套很成熟的解决方案.用我在 ...
- Oracle Compute云快速搭建MySQL Keepalived高可用架构
最近有个客户在测试Oracle Compute云,他们的应用需要使用MySQL数据库,由于是企业级应用一定要考虑高可用架构,因此有需求要在Oracle Compute云上搭建MySQL高可用集群.客户 ...
- MySQL MHA 高可用集群部署及故障切换
MySQL MHA 高可用集群部署及故障切换 1.概念 2.搭建MySQL + MHA 1.概念: a)MHA概念 : MHA(MasterHigh Availability)是一套优秀的MySQL高 ...
- 基于keepalived搭建MySQL的高可用集群
MySQL的高可用方案一般有如下几种: keepalived+双主,MHA,MMM,Heartbeat+DRBD,PXC,Galera Cluster 比较常用的是keepalived+双主,MHA和 ...
- 搭建MySQL MHA高可用
本文内容参考:http://www.ttlsa.com/mysql/step-one-by-one-deploy-mysql-mha-cluster/ MySQL MHA 高可用集群 环境: Linu ...
- mysql实现高可用架构之MHA
一.简介 MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供了 automating master failover 功能.MHA 在监控到 mas ...
随机推荐
- Python error: Unable to find vcvarsall.bat
在安装一些Python模块时,大部分是cpython写的模块时会发生如下错误 error: Unable to find vcvarsall.bat.先前的一篇文章:在Windows上安装Scrapy ...
- SQL分页语句
有关分页 SQL 的资料很多,有的使用存储过程,有的使用游标.本人不喜欢使用游标,我觉得它耗资.效率低:使用存储过程是个不错的选择,因为存储过程是经过预编译的,执行效率高,也更灵活.先看看单条 SQL ...
- C++程序设计(关于函数中数组传递的一点心得)
题目: 10个学生考完期末考试评卷完成后,老师需要划出及格线,要求如下: (1) 及格线是10的倍数: (2) 保证至少有60%的学生及格: (3) 如果所有的学生都高于60分,则及格线为60分: ...
- [PHP] - Laravel - Route路由
前言 这里使用的是Laravel 5 PHP Laravel的路由比较强悍,但也正因如此,不统一而容易凌乱.比如在路由中可以直接写方法操作(破坏封装啊) 以下是个人学习的例子,不供参考 路由中的直接方 ...
- Android引用项目出现ClassNotFoundException
Android中在引用其他工程,尤其是github中的相关库时,如果引用关系设置的不对,很容易出现ClassNotFoundException,例如下面的异常信息 07-26 12:47:51.549 ...
- js封装、简单实例源码记录
1.运动封装:doMove ( obj, attr, dir, target, endFn ) 加入回调.&&.||用法注释 <script> var oBtn1 = d ...
- mysql_fetch_row,mysql_fetch_array,mysql_fetch_object,mysql_fetch_assoc的区别!
php从mysql中访问数据库并取得数据,取得结果的过程中用到好几个类似的方法,区别及用法值得区分一下,看下面的代码 代码如下: <?php $link=mysql_connect('loc ...
- android 代码设置progressBar 颜色
void test() { LinearLayout linearLayout = new LinearLayout(this); ProgressBar progressBar = new Prog ...
- 评论alpha版本发布
讲解顺序: 1. 新蜂:俄罗斯方块 俄罗斯方块已经完成了核心的游戏部分,可以流畅的进行游戏,经验值功能也已经完成,目前进度很好:不足之处主要有:后续的显示内容还没完成,所以界面空出来很多板块,alp ...
- [SQL]Sql转至问题
HRMS Name InsuranceMoney InsuranceName -------------------- -------------------- ------------------- ...