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
问题分析
因系统OS版本过高,停止diskmgt失败。
解决方案
在失败节点执行systemctl stop diskmgt.service,然后在主oms节点重新执行补包命令。
3.1.2 创建升级工程失败,报错上传软件包有误
发生版本
【GaussDB(DWS)】【C80SPC600->C80SPC800】
问题描述
创建升级工程失败,报错如下:
上传的软件包有误
查看/var/log/Bigdata/upgrade/prepare.log_2019-*日志有报错Failed to calculate the parameter value
问题分析
此问题多发生于OMS与数据节点合布的场景,是由于upds进程包含mpp相关环境变量,与FIM中使用的单机数据库环境变量错乱导致。
可通过如下方法确认upds进程是否包含mpp环境变量:
1)ps -ef |grep upd
2)找出来upd相关的进程pid
3)cat /proc/pid/environ | grep "mpp"(pid做替换)
解决方案
重新安装upds,并确认upds进程中无mpp相关环境变量。
3.1.3 创建升级工程失败,报未知错误
发生版本
【GaussDB(DWS)】【C80SPC600->C80SPC800】
问题描述
创建升级工程失败,报未知错误:
检查update-service进程的环境变量,确实包含mpp的环境变量:
将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】
问题描述
创建工程失败,报未知错误:
问题分析
在补丁前配置步骤未执行prepare_patch.sh:
解决方案
按照升级指导书重新执行prepare_patch.sh后,创建工程成功。
3.1.5 验证补丁前检查结果步骤报错
发生版本
【GaussDB(DWS) 6.5.1】【6.5.1->8.0.0.2】
问题描述
验证补丁前检查结果步骤报错:
问题分析
现场上传的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,如下:
查看日志报错如下:
问题分析
该问题在Suse版本openssh版本较高时,ssh和scp命令对转移符的解析有问题,openssh的问题,可以把脚本中的转移符去掉解决此问题。
解决方案
1.进入ups安装目录,有个隐藏文件.install_local.sh 先备份下
2.找到.install_local.sh文件的662和665行 去掉转义符‘\’
重新安装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
使用命令 gs_ssh -c "ls -l /var/log/Bigdata/patch/slimReduction.log "确认集群各个节点该日志文件权限
该节点patch目录属主确实为root
问题分析
节点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报错:
查看upgrade.log,报错ERROR Backup crontab failed
在/opt/huawei/Bigdata下寻找Backup crontab failed 相关的脚本文件
打开upload\..\controller下面的back-on-server.sh脚本寻找Backup crontab failed关键字
对backup_crontab函数执行部分添加调试 set -x 和set +x 然后在界面重试,重试后查看upgrade.log的日志
报错/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
问题分析
此报错是由于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%)报错,如下:
查看主oms日志 oms_installpatch.log
查看upd进程,该进程里确实引入了mpp的环境变量,应该是之前用omm用户安装update-service的时候习惯性的source了环境变量,如下:
问题分析
现场在安装updateserver时,source了mppdb的环境变量导致环境变量污染。
解决措施
重新打开一个session,重启updateservice服务。
3.2.4 升级manager(44%)报错update resource_properties table failed
发生版本
【GaussDB(DWS)】【C80SPC300->8.0.0.1】
问题描述
升级manager步骤44%报错,如下:
查看oms节点的/var/log/Bigdata/patch/oms_installPatch.log日志,有如下报错:
查看update-service以及ha.bin进程的环境变量cat /proc/pid/environ|grep mpp,发现ha.bin进程里还是有高斯的环境变量,但是之前已经重启过该进程并且确认了无高斯的环境变量。
查看/home/omm下的.bashrc .bash_profile .profile文件,发现.bash_profile文件里有写入高斯的环境变量,如下:
将高斯的环境变量删除后,界面重试正常。
问题分析
此报错是由于现场人员将mpp的环境变量加载命令添加到了omm用户的.profile文件中,导致ha.bin进程环境变量错乱。
解决措施
将mpp环境变量加载命令从omm用户的.profile文件中删除,然后界面重试。
3.2.5 升级manager(26%)报错Permission denied
发生版本
【GaussDB(DWS)】【C80SPC300->C80SPC800】
问题描述
某局点升级C80SPC800,升级manager到26%报错
在失败节点上使用omm用户执行报错的脚本,加-X参数,安装oma失败
根据上述的报错,安装oma失败了,查看omade日志
/var/log/Bigdata/nodeagent/scriptlog/install.log
手动排查该文件的权限 文件的所属用户是sysop非root
问题分析
文件权限异常导致失败安装oma报错。
解决措施
手动修改报错节点的components文件夹下文件的用户为root ,修改完成在界面重试。
3.2.6 升级Manager到10%报错备份数据失败
发生版本
【GaussDB(DWS)】【C80SPC600->C80SPC800】
问题描述
升级Manager在备份数据阶段报错
问题分析
切到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 ,报错信息如下:
手动执行该命令任然报错:
在其他机器上执行正常:
问题分析
由于systemctl daemon-reload该命令在os上无法执行,导致升级脚本执行失败,通过分析该问题是os bug导致。
解决方案
通过重启os解决。
3.2.8 升级Manager到73%报错启动新版本失败
发生版本
【GaussDB(DWS)】【C80SPC600->C80SPC800】
问题描述
升级Manager到73%报错启动新版本失败:
问题分析
查看/var/log/Bigdata/upgrade/upgrade.log_*日志,报错Failed to start new agent
查看/var/log/Bigdata/nodeagent/scriptlog/start-agent.log和nodeagent_ctl.log日志,
/var/log/Bigdata/nodeagent/agentlog/agent.log
find /opt/huawei/Bigdata/ -name nodeagent.properties
cat 最下面那个 | grep "om.nodeagent.nodeid"
vi后查看om.nodeagent.controller.ip,800路径下配置和200路径下配置不一致
解决方案
将每个节点上本节点的200配置文件覆盖到800目录下,界面重试
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配置错误
报错信息为配置文件读取报错
检查配置文件,多集群同时升级,clusterid换行出现问题
问题分析
多集群同时升级,clusterid换行出现问题。
解决措施
将多个集群的id放到一行,中间英文逗号分隔,在页面点击重试,升级继续。
3.3.3 升级集群前准备到68%报错,初始化新版本服务报错
发生版本
【GaussDB(DWS)】【C80SPC600->C80SPC800】
问题描述
初始化新版本服务报错:
Failed to obtain ulimit –c unlimited. There are illegal characters in local host.
问题分析
查看日志/var/log/Bigdata/mpp/script/postinstall.log
查看环境变量分离文件,相比正常文件多了一行:
解决方案
将多余的行删除,然后界面点击重试。
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步骤报错:
查看主cmserver节点的$GAUSSLOG/om目录下gs_upgradectl在对应时间段的报错日志,报错为sha256包检验失败:
问题分析
现场操作人员没有严格按照操作方案实施,
方案的步骤如下:
在“Manager”后勾选“升级”和“补丁”,“MPPDB”后勾选“升级”,"base"后勾选“补丁”,单击“下一步”,进入“软件包配置”界面;
操作人员在操作时在升级mppdb的时多选了补丁包 ,导致在升级过程中包校验错误。
解决措施
进行升级回退,整体回退之后,重新按照升级指导书严格实施升级操作。
3.3.5 升级集群前准备(68%)报错,初始化新版本服务失败
发生版本
【GaussA 8.0.0.1】【C80SPC208->C80SPC800】
问题描述
升级集群前准备(68%)报错,初始化新版本服务失败:
preinstall的日志报错信息
问题分析
现场环境变量文件/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
问题分析
现场修改了root的.bash_profile文件里添加su - omm,导致preinstall时环境变量错乱。
正常节点:
异常节点:
解决措施
删除su - omm,然后界面重试。
- 点赞
- 收藏
- 关注作者
评论(0)