GaussDB备份失败

举报
GaussDB 数据库 发表于 2025/12/09 14:33:44 2025/12/09
【摘要】 故障现象云数据库 GaussDB 增量备份失败。云数据库 GaussDB 手动全量备份失败。云数据库 GaussDB 自动全量备份失败。云数据库 GaussDB 自动差分备份失败。故障原因可能原因有以下:OBS问题:OBS网络不通, OBS负载异常等。 底层硬件问题: 物理机重启等。内核问题:大集群免密超时,业务压力大触发PITR逻辑复制槽强推。误删文件导致全备持续失败。备份期间集群状态不正...
  • 故障现象
  1. 云数据库 GaussDB 增量备份失败。
  2. 云数据库 GaussDB 手动全量备份失败。
  3. 云数据库 GaussDB 自动全量备份失败。
  4. 云数据库 GaussDB 自动差分备份失败。
  • 故障原因

可能原因有以下:

  1. OBS问题:OBS网络不通, OBS负载异常等。 
  2. 底层硬件问题: 物理机重启等。
  3. 内核问题:大集群免密超时,业务压力大触发PITR逻辑复制槽强推。
  4. 误删文件导致全备持续失败。
  5. 备份期间集群状态不正常。
  • 处理方法

步骤 1     登录DBS运维管理平台,实例管理页面,以实例ID搜索,找到备份失败实例。

步骤 2     进入实例明细,参考查看任务流,找到备份失败的任务流,进入树表,找到失败的步骤,点击操作,修改Context

Gaussdbv5BackupDb表示全量备份,Gaussdbv5BackupDifference表示增量备份。

162.png

说明:

上图介绍步骤,非失败的任务流。

步骤 3     找到任务流下发节点,nodeid为下发节点。

163.png

如上图,804e2d36bf5b4c8ca124a24a4980001fno14为下发节点nodeid

步骤 4     参考登录实例节点,登录下发节点。

步骤 5     查看adaptor日志,搜索Send backup request to node关键词。

cd /home/Ruby/log/adaptor_log

vim om_adaptor.log

Send backup request to node之后的ip表示该备份任务的master节点。

165.png

如上图,10.10.8.85master节点。

步骤 6     登录master节点,进入到controller日志目录,搜索The backup node list is关键词,查找备份执行节点。

全量备份:

cd $GAUSSLOG/roach/controller

vim roach_controller-****-**-**_******.log

The backup node list is之后的ip表示备份执行节点。

166.png

如上图,10.10.8.85, 10.10.8.20为备份执行节点。

增量备份:

cd $GAUSSLOG/roach/controller_inc

步骤 7     登录各备份执行节点,节点列表为步骤6获取到的ip

步骤 8     查看备份执行节点roach_agent日志。

全量备份

cd $GAUSSLOG/roach/agent

增量备份

cd $GAUSSLOG/roach/agent_inc

1. 搜索Started Roach process关键词,表示本节点开始执行本次备份。

1681.png

如上图,Started Roach process表示本节点开始执行备份。

2. 搜索Roach Statistics start关键词,表示本节点执行本次备份结束。

1682.png

如上图,Roach Statistics start汇总备份执行信息,当前节点备份执行结束。

以上步骤介绍如何查找下发节点、master节点,备份执行节点列表

步骤 9     查看备份进度(本步骤可选)。

在备份master节点执行以下命令。

ps ux | grep roach  # 获取--metadata-destination

cd /var/chroot/var/lib/log/backup/metadata/roach/backup_key

cat .roach_task_progress.dat

步骤 10     针对不同报错,进行后续处理。

1. 增量备份,数据文件分批次超过范围问题。

agent节点roach_agent日志报错:error message is Provided partNumber within integer range

16101.png

原因:此问题为单次增量备份集过大,导致分10000批次,未能将备份集上传完,所以报错,此问题为bug

临时规避办法:临时规避办法为手动创建一个全量备份,之后增量备份会成功。

最终解决办法:内核V500R002C10SPC630及以后版本修复。

2. OBS连接超时问题。

agent节点roach_agent日志报错:ERROR:responseCompleteCallback error message is The server did not receive a complete request message within the time that it was prepared to wait. [adapter/roach_obs_interface.c:242]

问题节点查看obs日志,搜索ERROR日志。

cd $GAUSSLOG/bin/gs_obs目录下的日志,报如下错误:

vim gs_obs_run.log

报错:WARN:Code: RequestTimeout

16802.png

原因:备份执行节点到OBS网络不通。

临时规避办法:此问题无法临时规避,需排查及解决网络问题。

最终解决办法:排查及解决网络问题。

3. OBS负载异常问题。

备份执行节点roach_agent日志报错:[OBS] Error: ErrorUnknown [adapter/roach_obs_interface.c:692]

查看对应节点obs日志,报错如下:

16803.png

原因OBS负载异常。

临时规避办法:此问题无法临时规避,需排查及解决OBS负载问题。

最终解决办法:排查及解决OBS负载问题。

4. 集群免密超时问题。

master节点om_agent日志报错:[ERROR] check_time_out(free_login_common:155) Failed to execute cmd

16804.png

原因:此问题为增备任务下发时,同时下发开启集群免密的命令,集群免密开启失败,从而导致增备执行失败。

临时规避办法:

a.确认备份master节点上,切换到Ruby用户,后台备份进程是否存在。

ps ux | grep roach

 若备份进程存在,则需先停止备份任务流,然后继续2)

 若备份不存在,继续b

b.执行以下命令,停止备份进程。

python3 /usr/local/tool/script/GaussRoach.py -t stop

c.修改备份master节点脚本。

sed -i '146s/retry_times < 5/retry_times < 2/' /dbs/om-agent/agent_92629/common/free_login_common.py

sed -i '150s/val = result.get(60)/val = result.get(250)/' /dbs/om-agent/agent_92629/common/free_login_common.py

d.重启om-agent

ps ux |grep om_agent.py |grep python |grep -v profile | grep -v grep | awk '{print \$2}' | xargs kill -9

e.检查om-agent是否启动成功。

ps ux |grep om_agent.py |grep python |grep -v profile | grep -v grep

f.重试备份任务流,或者等自动执行增备即可。

最终解决办法:内核503.0.RC1及以后版本修复。

5. 集群状态异常问题。

master节点roach-controller日志报错:[ERROR]:cluster state is unavaliable, try to stop resume backup

原因:集群状态unavaliable导致备份无法下发。

临时规避办法:此问题无法临时规避,需排查及修复集群后继续备份任务。

最终解决办法:排查及修复集群后继续备份任务。

----结束

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。