GaussDB CN故障-启动失败
- 故障现象
启动集群时或者单独启动CN时,CN组件启动失败。
- 故障原因
可能原因有以下:
连接认证配置错误。
CN目录权限错误或者磁盘故障。
CN组件参数配置错误。
- 处理方法
步骤 1 登录启动失败的CN节点,执行以下命令,查询集群状态。
su - Ruby
cm_ctl query -Cvd

如上图,CN组件启动失败,查询状态为Down。

如上图,CN组件启动失败,查询状态为Unknown。
步骤 2 查看当前CN节点的cm_agent日志,打开对应时间点的cm_agent-***.log日志,搜索关键词ERROR或FATAL。
如对应时间点的日志已被压缩,则查看对应的cm_agent-****.log.gz日志,
cd $GAUSSLOG/cm/cm_agent
vim cm_agent-*.log

如上图,CN进程是运行的,但是连接失败。
若详细报错信息为:Invalid username/password,login denied,表明CN进程已启动,但是无法连接CMS和DN,此问题由于连接认证配置错误,需查看pg_hba.conf配置文件,此配置文件在CN数据目录下,CN数据目录可通过cm_ctl query -Cvd查询获取。
cm_ctl query -Cvd

如上图,/data/gaussdb/engine/cn为CN数据目录路径。
cd /data/gaussdb/engine/cn
vim pg_hba.conf

如上图,127.0.0.1应配置为trust认证。
说明:
/data/gaussdb/engine/cn为示例路径,需根据实际情况修改。
若以上都不涉及,继续步骤3。
须知:修改参数为高危操作,执行前需联系华为技术支持确认。
步骤 3 继续查看cm_agent-***.log日志,查看StartAndStop日志。
若详细报错信息为:g_cnDiskDamage=1,表明磁盘故障,CN无法启动,可排查CN数据目录磁盘是否正常,目录是否存在等,是否的正常读写等。
若以上都不涉及,继续步骤4。

如上图,无法向CN目录写数据,报错磁盘故障。
说明:
1.4(V005R001C20)版本及以前版本,搜索cn_disk_damage=1关键词,1.4(V005R001C20)以后版本搜索g_cnDiskDamage=1关键词。
步骤 4 继续查看当前目录下的system_call-current.log日志,搜索FATAL关键词。
若报错详细信息为:Permissions should be u=rwx(0700),表明数据目录权限错误,可进入CN数据目录,修改权限为700。
若以上都不涉及,继续步骤5。

如上图,是由于CN目录的权限错误,导致CN无法启动。
修改权限命令为:chmod -R 700 /opt/gaussdb/engine/data/cn
须知:修改数据目录权限为高危操作,执行前需联系华为技术支持确认。
/opt/gaussdb/engine/data/cn为启动失败CN的数据目录。
步骤 5 继续查看当前目录下的system_call-current.log日志,搜索FATAL关键词。
若报错详细信息为:outside the valid range for parameter,则表明配置文件中的参数设置错误,可根据报错的参数,修改为正确的取值范围。
若以上都不涉及,则继续步骤6。

如上图,是由于cn_5001的recovery_time_target参数配置错误,导致CN启动失败。
gs_guc reload -Z coordinator -N all -I all -c "recovery_time_target=60"
说明:
HCS场景执行gs_guc命令需要进入沙箱。
recovery_time_target参数为示例,实际需根据报错信息中的参数修改。
须知:修改参数为高危操作,执行前需联系华为技术支持确认。
步骤 6 继续查看cm_agent-***.log以及system_call-current.log日志,获取错误信息,联系华为技术支持。
----结束
- 点赞
- 收藏
- 关注作者
评论(0)