告警解释
=======
此告警对应指标“备机redo进度,和主机的差距”超出配置阈值,此指标反映主备DN之间日志的差距。
对系统的影响
- 此指标最优值为0,说明主备之间无日志差距,可以保证在主DN故障之后,备DN能快速升主。
- 此指标如果持续上涨,会影响RTO时间,可能会在故障情况下,备DN无法在RTO时间范围内升主。
可能原因
- 根本原因为:主DN上日志产生速度快,备DN回放速度跟不上主DN的产生速度。在系统长时间的运行后,备机上会出现日志累积,主备日志差异大。
- 存在大量写操作,可能是数据库内部的vacuum,也可能是业务。
- 主DN和备DN之间网络时延高,导致日志同步出现延迟。
- 备DN所在磁盘IO时延高,导致回放慢,日志累积。
- 使用备机读,备机读约束为了保证事务一致性,会阻塞回放。
处理步骤
-
收到告警后,首先通过查看监控指标查看指标“备机redo进度,和主机的差距”,确认指标情况以及触发告警的组件。
-
确认此指标是持续上涨还是上涨后分钟级别回落。
- 如果为分钟级别回落,确认是否使用备机读,如果使用备机读,为正常现象,备机读的约束。
- 如果没有使用备机读或者持续上涨,执行3。
-
确认并记录此指标上涨的开始时间,以及当前是否持续上涨,同步观察是否所有DN分片均存在此问题。
-
如果只有单个分片上涨,通过查看监控指标查看“数据盘每次写入花费的时间”、“数据盘每次读取花费的时间”指标,确认告警DN所在节点的指标是否比其他节点高。
-
通过告警信息登录实例节点,从告警备DN所在分片中,使用主DN向告警备DN执行ping命令。
执行cm_ctl query -Cvip 查出来的IP,在未告警的分片也执行上述命令,排查是否因网络时延高导致。
-
如果所有分片或多个分片同时上涨,存在大量写操作,执行如下语句,确认是否有vacuum操作正在执行:
-
集中式主DN
SELECT * FROM pg_stat_activity WHERE query ilike '%vacuum%' and state = 'active' and query not ilike '%pg_stat_activity%'; -
分布式CN
SELECT * FROM pgxc_stat_activity WHERE query ilike '%vacuum%' and state = 'active' and query not ilike '%pgxc_stat_activity%';
如果CN或DN查询有结果,说明有vacuum操作,持续观察,等待vacuum完成即可。
如果CN或DN无结果,说明没有vacuum操作,执行7。
-
-
通过WDR报告确认上涨时间段和正常时间段之间,写操作业务量的差异。
如果上涨时间段比正常时间段的写操作业务量大很多,需要执行限流操作。
WDR报告使用具体请参考《云数据库 GaussDB 24.1.30 使用指南 (for 华为云Stack 8.3.1)》中的“用户指南 >操作指南> 智能运维 > 诊断优化 > 性能报告”章节。
-
如果上述操作均无法降低此指标,或业务无法限流,请联系技术支持协助评估,是否要增加回放的并行线程数或开启极致RTO功能。
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
不涉及。
更多详情请参考GaussDB 文档中心:doc.hcs.huawei.com/db/zh-cn/ga…