一、背景概述
用户 RAC 服务器不定期频繁重启,在重启前服务器比较卡,甚至出现停数据库和集群都不能正常处理 。
二、本次问题的细节
由于服务器重启了,资源都已经释放,检查集群日志,主要通信丢失,节点被驱逐的记录
|
[ctssd(47639)]CRS-2409:The clock on host node2 is not synchronous with the mean cluster time. No action has been taken as the Cluster Time Synchronization Service is running in observer mode. 2021-05-09 12:22:46.950: [cssd(47496)]CRS-1612:Network communication with node node1 (1) missing for 50% of timeout interval. Removal of this node from cluster in 14.250 seconds 2021-05-09 12:22:53.953: [cssd(47496)]CRS-1611:Network communication with node node1 (1) missing for 75% of timeout interval. Removal of this node from cluster in 7.250 seconds 2021-05-09 12:22:58.956: [cssd(47496)]CRS-1610:Network communication with node node1 (1) missing for 90% of timeout interval. Removal of this node from cluster in 2.250 seconds |
检查message 日志,不能获得内存分配资源 ,初步内存疑为内存耗尽造成。
|
May 10 08:01:24 node2 kernel: 109567564 total pagecache pages May 10 08:01:24 node2 kernel: 934 pages in swap cache May 10 08:01:24 node2 kernel: Swap cache stats: add 7348314, delete 7347380, find 10499441/10697733 May 10 08:01:24 node2 kernel: Free swap = 31367772kB May 10 08:01:24 node2 kernel: Total swap = 31465468kB May 10 08:01:29 node2 kernel: 134217712 pages RAM May 10 08:01:29 node2 kernel: 2223148 pages reserved May 10 08:01:29 node2 kernel: 346924034 pages shared May 10 08:01:29 node2 kernel: 21949356 pages non-shared May 10 08:01:29 node2 kernel: SLAB: Unable to allocate memory on node 0 (gfp=0xd0) May 10 08:01:29 node2 kernel: cache: size-65536, object size: 65536, order: 4 |
部署Oswatch 进行监控,从oswatch 里查看,发现数据库及其他进程并没有耗多少内存。
后续在一次监控到数据库访问异常时,及时进入服务器检查,发现内存已经耗尽,并且swap 空间也所剩不多,所以进行停止数据库,停完后再做启动操作,在启动过程中直接报内存不足。
该服务器内存为512G ,作为数据库单独使用,不存在其他应用,所以报内存不足是非常不正常的,进一步检查内存使用情况。内存空闲非常少,在没有使用的情况下只剩余20G ,slab 内存资源耗了170G
检查slab 具体资源情况:
发现scsi_data_buffer 就占用了100 多G ,导致了整体内存不足,经核对该操作系统的内核版本存在bug
问题处理建议
1 、造成改问题的原因是操作系统的内核bug 问题,建议更新内核kernel-3.10-514 ,所以在安装操作系统的时候建议选择比较稳定的版本。
