首页 > 其他分享 >GaussDB技术解读——GaussDB架构介绍之集群管理层(CM)关键技术方案

GaussDB技术解读——GaussDB架构介绍之集群管理层(CM)关键技术方案

时间:2025-01-15 15:57:06浏览次数:1  
标签:DN 关键技术 CM GaussDB Agent Server 故障 仲裁

GaussDB Kernel V5 集群管理层关键模块如下。

在这里插入图片描述

图4 集群管理层组件设计图

CM 组件提供了四种服务 CM Agent, CM Server, OM Monitor, cm_ctl,与各类实例服务组件(CN, DN, GTM 等)一起构成了整个数据库集群系统。

cm_ctl

通过命令行执行集群的启动、停止、状态查询、主备倒换、备机重建等功能

除启动和停止外,主要通过与 CM Server 的消息传递执行命令

可在任意节点执行并获取到相同的结果

OM Monitor

由系统定时任务拉起

负责 CM Agent 的运行状态监控

CM Agent

由 OM Monitor 拉起

负责拉起和停止所在节点的 CN, DN, GTM, CM Server(如果存在);监控实例状态并上报至 CM Server;执行 CM Server 下发的命令等

对应 cm_agent 二进制文件,所有节点常驻服务

CM Server

由 CM Agent 拉起,是整个集群管理组件的大脑

负责接收 cm_ctl 发送的命令并下发至 CM Agent;接收并处理 CM Agent 上报的实例状态,下发仲裁指令保证各类故障和异常场景下集群的可用性

对应 cm_server 二进制文件,常驻服务

CM与各类组件的主备数据同步、倒换、重建等机制高度融合,提供告警、重启、倒换、隔离等手段,赋予数据库实例故障恢复及自愈的高可用(HA)能力,保证数据的可靠性和完整性,最终实现集群对外的业务连续性。

集群管理仲裁关键技术

单节点故障在生产过程中,不可避免。CM 组件可根据探测到的状态进行仲裁,从而尽可能恢复集群可用性的过程。

以某个主 DN 故障为例,一次典型的仲裁流程包括:

① CM Agent 1探测DN主实例并发现故障

② CM Agent 1持续上报实例故障信息至CM Server

③ CM Server执行仲裁流程,选择DN备机升主

④ CM Server下发升主命令至CM Agent 2

⑤ CM Agent 2对实例执行升主操作

在这里插入图片描述

图5 集群管理仲裁过程

常见的故障类型包含磁盘故障、网络故障、下电故障、操作系统故障、其它故障(CPU故障)等。CM在选举过程中,遵从DN多数派。即,对于某一个DN分片来说,故障后的选主,需要得到大多数DN的投票,候选DN副本才可以被选中升主。仲裁规则主要依据两个原则:1) 任期(Term)大,且日志长的DN副本优先被选主 2) 同等条件下,静态主优先。

CM辅助不同组件故障情况下恢复过程

  1. CN 故障 (集中式部署时,无CM节点)

DDL 语句无法执行,DML 语句不受影响

通过将故障 CN 剔除,可保障 DDL 语句不受影响

仅支持集群内 CN 个数大于 3,且 1 个 CN 发生故障时剔除

  1. DN 故障

单点故障可自动恢复

主 DN 故障时,仲裁备 DN 升主继续提供服务

备 DN 故障时,主 DN 将日志和数据同步至从备,业务不受影响

  1. 主 GTM 故障

备 GTM 升主后继续提供服务

  1. 主 CM Server 故障

备 CM Server 接受多数派 CM Agent链接,升主后继续提供服务

异常检测

从业界经验来看,数据库实例可能处于故障、僵死、亚健康等状态。这些状态的出现概率逐级降低,但检测难度逐级增高。尤其是如何区分亚健康状态和系统繁忙状态,具有较大的挑战性。

CM 组件包含异常检测流程,可用于识别和处理网络不稳定、磁盘 IO 挂死、进程/线程僵死、进程频繁退出、实例状态时好时坏等场景,提高集群的稳定性和可用性。

以 DN 短链接检测为例,CM Agent 按照固定时间间隔与 DN 实例新建链接。如果与某个主 DN 链接失败或通过新链接无法执行 SQL 语句,则认为该 DN 发生 1 次 Hang 异常。如果多次出现异常,则会触发 Hang 检测机制,将该 DN 实例杀死并执行主备切换。目前常见的异常检测项有:

短链接建立

通过短链接执行 SQL 语句

IO 挂死

内存占用异常

基于Paxos协议复制实现DN副本自仲裁

GaussDB Kernel V5 采用基于Paxos协议主备副本复制协议,实现DN副本的自仲裁功能。关键技术方案如下图所示,其中DCF为GaussDB Kernel V5 基于Paxos协议的一致性复制组件。需包含日志复制、自仲裁选主等功能。
在这里插入图片描述

图6 DN自仲裁设计

关键技术方案要点:1)DN 副本自仲裁,缩短仲裁链路,减小RTO 2)采用Paxos一致性协议,保证DN副本间的一致性,避免备机由于日志分叉产生增量重建。

