二、常见故障定位案例
1.Core问题定位
1> 磁盘满故障引起的core问题
问题现象:TPCC运行时,注入磁盘满故障,数据库进程gaussdb宕掉,并产生类似如下所示的日志文件:
core-gaussdb-xxxxx-2024_01_01_01_01_01-bbox.lz4
原因分析:
数据库本身机制,在磁盘满时,Xlog日志无法进行写入,通过panic日志退出程序
处理方法:
外部监控磁盘使用状况,定时进行清理磁盘。
2> GUC参数log_directory设置不正确引起的core问题
问题现象:
数据库进程拉起后出现coredump,日志无内容。
原因分析:
GUC参数log_directory设置的路径不可读取或无访问权限,数据库在启动过程中进行校验失败,通过panic日志退出程序。
处理方法:
GUC参数log_directory设置为合法路径。
3> 开启RemoveIPC引起的core问题
问题现象:
操作系统设置中removeIPC参数设置为yes,数据库运行过程中出现宕机,并显示如下日志消息:
FATAL:semctl(1463124609,3,SETVAL,0) failed:Invalid argument
原因分析:
当RemoveIPC参数设置为yes时,操作系统会在对应用户退出时删除IPC资源(共享内存和信号量),
从而使得openGauss服务器使用的IPC资源被清理,引发数据库宕机。
处理方法:
重设Remo