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 ...
随机推荐
- Java 使用线程方式Thread和Runnable,以及Thread与Runnable的区别
一. java中实现线程的方式有Thread和Runnable Thread: public class Thread1 extends Thread{ @Override public void r ...
- DBMS_OUTPUT in SQL Developer
I fell sad for all the programmers(including) that has to SQL Developer as sql IDE. However, if you ...
- .NET 开发快捷键大全
序号 快捷键 说明 1 Ctrl + Tab 切换当前编辑视图 2 Ctrl + Shift + Tab 反向切换当前编辑视图 3 F7 将窗体设计视图转成其代码视图 4 Shift + F7 将代码 ...
- SQL语句之备份表
SELECT INTO 语句:表示从一个表中选取数据,然后把数据插入另一个表中,常用来备份一张表 1.全表结构备份: SELECT * INTO new_table_name FROM old_tab ...
- day3 字典,集合,文件
一.深浅copy 浅copy只copy第一层,不copy第二层.copy后,第一层指向不同内存地址.第二层指向相同的内存地址. 导入copy模块,deepcopy深copy.deepcopy后,均指向 ...
- [AIR] 获取U盘,打开U盘
示例: 获取存储卷的方法: package com.controls { import flash.events.StorageVolumeChangeEvent; import flash.file ...
- APP开发和web开发的区别
1.web开发: 1.浏览器直接访问,协议是http,基本都是PC访问,也就是在家和办公场合,网络比较好. 2.web如果多个服务集成的话使用的是ESB来统一集成 2.APP开发 1.手机app客户端 ...
- java中abstract详解
Abstract(抽象)可以修饰类.方法 如果将一个类设置为abstract,则此类必须被继承使用.此类不可生成对象,必须被继承使用. Abstract可以将子类的共性最大限度的抽取出来,放在父类中, ...
- Android Studio 修改字体
修改字体(font)大小(size) 本文引用: http://blog.csdn.net/caroline_wendy/article/details/21876727 Android St ...
- Android动态加载学习笔记(一)
前言 上周五DPAndroid小分队就第二阶段分享内容进行了讨论,结果形成了三个主题:性能优化.动态加载.内核远离.我选择的是第二项——动态加载.在目前的Android开发中,这一部分知识还是比较流行 ...