十年CDP,专业治疗服务器“脑裂”问题

什么是“脑裂”?

脑残大家都知道,“脑裂”是个什么鬼?肯定不是那本惊悚故事集啦。“脑裂”是高可用方案(HA)中出现的一种服务器故障,在“双机热备”高可用(HA)系统中,当联系2个节点的“心跳线”断开时,本来为一整体、动作协调的HA系统,就分裂成为2个独立的个体。由于相互失去了联系,都以为是对方出了故障,2个节点上的HA软件像“裂脑人”一样,“本能”地争抢“共享资源”、争起“应用服务”,就会发生严重后果:或者共享资源被瓜分、2边“服务”都起不来了;或者2边“服务”都起来了,但同时读写“共享存储”,导致数据损坏(常见如数据库轮询着的联机日志出错)。
服务器“脑裂”的危害

服务器“脑裂”容易引起服务器集群逻辑关系混乱,导致主、备服务器误认为对方宕机而同时接管对方的业务,同时占用共享的文件系统,造成数据库争抢资源,引起数据库表文件的损坏,从而导致数据库服务的中断,对外业务暂停。

据悉,2015年10月,某商业银行核心系统曾因服务器集群的心跳通信异常,引发“脑裂”故障,导致数据库文件损坏,数据库发生逻辑错误而停止对外服务,造成该行柜面和渠道业务较长时间中断。为了防止此类事件再次发生,银监会特意下发(2015)175号办公厅文件提醒各银监局和银行注意风险防范。
出现“脑裂”怎么办?

脑裂可以防范,经验丰富的运维工程师会建议采用下面的措施来防范“脑裂”的发生:1. 添加冗余的心跳线,例如双线条线。这样能够尽量减少“裂脑”发生的机会。2. 启用磁盘锁。3. 设置仲裁机制。

但是脑裂无法根除,发生脑裂时即使是所有的节点都可以工作,业务也会被迫中断。既然无法根除,那么我们就要面对。这就需要在脑裂之后可以有一种预案以最快的速度恢复业务!

有人会疑问:“都脑裂了,还咋最快的恢复业务?”,答案就四个字“任意回退”!HA系统正常时是同一个大脑在指挥,脑裂后的各自瞎指挥最终造成了数据的不可用。而业务的长时间中断就是因为这种数据的不可用所造成的。

找到问题的原因,就基本上有了解决问题的办法。既然脑裂所造成的业务停顿是因为数据的不可用,那么要想恢复业务让数据重新可用就行了。如何让数据重新可用?让时光回到脑裂前的那一刻,一切都会美好起来。那时候数据库还起的起来,最后一笔业务数据还在。

但是任何人都无法预知脑裂的发生,而脑裂前的那一刻是哪一刻也没有软件预先知道后在那里设置一个回退点。这就需要有一种保护机制将数据变化的所有点全部记录下来,这些所有点必然包含了“脑裂前的那一刻”这个点。这种保护技术就是CDP,通过持续的数据保护,可以做到任意时间点回退。

和力记易十年磨一剑,采用基于主机嵌入式分析的方式对结构化数据进行CDP保护,在记录所有回退点的同时还分析了数据库的内部逻辑结构,保证了每个回退点都是数据库的可用点。可谓居家旅行,专治脑裂,必备良品!

本文转自d1net(转载)

时间: 2024-09-20 05:35:40

十年CDP,专业治疗服务器“脑裂”问题的相关文章

高可用方案之脑裂问题探讨(原创)

关于脑裂我们先来看看红帽的文档是如何解释的 # What does "split-brain" mean? "Split brain" is a condition whereby two or more computers or groups of computers lose contact with one another but still act as if the cluster were intact. This is like having two

MySQL集群节点宕机,数据库脑裂!如何排障?

作者介绍 王晶,中国移动DBA,负责"移动云"业务系统的数据库集成架构设计.运维.优化等工作:擅长技术领域MySQL,获Oracle颁发的"MySQL DBA"官方认证,熟悉MySQL复制结构.MHA.cluster等多种架构及运维优化.   发现故障的时间正值大年初二,在各种铺天盖地的拜年信息和微信红包之中,我发现了手机上的这条告警通知:   PROBLEM:Disaster: Galera cluster has node down.我生产环境的Galera集群

