KingbaseES V8R6 集群运维案例--麒麟系统bug导致sys_monitor.sh无法启动集群

发布时间 2023-05-09 19:41:51作者: KINGBASE研究院

案例说明:
麒麟信安操作系统,在部署了KingbaseES V8R6集群后,sys_monitor.sh在启动集群时,启动数据库服务失败,导致集群无法正常启动。后连接现场分析发现,此环境只要通过ssh或sys_securecmd工具远程启动数据库服务都会失败。操作系统版本如下:

适用版本:
KingbaseES V8R6

一、问题现象:
如下图所示,新部署的集群,通过sys_monitor.sh启动失败,但是通过sys_ctl手工启动主备节点数据库服务后,集群状态正常。

如下图所示,手工启动主备节点数据库服务后,集群状态正常:

二、问题分析:
1)分析sys_monitor.sh执行过程

执行: sh -x sys_monitor.sh start

如下图所示:

     1、sys_monitor.sh脚本通过sys_securecmd远程连接节点启动数据库服务。
     2、脚本反馈数据库服务已经被启动。
     3、ksql连接数据库服务访问失败。
     4、验证数据库服务启动失败,集群无法启动。

2)远程连接节点启动数据库服务测试


如上图所示,通过sys_securecmd或ssh连接远程节点启动数据库服务均失败。

3)查看数据库日志,在通过ssh或sys_securecmd远程启动数据库后,数据库会收到SIGTERM信号。

通过以上分析,数据库服务本地启动正常,但是通过ssh或securecmd工具远程启动后,数据库服务收到SIGTERM信号被终止,可能和操作系统有关。

三、问题解决:
后经操作系统人员分析,此故障为系统systemd服务bug ,打了补丁后,问题解决。下图为系统补丁。在此环境中,sys_securecmdd进程通过systemd服务管理。