Drbd+heartbeat+mysql的测试报告

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

一、原因分析

1、目前架构分析图:

wKioL1gasQ6i4sKMAAU4ouVcKQE537.png-wh_50

                             

2、原因分析

由于平台业务网络不稳定,DRBD的心跳指向网关题导,在网络出现问题导致脑裂,出现脑裂有两种结果:

1、共享资源被瓜分、两边“服务”都起不来了;

2、两边“服务”都起来了,但同时读写“共享存储”,导致数据损坏

 

3、导致脑裂发生的原因

    1、高可用服务器之间心跳链路故障,导致无法相互检查心跳

2、高可用服务器上开启了防火墙,阻挡了心跳检测

3、高可用服务器上网卡地址等信息配置不正常,导致发送心跳失败

4、其他服务配置不当等原因,如心跳方式不同,心跳广播冲突,软件BUG等

 

 

二、测试目的

wKiom1gasTaiBQtbAAOOEm_V_MQ067.png-wh_50

通过使用一根专线作为心跳线,是否出现脑裂的两种情况及对服务的影响,改造后的结构图:

三、测试过程

1、停止MS上的心跳线

2、停止heartbeat服务

四、测试现象

   1、停止心跳线,资源不发生切换,但外网无法通过VIP访问,内网正常,需要执行arp

   2、停止S的上的服务(drbd,heartbeat)资源不切换,不对业务产生影响

   3、停止M上的服务,资源正常切换(autofail=off)

   4、DB服务停止,通过脚本检测,服务资源切换

   5、MS一根心跳线时,S心跳停止恢复后会抢占资源,若可以添加两根直连线,可以避免

五、测试结果

    使用专线作为心跳线,网络更加稳定,在写大量的数据时候,通过3层交换传输到对端,避免数据阻塞

六、测试建议

    根据目前的平台业务架构,建议添加两根专线做为心跳线,提高网络的健壮性,避免因为心跳导致资源抢占或资源都放弃行为。

七、防止脑裂一些方案

1、加冗余线路

2、检测到裂脑时,强行关闭心跳检测(远程关闭主节点,控制电源的电路fence)

3、做好脑裂的监控报警

 

 

   

    本文转自 DBAspace 51CTO博客,原文链接:http://blog.51cto.com/dbaspace/1868844




相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
25天前
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
20 1
|
25天前
|
Java 关系型数据库 数据库连接
Mybatis+MySQL动态分页查询数据经典案例(含代码以及测试)
Mybatis+MySQL动态分页查询数据经典案例(含代码以及测试)
24 1
|
2月前
|
监控 关系型数据库 MySQL
HeartBeat监控Mysql状态
HeartBeat监控Mysql状态
|
1月前
|
监控 关系型数据库 MySQL
Flink CDC产品常见问题之使用3.0测试mysql到starrocks启动报错如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
|
2月前
|
关系型数据库 MySQL Java
Mysql专栏 - 线上调优与压力测试
Mysql专栏 - 线上调优与压力测试
85 0
|
4月前
|
关系型数据库 MySQL Shell
MySQL【实践 01】Linux 环境 MySQL 数据库备份 shell 脚本(脚本源码及说明+定时任务配置+数据库恢复测试)粘贴可以
MySQL【实践 01】Linux 环境 MySQL 数据库备份 shell 脚本(脚本源码及说明+定时任务配置+数据库恢复测试)粘贴可以
50 0
|
4月前
|
存储 关系型数据库 MySQL
MySQL批量插入测试数据的几种方式
MySQL批量插入测试数据的几种方式
62 0
MySQL批量插入测试数据的几种方式
|
5月前
|
关系型数据库 MySQL 测试技术
软件测试|MySQL BETWEEN AND:范围查询详解
软件测试|MySQL BETWEEN AND:范围查询详解
221 0
|
5月前
|
关系型数据库 MySQL 测试技术
软件测试|MySQL LIKE:深入了解模糊查询
软件测试|MySQL LIKE:深入了解模糊查询
41 0
|
5月前
|
关系型数据库 MySQL 测试技术
软件测试|MySQL WHERE条件查询详解:筛选出需要的数据
软件测试|MySQL WHERE条件查询详解:筛选出需要的数据
33 0