GaussDB(DWS)升级问题定位指南(二)

举报
召走小子 发表于 2020/10/29 22:40:55 2020/10/29
【摘要】 介绍了GaussDB(DWS)升级的一系列案例及解决方案。


GaussDB(DWS)升级问题定位指南(二)


3      升级问题相关案例

3.1      升级工程创建及验证

3.1.1     升级“补充RPM包”步骤,报错stop diskmgt failed

发生版本

【GaussDB(DWS)】【C80SPC800->8.0.0.2】

问题描述

升级步骤4.1的“补充RPM包”步骤,报错stop diskmgt failed

image.png

问题分析

因系统OS版本过高,停止diskmgt失败。

解决方案

在失败节点执行systemctl stop diskmgt.service,然后在主oms节点重新执行补包命令。

3.1.2     创建升级工程失败,报错上传软件包有误

发生版本

【GaussDB(DWS)】【C80SPC600->C80SPC800】

问题描述

创建升级工程失败,报错如下:

上传的软件包有误

image.png

查看/var/log/Bigdata/upgrade/prepare.log_2019-*日志有报错Failed to calculate the parameter value

image.png

问题分析

此问题多发生于OMS与数据节点合布的场景,是由于upds进程包含mpp相关环境变量,与FIM中使用的单机数据库环境变量错乱导致。

可通过如下方法确认upds进程是否包含mpp环境变量:

1)ps -ef |grep upd

2)找出来upd相关的进程pid

3)cat /proc/pid/environ | grep "mpp"(pid做替换)

image.png

解决方案

重新安装upds,并确认upds进程中无mpp相关环境变量。

3.1.3     创建升级工程失败,报未知错误

发生版本

【GaussDB(DWS)】【C80SPC600->C80SPC800】

问题描述

创建升级工程失败,报未知错误:

image.png

检查update-service进程的环境变量,确实包含mpp的环境变量:

image.png

将upd进程kill掉后,会自动拉起,如果不会拉起,执行${BIGDATA_HOME}/update-service/update-service.sh start手动拉起。拉起后再重新查看upd的环境变量,确认没有mpp的环境变量后,在界面重入升级步骤后正常。

问题分析

现场在部署update-service时session中有加载mpp的环境变量,导致upds环境变量错乱。

解决方案

将upds进程kill并重新拉起,确认不包含mpp环境变量后重入升级。

3.1.4     创建工程失败,报未知错误

发生版本

【GaussDB(DWS) 6.5.1】【6.5.1->8.0.0.2】

问题描述

创建工程失败,报未知错误:

image.png

问题分析

在补丁前配置步骤未执行prepare_patch.sh:

image.png

解决方案

按照升级指导书重新执行prepare_patch.sh后,创建工程成功。

3.1.5     验证补丁前检查结果步骤报错

发生版本

【GaussDB(DWS) 6.5.1】【6.5.1->8.0.0.2】

问题描述

验证补丁前检查结果步骤报错:

image.png

问题分析

现场上传的CheckReport_1.json文件格式有问题,解析失败,导致补丁前检查结果步骤失败。

解决方案

后台以omm用户登录主oms节点,然后将

${BIGDATA_HOME}/update-service/temp/syscheck目录下的CheckReport_1.json删掉,重新创建一个空白的CheckReport_1.json文件,然后在界面重试。

3.1.6     部署update service失败,报failed to generate keystore file

发生版本

【GaussDB(DWS)】【C80SPC600->C80SPC800】

问题描述

部署update service失败,报failed to generate keystore file,如下:

image.png

查看日志报错如下:

image.png

问题分析

该问题在Suse版本openssh版本较高时,ssh和scp命令对转移符的解析有问题,openssh的问题,可以把脚本中的转移符去掉解决此问题。

解决方案

1.进入ups安装目录,有个隐藏文件.install_local.sh 先备份下

2.找到.install_local.sh文件的662和665行 去掉转义符‘\’

image.png

重新安装updae-service后正常。

3.1.7     升级分发包(75%)报错:/var/log/Bigdata/patch/slimReduction.log: Permission denied

发生版本

【GaussDB(DWS)】【6.5.1->8.0.0.2】

问题描述

某局点6.5.1-8.0.0.2升级分发软件包到75%报错:/var/log/Bigdata/patch/slimReduction.log: Permission denied

image.png

image.png

使用命令 gs_ssh -c "ls -l /var/log/Bigdata/patch/slimReduction.log "确认集群各个节点该日志文件权限

image.png

该节点patch目录属主确实为root

image.png

问题分析

节点patch目录属主为root导致权限不足报错。

解决方案

chown -R omm:wheel patch/ 进行修改后重试通过。

3.1.8     升级分发软件包失败,其中一个mppdb节点的互信丢失

发生版本

【GaussDB(DWS)】【C80SPC300->8.0.0.1】

问题描述

升级分发软件包失败, 手动测试失败节点和oms主备以及浮动ip之间的互信异常。

问题分析

互信丢失导致分发软件包失败。

解决方案