RabbitMQ脑裂

在RabbitMQ3.4.x中会出现错误的网络分区检测(某种意义上可以称之为脑裂)的现象,本文通过实验验证此现象,愿小伙伴们少走弯路. Preview 网上有两篇帖子(需要翻墙) https://groups.google.com/forum/#!topic/rabbitmq-users/dt8VFhMb2zM https://groups.google.com/forum/#!topic/rabbitmq-users/06OQkYtLJd8 陈述了脑裂的现象. 帖子中描述现象: Hey Fol

消息队列的exclusive consumer功能是如何保证消息有序和防止脑裂的

一般来说,消息队列都会保证queue当中的消息的顺序.然而如果有多个consumer同时消费同一个queue,那么这时就不能保证的消息的顺序性. 有时候,消息的顺序是非常重要的,为了能顺序的消费消息,我们只能启动一个consumer来消费这个queue.但是这样做的问题就是,如果这个consumer宕调了话,消息就不能得到处理了,consumer的可用性不能得到保证. 那么如何提高consumer的可用性那,通常的做法是启动多个consumer,让其中一个consumer成为master,其他的

drbd发生脑裂恢复

发生脑裂恢复步骤如下: Master执行命令: drbdadm  secondary r0 drbdadm  --  --discard-my-data  connect r0 Backup上执行命令: drbdadm  connect r0

第十八章-Delphi客户服务器应用开发(二)(2)

BDE在设计上是面向对象的.在运行时,数据库应用通过建立各种类型的BDE 对象与BDE交互,这些运行的对象用于操作数据库实体如数据库表.查询.BDE的扩展的API支持C.C++.Delphi等对数据库引擎的访问. 在Delphi应用程序中访问数据库是通过调BDE的API函数.Delphi在库单元BDE中提供了大约三十多个API函数和各种BDE消息和结构.由于Delphi应用程序的开发是基于部件的,有关BDE API的调用都嵌入了Delphi可视部件类库,因此,建立数据库应用时可以不必管BDE A

教大家十五招提升服务器安全等级

  安全十五招,具体介绍请看下文. 1.经常更改系统管理员密码.---->且密码最好是大小写都有 2.定期更新系统补丁.---->开启自动更新,并设定到晚上重启. 3.检查系统是否多出超级管理员,检查是否有帐号被克隆在"开始">运行中输入"cmd">在输入 net localgroup administrators 4.在"开始">运行中输入"msconfig"检查随机启动的程序和服务,关掉不必要

超过百分之十的互联网域名系统服务器仍存在安全隐患

中介交易 SEO诊断 淘宝客 云主机 技术大厅 根据在全球范围内公开进行的一项互联网服务器安全为内容的调查显示,超过百分之十的互联网域名系统(DNS)服务器仍存在安全隐患,时刻有被遭受攻击可能. 受委托进行这一年度调查的Infoblox公司DNS专家Cricket Liu表示,当前互联网域名系统服务器的安全性能仍然十分脆弱,尽管此前数个月以来DNS漏洞不断得到封堵和修正. "据估计全球域名系统服务器总量在1190万台左右,而且超过40%的允许任一用户随意访问.在这些对外开放的域名服务器当中,有四

第十八章-Delphi客户服务器应用开发(一)(2)

18.1.1.4 中间件概述 中间件是一个软件层,它保护应用程序开发人员避免受到各种通信协议.操作系统以及数据库管理系统的影响.它为建立可与以前沿袭下来的应用程序并存的新应用程序打下了基础. 中间件有好几种类型.它们包括应用程序设计接口(API),远程过程调用(RPC),网络通信.数据库访问以及计算机辅助软件工程(CASE)工具. 由于客户/服务器系统需要集成各种不同结构的机器和技术,因而应用程序设计相当复杂.选择适当的中间件可以消除程序设计人员为每个单独协议和操作系统编写代码的麻烦. 18.1