keepalived中的脑裂

    在高可用(HA)系统中,当联系2个节点的“心跳线”断开时,本来为一整体、动作协调的HA系统,就分裂成为2个独立的个体。由于相互失去了联系,都以为是对方出了故障。两个节点上的HA软件像“裂脑人”一样,争抢“共享资源”、争起“应用服务”,就会发生严重后果——或者共享资源被瓜分、2边“服务”都起不来了;或者2边“服务”都起来了,但同时读写“共享存储”,导致数据损坏(常见如数据库轮询着的联机日志出错)。 对付HA系统“裂脑”的对策,目前达成共识的的大概有以下几条: 1)添加冗余的心跳线,例如:双线条线(心跳线也HA),尽量减少“裂脑”发生几率; 2)启用磁盘锁。正在服务一方锁住共享磁盘,“裂脑”发生时,让对方完全“抢不走”共享磁盘资源。但使用锁磁盘也会有一个不小的问题,如果占用共享盘的一方不主动“解锁”,另一方就永远得不到共享磁盘。现实中假如服务节点突然死机或崩溃,就不可能执行解锁命令。后备节点也就接管不了共享资源和应用服务。于是有人在HA中设计了“智能”锁。即:正在服务的一方只在发现心跳线全部断开(察觉不到对端)时才启用磁盘锁。平时就不上锁了。 3)设置仲裁机制。例如设置参考IP(如网关IP),当心跳线完全断开时,2个节点都各自ping一下参考IP,不通则表明断点就出在本端。不仅“心跳”、还兼对外“服务”的本端网络链路断了,即使启动(或继续)应用服务也没有用了,那就主动放弃竞争,让能够ping通参考IP的一端去起服务。更保险一些,ping不通参考IP的一方干脆就自我重启,以彻底释放有可能还占用着的那些共享资源。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

区块链安全技术总结

区块链的安全需求越来越多,下面就将这些需求一一拆分,看看区块链安全需求到底是个什么样子。

754
来自专栏精细化测试

当代码变更遇上精准测试的总结

敏捷模式下迭代频繁,回归测试时总是不知道变动的范围。Devlop 有的时候也不知道他改了哪些东西,影响到哪些节点,或者是很多人改的,彼此不知道。

2144
来自专栏FreeBuf

地方商业银行APP安全性分析

0x00、业务需求 国内133家地方商业银行作为商业领域国外IT厂商和商家必争之地,无论是IT基础设施建设、容灾备份系统建设、还是信息安全建设等,各家银行都做的...

2046
来自专栏醒者呆

EOS1.1版本新特性介绍

我们知道目前eos的本地存储结构是简单的文件存储,对于备份和数据查询等管理角度,略显尴尬。新版本推出了MongoDB插件eosio::mongo_db_plug...

1415
来自专栏安恒信息

漏洞预警 | TRITON病毒可渗透关键基础设施,导致工控系统关机

据美国安全厂商FireEye报告:民族国家黑客使用了一款名为TRITON的恶意软件渗透了一个关键基础设施的安全系统,导致了工控系统关机。该恶意软件对施耐德电气S...

3328
来自专栏杨建荣的学习笔记

数据迁移中的几个问题总结

总结一下昨晚在数据迁移前线奋战碰到的一些问题,虽然总体来说是按照预定的计划完成,并且提前完成,但是哪怕一丁点儿的操作都会导致一些严重的影响。 总体来...

3247

32位 or 64位:Apache CloudStack系统VM架构选择

最近我和一些朋友讨论了一个关于CloudStack的问题:为什么现在CloudStack 4.3同时提供32位或64位系统虚拟机的选项。我提出了一个观点,并将其...

1996
来自专栏醒者呆

区块链3.0:拥抱EOS

EOS是当下最火的区块链技术,被社会广泛看好为下一代区块链3.0。不同于以太坊的学习,EOS的主语言是C++,本文作为EOS研究的首篇文章,重点介绍EOS的创...

92212
来自专栏数据库新发现

ASM存储高怎么办?这里有一套可用故障解决分析方案

原文链接:http://www.enmotech.com/web/detail/1/588/1.html

802
来自专栏FreeBuf

局域网聊天软件攻防战

0×00 前言 笔者发现不少甲方公司的办公网络依靠五花八门的局域网聊天软件进行办公通信,而这些软件中同样存在各种安全风险。本文就带大家利用协议分析技术来还原一款...

1988

扫码关注云+社区