【分布式数据库TDSQL MySQL版同一个所属Set显示3个备份节点案例

2024年 4月 26日 97.5k 0

欢迎关注“数据库运维之道”公众号,一起学习数据库技术!

本期将为大家分享《TDSQL同一个所属Set显示3个备份节点》的处置案例。

关键词:分布式数据库、TDSQL、备份节点

1、问题描述

登录赤兔管理平台,单击左侧导航栏“实例管理/集群管理”。在实例管理页面,选择所需实例GROUP ID。在DB监控列表可以看到一个Group ID由多个Set组成,每个Set由4台实例组成。正常情况下,同一个Set会指定一个备份节点,实际却看到3个备份节点。从下面的截图看到具体现象情况。

翻阅TDSQL官方文档,查看备份体系相关的资料。

2、备份体系

TDSQL MySQL支持将数据手动备份到分布式文件存储系统(Hadoop Distributed File System,HDFS)、DB 服务器本地磁盘(Local)和分布式存储服务器(COS),支持物理备份和逻辑备份类型。手动备份操作挺方便的,直接在界面上操作就行。

3、备份原理

TDSQL MySQL支持三种备份类型,分别为物理备份、逻辑备份和Binlog备份。

(1)物理备份:物理全量备份+物理增量备份+Binlog备份

物理备份工作原理如下图所示:

  • idb拷贝线程拷贝到文件末尾即停止。

  • redo日志拷贝线程属于监听,一 旦产生新的redo日志,立即拷贝。

  • 对于日志,只拷贝redo日志不拷贝Binlog。

(2)逻辑备份:逻辑备份+Binlog备份

(3)Binlog备份:

  • 支持Lz4压缩、限流。

  • Binlog的清理策略:日志磁盘超过50%,并且Binlog已经冷备。

如果冷备节点切换,Binlog会根据最后一个备份Binlog的时间点,判断新冷备节点备份开始的Binlog;但是恢复的时候会根据全备的ip+port组合拉取对应的Binlog,新冷备节点的Binlog不会被拉取。

4、备份节点

(1)备份节点选择建议

  • 备份以set为单位,一主多备只有一个备库成为备份节点进而完成备份。

  • 备份节点满足的条件:延时小于30分钟,且在指定的备份IDC中。

  • 备份节点通常设置与在存储介质相同的IDC中,以此尽可能避免备份使用跨机房流量。

(2)冷备节点选择原理

  • 选举周期(elect_role_check_interval_seconds):默认为300秒。

  • 如果所有备机延迟大于1800秒,此时没有冷备节点。

  • 如果冷备节点延迟超过1800秒,那么会选择延迟小于1800秒,且优先选择最近没有发生主备切换的备机。

  • 如果冷备节点down,5min后会选择延迟小于1800秒,且优先选择最近没有发生主备切换的备机。

5、问题处理

由于相关材料有限,自己没有搞明白。最后请教腾讯技术支持工程师,通过检查发现跳板机的时间设置不准导致。重新校正跳板机的时间后,刷新页面,可以看到同一个Set只显示一个备份节点了。

至于赤兔平台为何有这种处理机制,还需要进一步咨询下研发工程师。

以上就是本期关于“TDSQL同一个所属Set显示3个备份节点案例”的处置案例。希望能给大家带来帮助。

6、推荐阅读

【TDSQL】TCPMSS最大数据分段大小值不合理导致JAVA程序连接数据库异常案例

欢迎关注“数据库运维之道”公众号,一起学习数据库技术!

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论