1. 使用omm用户登录互信故障节点,执行 sh $BIGDATA_HOME/om-agent/nodeagent/bin/update-ssh-key.sh生成新的ssh秘钥对

2. 将新生成的/home/omm/.ssh/id_rsa.pub公钥文件copy至主oms节点,将该文件内容追加到主oms节点的/home/omm/.ssh/authorized_keys文件中

3. 将主oms节点的/home/omm/.ssh/authorized_keys文件copy到集群中每个节点的/home/omm/.ssh目录下

4. 从故障节点ssh其他节点验证修复结果

补充说明:互信正常情况下每一个节点的/home/omm/.ssh/authorized_keys文件中的内容一致,可优先确认问题节点的公钥是否存在互信不通节点的authorized_keys文件中。

 

3.2      升级manager

3.2.1     升级manager到4%报执行backup_om_server.sh报错,/var/spool/cron/omm文件不存在

发生版本

【GaussDB(DWS)】【C80SPC3502->8.0.0.1】

问题描述

升级manager到4%报执行backup_om_server.sh报错:

image.png

查看upgrade.log,报错ERROR Backup crontab failed

image.png

在/opt/huawei/Bigdata下寻找Backup crontab failed 相关的脚本文件

image.png

打开upload\..\controller下面的back-on-server.sh脚本寻找Backup crontab failed关键字

image.png

image.png

对backup_crontab函数执行部分添加调试 set -x 和set +x 然后在界面重试,重试后查看upgrade.log的日志

image.png

报错/var/spool/cron/omm文件不存在。

问题分析

主oms节点上omm用户的/var/spool/cron/omm文件丢失导致升级manager报错。

解决方案

手动SCP 备oms节点的/var/spool/cron/omm文件到主oms节点规避。

3.2.2     升级manager到25%报错cmd_sh:command not found

发生版本

【GaussDB(DWS)】【C80SPC600->C80SPC800】

问题描述

某局点升级C80SPC800,升级manager到25%报错:cmd_sh:command not found

image.png

image.png

问题分析

此报错是由于OMS发生过主备倒换,升级流程中的preset步骤是在备OMS节点上执行的,重新在主OMS节点上执行preset步骤后重试即可。

解决措施

重新在主oms节点上执行preset步骤后重试即可。

3.2.3     升级manager(36%)报错Failed to install controller patch

发生版本

【GaussDB(DWS)】【6.5.1.3->8.0.0.1】

问题描述

升级manager(36%)报错,如下:

image.png

查看主oms日志 oms_installpatch.log

image.png

查看upd进程,该进程里确实引入了mpp的环境变量,应该是之前用omm用户安装update-service的时候习惯性的source了环境变量,如下:

image.png

问题分析

现场在安装updateserver时,source了mppdb的环境变量导致环境变量污染。

解决措施

重新打开一个session,重启updateservice服务。

3.2.4     升级manager(44%)报错update resource_properties table failed

发生版本

【GaussDB(DWS)】【C80SPC300->8.0.0.1】

问题描述

升级manager步骤44%报错,如下:

image.png

查看oms节点的/var/log/Bigdata/patch/oms_installPatch.log日志,有如下报错:

image.png

查看update-service以及ha.bin进程的环境变量cat /proc/pid/environ|grep mpp,发现ha.bin进程里还是有高斯的环境变量,但是之前已经重启过该进程并且确认了无高斯的环境变量。

查看/home/omm下的.bashrc .bash_profile .profile文件,发现.bash_profile文件里有写入高斯的环境变量,如下:

image.png

将高斯的环境变量删除后,界面重试正常。

问题分析

此报错是由于现场人员将mpp的环境变量加载命令添加到了omm用户的.profile文件中,导致ha.bin进程环境变量错乱。

解决措施

将mpp环境变量加载命令从omm用户的.profile文件中删除,然后界面重试。

3.2.5     升级manager(26%)报错Permission denied

发生版本

【GaussDB(DWS)】【C80SPC300->C80SPC800】

问题描述

某局点升级C80SPC800,升级manager到26%报错

image.png

在失败节点上使用omm用户执行报错的脚本,加-X参数,安装oma失败

image.png

根据上述的报错,安装oma失败了,查看omade日志

/var/log/Bigdata/nodeagent/scriptlog/install.log

image.png

手动排查该文件的权限 文件的所属用户是sysop非root

image.png

问题分析

文件权限异常导致失败安装oma报错。

解决措施

手动修改报错节点的components文件夹下文件的用户为root ,修改完成在界面重试。

3.2.6     升级Manager到10%报错备份数据失败

发生版本

【GaussDB(DWS)】【C80SPC600->C80SPC800】

问题描述

升级Manager在备份数据阶段报错

image.png

问题分析

切到omm用户下执行如下命令确认环境变量是否有值,如果为空则说明未执行preset步骤:

echo $INSTALL_SUDO_PATH

解决方案

preset步骤丢失,按升级指导书重新执行preset后重试即可。

3.2.7     升级manager失败(60%):报timeout 180 systemctl daemon-reload failed to

发生版本

【GaussDB(DWS)】【C80SPC300->8.0.0.1】

