GaussDB DN故障-状态Down
- 故障现象
查询集群状态,DN组件状态为Down,产生DN服务异常告警。
- 故障原因
可能原因有以下:
- 虚拟机故障产生DN服务异常告警。
- 磁盘故障导致DN组件Down,产生DN服务异常告警。
- 网卡故障导致DN组件Down,产生DN服务异常告警。
- 端口冲突导致DN组件Down,产生DN服务异常告警。
- 主动停止DN组件,产生DN服务异常告警。
- 处理方法
步骤 1 登录故障DN节点,切换至Ruby用户,查询集群状态。
若故障节点无法登录,则说明操作系统故障或网络等故障无法连接,需排查节点无法连接原因。
若可正常连接,继续步骤2。
su - Ruby
cm_ctl query -Cvd

上图中dn_6001状态为Down。
步骤 2 当前节点,执行以下命令,查看操作系统是否发生过重启。
如发生过操作系统重启,若非人为主动重启,需联系华为技术支持排查操作系统重启原因。
若未重启,继续步骤3。
who -b

上图表明,操作系统于2022-10-20 16:47发生过重启。
步骤 3 在当前节点,查看DN进程是否存在以及进程重启时间:
如进程存在,则等1min后查询集群状态,DN状态会自动恢复,如未恢复,联系华为技术支持,若进程不断重启,则参考5 CN故障-启动失败章节排查。
如进程不存在,则继续步骤4。
ps ux | grep 'gaussdb --datanode'|grep -v grep

上图表明,dn_6001进程正常,且在16:58分启动。
步骤 4 查看故障DN节点的cm_agent日志,打开对应时间点的cm_agent-***.log日志。
如对应时间点的日志已被压缩,则查看对应的cm_agent-****.log.gz日志。
cd $GAUSSLOG/cm/cm_agent
vim cm_agent-*.log
步骤 5 cm_agent日志中搜索关键词g_dnDiskDamage=1。
若存在,则原因为数据/日志磁盘损坏或磁盘满,需要查看对应故障DN的磁盘是否有故障,如无故障则检查是否磁盘满或者数据目录是否被删除,是否被重命名以及目录读写权限是否都正确。
如以上都不涉及,则继续步骤6。

如上图,dn_6001 dn_disk_damage=1。
说明:
1.4(V005R001C20)版本及以前版本,搜索dn_disk_damage=1关键词,1.4(V005R001C20)以后版本搜索g_dnDiskDamage=1关键词。
步骤 6 cm_agent日志中搜索关键词port_conflict=1。
若存在,则原因为端口冲突,参考步骤9。
若以上都不涉及则继续步骤7。

如上图,dn_6003 port_conflict=1。
步骤 7 cm_agent日志中搜索关键词g_nicDown=1。
若存在,则原因为网卡故障,参考步骤10。
若以上都不涉及则继续步骤8。

如上图,dn_6006 g_nicDown=1。
说明:
1.4(V005R001C20)版本及以前版本,搜索dn_nic_Down=1关键词,1.4(V005R001C20)以后版本搜索g_nicDown=1关键词。
步骤 8 cm_agent日志中搜索关键词dn_manual_stop=1。
若存在,则原因为主动停止,参考处步骤11。
若不存在,则联系华为技术支持。

如上图表明,dn_6001 dn_manual_stop=1。
lsof -i:端口号

找到进程后,强制结束进程。
kill -9 pid
须知:kill -9 pid为高危操作,执行前需联系华为技术支持确认。
步骤 11 确认是否有人手动停止,如非人为停止,则联系华为技术支持,排查cms日志。
----结束
- 点赞
- 收藏
- 关注作者
评论(0)