欢迎关注“数据库运维之道”公众号,一起学习数据库技术!
本期将为大家分享《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程序连接数据库异常案例
欢迎关注“数据库运维之道”公众号,一起学习数据库技术!