问题描述

升级manager时,升级manager失败(60%):报timeout 180 systemctl daemon-reload   failed to execute operation:Connection timed out ,报错信息如下:

image.png

手动执行该命令任然报错:

image.png

在其他机器上执行正常:

image.png

问题分析

由于systemctl daemon-reload该命令在os上无法执行,导致升级脚本执行失败,通过分析该问题是os bug导致。

解决方案

通过重启os解决。

3.2.8     升级Manager到73%报错启动新版本失败

发生版本

【GaussDB(DWS)】【C80SPC600->C80SPC800】

问题描述

升级Manager到73%报错启动新版本失败:

image.png

问题分析

查看/var/log/Bigdata/upgrade/upgrade.log_*日志,报错Failed to start new agent

image.png

查看/var/log/Bigdata/nodeagent/scriptlog/start-agent.log和nodeagent_ctl.log日志,

image.png

/var/log/Bigdata/nodeagent/agentlog/agent.log

image.png

find /opt/huawei/Bigdata/ -name nodeagent.properties

image.png

cat 最下面那个 | grep "om.nodeagent.nodeid"

image.png

vi后查看om.nodeagent.controller.ip,800路径下配置和200路径下配置不一致

解决方案

将每个节点上本节点的200配置文件覆盖到800目录下,界面重试

image.png

image.png

3.3      升级集群前准备

3.3.1     升级集群前准备步骤报错Create trust in all nodes failed

发生版本

【GaussDB(DWS)】【C80SPC600->C80SPC800】

问题描述

某局点升级C80SPC800,升级集群前准备步骤报错:Failed to get xx.xx.xx.xx id_rsa.pub.

Create trust in all nodes failed.

问题分析

大集群环境并发创建互信时,高并发读写id_rsa.pub文件导致,实际登录报错节点检查确认id_rsa.pub文件实际是存在的。

解决措施

在界面上点击重试。

3.3.2     多集群同时升级,升级前准备(36%)报错,upgrading.profile配置错误

发生版本

【GaussDB(DWS)】【6.5.1->8.0.0.2】

问题描述

多集群同时升级,升级前准备报错,upgrading.profile配置错误

image.png

报错信息为配置文件读取报错

image.png

检查配置文件,多集群同时升级,clusterid换行出现问题

image.png

问题分析

多集群同时升级,clusterid换行出现问题。

解决措施

将多个集群的id放到一行,中间英文逗号分隔,在页面点击重试,升级继续。

3.3.3     升级集群前准备到68%报错,初始化新版本服务报错

发生版本

【GaussDB(DWS)】【C80SPC600->C80SPC800】

问题描述

初始化新版本服务报错:

Failed to obtain ulimit –c unlimited. There are illegal characters in local host.

image.png

问题分析

查看日志/var/log/Bigdata/mpp/script/postinstall.log

image.png

查看环境变量分离文件,相比正常文件多了一行:

image.png

解决方案

将多余的行删除,然后界面点击重试。

3.3.4     升级集群前准备(42%)报错Failed to check SHA256. The SHA256 value is different

发生版本

【GaussA 8.0.0.1】【C80SPC305->8.0.0.1】

问题描述

某局点在c80spc305-8.0.0.1升级集群前准备前置报错且回退报错

页面显示在升级集群前准备步骤的install patch步骤报错:

image.png

查看主cmserver节点的$GAUSSLOG/om目录下gs_upgradectl在对应时间段的报错日志,报错为sha256包检验失败:

image.png

问题分析

现场操作人员没有严格按照操作方案实施,

方案的步骤如下:

在“Manager”后勾选“升级”和“补丁”,“MPPDB”后勾选“升级”,"base"后勾选“补丁”,单击“下一步”,进入“软件包配置”界面;

操作人员在操作时在升级mppdb的时多选了补丁包 ,导致在升级过程中包校验错误。

解决措施

进行升级回退,整体回退之后,重新按照升级指导书严格实施升级操作。

 

3.3.5     升级集群前准备(68%)报错,初始化新版本服务失败

发生版本

【GaussA 8.0.0.1】【C80SPC208->C80SPC800】

问题描述

升级集群前准备(68%)报错,初始化新版本服务失败:

image.png

preinstall的日志报错信息

image.png

问题分析

现场环境变量文件/opt/huawei/Bigdata/mppdb/.mppdbgs_profile中有人为添加的非法内容ulimit -s 8096导致。

解决措施

将ulimit -s 8096非法内容删除,然后界面重试。

3.3.6     升级集群前准备(81%)报错the environmental variable [GAUSS_ENV]'s value is invalid

发生版本

【GaussA 8.0.0.1】【6.5.1->8.0.0.1】

问题描述

升级集群前准备失败(81%),报 the environmental variable [GAUSS_ENV]'s  value is invalid

image.png

image.png

问题分析

现场修改了root的.bash_profile文件里添加su - omm,导致preinstall时环境变量错乱。

image.png

正常节点:

image.png

异常节点:

image.png

解决措施

删除su - omm,然后界面重试。

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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