GBase 8c
运维管理
文章

FAQ : CentOS/RedHat 7.2+环境中semop引发的数据库crash

GBase社区管理员
发表于2023-04-27 13:04:3238次浏览0个评论

问题描述:

GBase 8c运行中遇到报错信息,并崩溃:

FATAL:semop(id=****) falied: Identifier removed

LOG: server process (Threadld ****) was terminated by signal 1: Hangup

LOG: terminating any other active server processes

LOG: WAL file creator process (Threadld ****) exited with exit code 0

LOG: the server process exits

原因:

CentOS/RHEL 7.2或Kylin-Server-20200711及之后版本操作系统中,systemd-logind服务引入一个新特性-RemoveIPC。用户登录后创建的文件,在logout后会被自动删除。

该特性由/etc/systemd/logind.conf参数文件中RemoveIPC选项来控制。详细请看man logind.conf(5)。当使用默认值(即 RemoveIPC=yes)的情况,当用户退出时,操作系统会remove掉该用户的shared memory segments and semaphores。

在设置RemoveIPC=yes 时,系统会crash掉使用了Shared Memory Segment (SHM) or Semaphores (SEM)的应用程序。GBase 8c数据库进程被中断。

解决方法:

在集群每个节点服务器上执行以下操作:

(1)修改/etc/systemd/logind.conf配置文件,将RemoveIPC参数值设置为no

(2)修改/usr/lib/systemd/system/systemd-logind.service配置文件,将RemoveIPC参数值设置为no

(3)修改后,重新加载配置文件

systemctl daemon-reload

systemctl restart systemd-logind

(4)检查修改后是否生效

loginctl show-session | grep RemoveIPC

systemctl show systemd-logind | grep RemoveIPC



评论已关闭