CentOS 7.1系统自动重启的Bug定位过程
【问题】
有同事反应最近有多台MongoDB的服务器CentOS 7.1系统会自动重启,分析了下问题原因。
【排查过程】
1、 检查系统日志/var/log/message,并没有记录异常信息,journalctl相关日志只记录发生过重启
2、 系统默认配置了kdump,使用crash工具分析/var/crash下的转储文件vmcore,命令如下:
crash /usr/lib/debug/lib/modules/3.10.0-327.36.3.el7.x86_64/vmlinux /tmp/vmcore
3、 可以看到kernel crash时的Call Trace,关键信息标注为黄色字体
crash> bt
PID: 9979 TASK: ffff8804b4020b80 CPU: 2 COMMAND: "crond"
#0 [ffff8804b42db778] machine_kexec at ffffffff81051e9b
#1 [ffff8804b42db7d8] crash_kexec at ffffffff810f27e2
#2 [ffff8804b42db8a8] oops_end at ffffffff8163f448
#3 [ffff8804b42db8d0] no_context at ffffffff8162f561
#4 [ffff8804b42db920] __bad_area_nosemaphore at ffffffff8162f5f7
#5 [ffff8804b42db968] bad_area at ffffffff8162f91b
#6 [ffff8804b42db990] __do_page_fault at ffffffff81642235
#7 [ffff8804b42db9f0] trace_do_page_fault at ffffffff81642403
#8 [ffff8804b42dba28] do_async_page_fault at ffffffff81641ae9
#9 [ffff8804b42dba40] async_page_fault at ffffffff8163e678
[exception RIP: netlink_compare+11]
RIP: ffffffff815560bb RSP: ffff8804b42dbaf8 RFLAGS: 00010246
RAX: 0000000000000000 RBX: 000000049f250000 RCX: 00000000c3637c42
RDX: 00000000000026fb RSI: ffff8804b42dbb48 RDI: 000000049f24fb78
RBP: ffff8804b42dbb30 R8: ffff8804b42dbb44 R9: 0000000000002170
R10: 0000000000000000 R11: ffff8804b42db966 R12: ffff88061dcd2678
R13: ffff8804b42dbb48 R14: ffffffff815560b0 R15: ffff88061b639000
ORIG_RAX: ffffffffffffffff CS: 0010 SS: 0018
#10 [ffff8804b42dbb00] rhashtable_lookup_compare at ffffffff813080d0
#11 [ffff8804b42dbb38] netlink_lookup at ffffffff815569ee
#12 [ffff8804b42dbb68] netlink_getsockbyportid at ffffffff81557d8f
#13 [ffff8804b42dbb80] netlink_alloc_skb at ffffffff81557dff
#14 [ffff8804b42dbbb8] netlink_ack at ffffffff8155a8a9
#15 [ffff8804b42dbbf0] audit_receive at ffffffff811067e7
#16 [ffff8804b42dbc18] netlink_unicast at ffffffff8155a02d
#17 [ffff8804b42dbc60] netlink_sendmsg at ffffffff8155a420
#18 [ffff8804b42dbcf8] sock_sendmsg at ffffffff815112d0
#19 [ffff8804b42dbe58] SYSC_sendto at ffffffff81511841
#20 [ffff8804b42dbf70] sys_sendto at ffffffff815122ce
#21 [ffff8804b42dbf80] system_call_fastpath at ffffffff81646b49
RIP: 00007f4ac19d5353 RSP: 00007ffe233b1fb8 RFLAGS: 00010202
RAX: 000000000000002c RBX: ffffffff81646b49 RCX: 0000000000000000
RDX: 000000000000009c RSI: 00007ffe233b1ff0 RDI: 0000000000000003
RBP: 00007ffe233b1ff0 R8: 00007ffe233b1fe0 R9: 000000000000000c
R10: 0000000000000000 R11: 0000000000000246 R12: ffffffff815122ce
R13: ffff8804b42dbf78 R14: 000000000000044d R15: 0000000000000001
ORIG_RAX: 000000000000002c CS: 0033 SS: 002b
4、在网上搜索,定位到这是kernel Linux 3.10.0-327.36.3.el7.x86_64的bug,详细描述可以参见下面,该bug在 7.3 kernel (3.10.0-514.el7)后修复
https://bugs.centos.org/view.php?id=12012
5、 但考虑到升级系统成本较高,后面尝试定位触发条件,可以看到触发这个bug是crond命令
PID: 9979 TASK: ffff8804b4020b80 CPU: 2 COMMAND: "crond"
6、 借助systemtap工具,在发生crash的kernel函数上加探针,kernel.function("rhashtable_lookup_compare")
抓取到crond等系统命令确实会调用上面的函数
7、考虑到Mongo最近新上了一套系统监控的脚本是通过crontab调度的,而上监控之前服务器重启的情况很少,猜测可能是crontab调度系统监控采集触发了kernel bug
后面计划将采集脚本改为服务的方式观察是否可以规避触发bug
【结论】
由于已发现当前CentOS 7.1存在自动重启的bug,建议后面新上的linux服务器都采用CentOS7.4的系统
Description: CentOS Linux release 7.1.1503 (Core)
Release: 7.1.1503
Linux 3.10.0-327.36.3.el7.x86_64
数据库运维经验分享&MySQL源码学习漫漫路
CentOS 7.1系统自动重启的Bug定位过程的更多相关文章
- Android 系统自动重启Bug(高通平台)
点击打开链接 最近客户反馈了一个Bug,我们的系统用着用着会自动重启,尤其是在拨号的时候极容易死机或者进入下载模式.根据老大和高通的支持得到了一个解决方案. 在Android系统中,有这么一个文件夹: ...
- dell PowerEdge R720 自动重启分析
dell PowerEdge R720 自动重启分析 摘要: 一,问题描述: 在同一批服务器当中,碰到这样一台服务器,如果不跑任何服务时没有问题,但一跑任务就是自动重启.既然同样的系统别的服务器都没出 ...
- Win10自动重启原因怎么查Windows10无故自动重启
电脑偶尔自动重启,可能很少用户会在意,若电脑经常无故重启,那么应该怎么办,怎么查找电脑无故自动重启原因呢?下面就以Windows10系统自动重启为例,来查查WIN10无故重启是什么原因导致.百度经验: ...
- PHPWAMP自启异常,服务器重启后Apache等服务不会自动重启的原因分析
在使用“PHPWAMP自动任务”时,不少学生遇到如下问题: “phpwamp绿色集成环境重启动电脑(服务器)后,不会自动启动网站服务” (如果是其他环境或是自己搭建时遇到此问题,也是可以用此法解决) ...
- 【破解】设置 Codesys for Raspberry 每118分钟自动重启Runtime
Codesys for Raspberry 无授权时,试用2小时后会自动退出,重启Runtime后就又恢复2小时试用时长. 官网授权购买地址: [单核] https://store.codesys.c ...
- RookeyFrame Bug 编号显示 系统自动生成 的问题,有时候依旧会显示text文本框
编号显示 系统自动生成 的问题,有时候依旧会显示text文本框 1.在线新建model -> 启用编码规则 -> 新建字段Code(主键) 2.跟Code字段 创建编码规则 3.新增菜单 ...
- win10关机之后自动重启(系统更新之后出现这个问题)
最近更新了一把win10之后出现无法关机,关机之后直接又开机,无限循环状态.最近几天没空处理一直是强关笔记本下班的. 今天打了一把命令: shutdown /s /t 0 发现关机正常,本来打算整个脚 ...
- centos 监控进程,并自动重启
编辑Crontab crontab -e 按i进行编辑 */ * * * * /root/monitor.sh # 每分钟运行一遍monitor.sh脚本 * * * /sbin/reboot # 每 ...
- 解决Android后台清理APP后,程序自动重启的问题
最近解决了一个Android APP的bug,发现APP在被后台清理后,会自动重启.现象很奇怪,有的手机(HTC)后台清理后,程序会再次重启,而有的手机(小米)则不会.猜想可能是小米手机内部做了处理, ...
随机推荐
- Informatic学习总结_day02
1.sort组件(排序) 2.aggregater组件 聚集组件 sum 如果不排序,去做汇总的话,一个大的session 运行起来会很慢 3.join控件 连接组件 对于异构的数据源,一个 ...
- LaTeX 对齐问题
一.一行文本对齐 \leftline{左对齐} \centerline{居中} \rightline{右对齐} 二.多行文本或段落对齐 左对齐 \begin{flushleft}...\end{flu ...
- 非常干货之Python资源大全
非常干货之Python资源大全
- MySQL基于LVM快照的备份恢复(临时)
目录1.数据库全备份2.准备LVM卷3.数据恢复到LVM卷4.基于LVM快照备份数据5.数据灾难恢复6.总结 写在前面:测试环境中已安装有mysql 5.5.36数据库,但数据目录没有存放在LVM卷, ...
- 【转】通过xml处理sql语句时对小于号与大于号的处理转换
当我们需要通过xml格式处理sql语句时,经常会用到< ,<=,>,>=等符号,但是很容易引起xml格式的错误,这样会导致后台将xml字符串转换为xml文档时报错,从而导致程序 ...
- Ubuntu Eclipse C++运行问题:launch failed.Binary not found
在Ubuntu下的Eclipse C++环境出现launch failed.Binary not found问题时,可采用如下解决方案: (1)首先检查系统中是否成功安装g++.如果console输出 ...
- zabbix3.0.4关于java服务端程序内存溢出的处理
关于java服务端程序内存溢出的处理 java服务端程序内存溢出会产生jvm.log文件,此时程序会挂掉,无法正常处理业务,需要重启服务 思路: 当存在jvm.log这个文件的时候则触发clean_j ...
- nginx报错:403 Forbidden 并且访问首页index.php是下载文件的状态
nginx报错:403 Forbidden 并且访问首页index.php是下载文件的状态,不能正常解析php 系统有其他两个站访问是正常的 看日志没有看到明显的错误 搜索了下: 答案如下: php的 ...
- Linux(CentOS7)安装zip、unzip命令
安装命令: yum install -y unzip zip
- Python-ccs动画及阴影
动画及阴影 0. 什么时候该用什么布局 <!-- 定位布局: 以下两种布局不易解决的问题, 盒子需要脱离文档流处理 --> <!-- 浮动布局: 一般有block特性的盒子,水平排列 ...