未来技术方案演进:1) DCF组件日志与数据库内核日志合一,减少对IO的占用。2) 采用Parallel Paxos协议或者多主的Paxos协议提升日志复制的吞吐量 3)通过RDMA/UB 网络优化主、备节点日志传输,提升日志复制性能。

标签:DN,关键技术,CM,GaussDB,Agent,Server,故障,仲裁
From: https://www.cnblogs.com/xiaoxu0211/p/18673197

相关文章

  • GaussDB技术解读——GaussDB架构介绍之OM运维管理关键技术方案
    ​GaussDBKernelV5OM运维管理关键模块如下。OM运维主要功能有:安装升级节点替换扩容、缩容自动告警巡检备份恢复、容灾日志分析系统在华为云的部署模式下,OM相关组件部署示意图如下:图7华为云OM运维管理用户登录华为云Console,访问GaussDBKernelV5的管控页面,输入......
  • GaussDB 24
    GaussDB介绍华为自主创新研发的分布式关系型数据库。该产品具备企业级复杂事务混合负载能力,同时支持分布式事务,同城跨AZ部署,数据0丢失,支持1000+的扩展能力,PB级海量存储。同时拥有云上高可用,高可靠,高安全,弹性伸缩,一键部署,快速备份恢复,监控告警等关键能力,能为企业提供功能全面,稳定......
  • NLP论文速读(ICML 2024)|通过人的反馈实现质量多样性(Quality Diversity through Human F
    论文速读|QualityDiversitythroughHumanFeedback:TowardsOpen-EndedDiversity-DrivenOptimization论文信息:简介:   本文的背景主要涉及两个领域:强化学习从人类反馈(ReinforcementLearningfromHumanFeedback,RLHF)和质量多样性(QualityDiversity,QD)算法......
  • 【ACM独立出版,南通大学主办-往届均已检索】第二届智慧教育与计算机技术国际学术会议(IE
      【会议亮点】ACM独立出版,EI、SCOPUS双检索首届ACM独立出版,会后4个月内完成EI、SCOPUS双检索教育与人工智能、计算机等研究方向相结合的主题均可投递由南通大学主办,教育科学学院参与会议,并做大力支持支持线上参会,线上做口头报告,线上做海报展示大会名称:第二届智慧教育......
  • 注意力机制:深度学习中的关键技术
    LLM架构从基础到精通之注意力机制本文2w字,阅读时长~~看速度2025年01月14日晴零下3度1.LLM大模型架构专栏||从NLP基础谈起2.LLM大模型架构专栏||自然语言处理(NLP)之建模3.LLM大模型架构之词嵌入(Part1)4.LLM大模型架构之词嵌入(Part2)5.LLM大模型架构之词嵌入(Part3......
  • 为什么我们讨厌 CMake,又为什么无法抛弃它?
    今天我们来聊聊一个既能引发“群体暴动”,又能让人陷入沉思的话题:CMake。如果你是一个从事C或 C++ 开发的程序员,那大概率已经和CMake“斗智斗勇”过了。很多人吐槽它难用、丑陋、反人类,但转头还是得乖乖用它。那么问题来了:为什么CMake让我们这么讨厌,却没有更好的东西取......
  • 织梦CMS进阶 - 修改织梦网站模板的详细步骤与实用技巧
    织梦(DedeCMS)是一款流行的开源内容管理系统,广泛应用于企业官网和个人博客建设。以下是关于如何修改织梦网站模板的一些基本指导和高级技巧:登录后台管理界面使用管理员账号登录织梦后台,进入“模板管理”模块。在这里您可以上传、编辑或删除现有的模板文件。同时,通过修改CSS文件来......
  • 如何在织梦CMS中修改网站主页背景
    织梦CMS是一款广泛使用的开源内容管理系统,适用于各种类型的网站。修改网站主页背景是提升网站视觉效果的重要步骤。以下是详细的修改步骤和注意事项:登录织梦CMS后台:使用管理员账户登录织梦CMS后台。通常,后台地址为域名/dede或域名/admin。输入用户名和密码,点击“登录”按钮......
  • 织梦CMS中调整网站图片显示样式的方法总结
    问题描述:织梦(DedeCMS)是一款流行的中文内容管理系统,许多企业和个人站长都在使用它来构建自己的门户网站。但有时候默认生成的图片展示形式可能并不符合需求,这时候该如何自定义图片的呈现方式呢?解决方案:编辑HTML模板:进入后台管理界面,找到对应的文章类型模板文件,按照HTML标准语法......
  • 如何在织梦CMS中修改网站版权信息
    修改网站的版权信息是提升网站专业性和合法性的必要步骤。以下是使用织梦CMS修改网站版权信息的详细步骤和注意事项:登录织梦CMS后台:使用管理员账户登录织梦CMS后台。通常,后台地址为域名/dede或域名/admin。输入用户名和密码,点击“登录”按钮。找到模板管理:在织梦CMS后......