手动处理DRBD脑裂问题
文章摘要
GPT 4
此内容根据文章生成,仅用于文章内容的解释与总结。
啥是脑裂
通俗来说,倘若一个人有多个相互独立工作的大脑,便会“不听使唤”。
在高可用系统中,当相互联系的节点失联时(即原本为一个整体的系统,被分裂成多个独立的节点),这些节点便开始争抢共享资源的现象;这可不是什么好事,争抢资源会导致服务异常乃至数据损坏,需妥善处理。
现象描述
环境
一组NFS双机热备,通过DRBD做数据管理与镜像同步。
DRBD(Distributed Replicated Block Device,分布式复制块设备),是一种基于软件的无共享功能的存储镜像模块;在高可用系统中使用,有概率出现脑裂情况。
主机名 | 作用 | DRBD元数据块名 |
---|---|---|
renNFS-Master | 主节点(NFS、DRBD) | nfs |
renNFS-Slave | 从节点(NFS、DRBD) | nfs |
征兆
在DRBD中,如果出现两节点的connection
信息至少有一边处于 StandAlone
或 Connecting
(或 WFConnection
)状态,一般情况是脑裂的征兆。
通过grep dropping /var/log/messages
命令查看系统日志
- 如果有
Split-Brain detected but unresolved, dsropping connection!
的提示信息,则出现脑裂。
手动处理
- 首先,在 从NFS 节点,执行命令放弃该节点的数据。
1 | drbdadm connect [元数据块名] --discard-my-data |
- 随后,在 主NFS 节点,执行连接元数据块的命令。
1 | drbdadm connect [元数据块名] |
- 稍等片刻,待两节点重新连接后,恢复正常通信。
本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自孤熵小狼
评论 ()