服务器 2024-06-18

KunTai R2280服务器数据库无法访问

一、现网描述

1.1 环境描述

设备型号:KunTai R2280

硬件配置:SAS3508、SAMSUNG MZ7LH480HAHQ-00005、TOSHIBA AL15SEB24EQ、LPe12000

BMC版本:3.01.12.49

BIOS 版本:1.83.K

CPLD版本:6.02


二、故障描述

2.1故障现象

客户反馈3台设备5月6日八九点钟出现业务数据库访问不了问题,重启设备后恢复


三、问题分析

3.1 硬件日志分析

3.1.1查看current_event日志文件,当前服务器状态正常,无告警

image.png

3.1.2 查看sel事件记录,宕机时无硬件异常信息

image.png

2.1.3 进一步分析fdm_log,发现日志内有内存CE(correct error)情况,非宕机原因

image.png

3.2 系统日志分析

查看dmesg日志文件,发现有block超时情况,导致内核hung死,从时间上看为:2024/05/06 09:07分左右,与出现问题时间一致。三台机器dmesg信息均有block超时情况。

image.png

3.3分析结论

故障非硬件原因导致,根据os日志分析结论,为“task kbha : ***blocked for more than 120 seconds”导致

"echo 0 > /proc/sys/kernel/hung_task_timeout_secs"内核hung

可能原因:linux会使用最多40%的可以内存作为文件系统缓存,当超过阈值后,文件系统会把缓存中的内容全部写入磁盘,导致后续的IO请求都是同步的,缓存写入磁盘有一个默认的120秒的超时时间,导致请求堆积,系统内存被占用,导致系统失去响应。


四、问题解决

修改系统下参数 vm.dirty,vm.dirty_background_ratio进行调优设置

设置方法

(单次生效)

sysctl -w vm.dirty_ratio=10

sysctl -w vm.dirty_background_ratio=5

sysctl -p

(永久生效,需要重启)

vi /etc/sysctl.conf

vm.dirty_background_ratio=5

vm.dirty_ratio=10