GaussDB升级失败
- 故障现象
在运维人员下发升级命令后,升级任务返回失败,或者内核升级日志报错。
- 原因分析
可能的原因如下:
- 升级的目标版本和当前的基线版本一致,禁止升级。
- 集群组件升级失败。
- 由于部分DN集群状态不正常,导致数据库升级失败。
- 系统表、系统视图或者系统函数升级失败。
- 处理方法
以下问题场景均以沙箱环境举例:
步骤 1 查看对应时间点的agent.log日志确认升级请求是否发送到内核。若包含关键词“upgrade command”,则执行步骤2;否则请联系华为技术支持。
cd /home/Ruby/log/om_agent # 到agent.log日志目录
grep -rn "upgrade command" agent.log # 根据对应下发升级请求时间,若查询到内容,说明升级请求已发送到内核
打开对应时间点的gs_upgradectl-*.log日志,查看目标版本是否正确。若正确,则执行步骤2.c;若不正确,请修改目标版本后重新进行升级操作。
日志中若包含如下信息,说明升级的目标版本和当前的基线版本一致,则禁止升级。
source /home/Ruby/gauss_env_file # 加载环境变量
cd $GAUSSLOG/om # 进入OM日志文件夹
grep -rn “New cluster commitid cannot be same with old cluster commitid” gs_upgradectl-*.log
打开对应时间点的gs_upgradectl-*.log,日志中有"ERROR"或者"NOTICE: Failed to upgrade"或者"Failed to do inplace upgrade"关键词,根据步骤3-步骤5进一步确认并处理。
source /home/Ruby/gauss_env_file # 加载环境变量
cd $GAUSSLOG/om # 进入OM日志文件夹
grep -rn "NOTICE: Failed to upgrade" gs_upgradectl-*.log
grep -rn "Failed to do inplace upgrade" gs_upgradectl-*.log
步骤 3 (可选)确认是否由于集群状态不正常,导致升级失败,打开对应时间点的gs_upgradectl-*.log日志查看若包含如下内容,请联系华为技术支持。
source /home/Ruby/gauss_env_file # 加载环境变量
cd $GAUSSLOG/om # 进入OM日志文件夹
grep -rn "Failed to roll switch all process by list" gs_upgradectl-*.log
步骤 4 (可选)打开对应时间点的gs_upgradectl-*.log日志,若包含如下关键词,说明DN故障,请联系华为技术支持。
source /home/Ruby/gauss_env_file # 加载环境变量
cd $GAUSSLOG/om # 进入OM日志文件夹
grep -rn "Failed to get primary DN connection" gs_upgradectl-*.log
步骤 5 (可选)打开对应时间点的gs_upgradectl-*.log日志,若日志中有如下错误信息,说明系统表、系统视图或者系统函数升级失败,请联系华为技术支持。
source /home/Ruby/gauss_env_file # 加载环境变量
cd $GAUSSLOG/om # 进入OM日志文件夹
grep -rn "Failed to execute update sql file" gs_upgradectl-*.log
步骤 6 问题解决后,打开对应时间点的gs_upgradectl-*.log日志,若日志中有如下信息,说明可重入升级,否则请联系华为技术支持。
source /home/Ruby/gauss_env_file # 加载环境变量
cd $GAUSSLOG/om # 进入OM日志文件夹
grep -rn "NOTICE: Rollback succeeded" gs_upgradectl-*.log
----结束
- 点赞
- 收藏
- 关注作者
评论(0)