首页 > 系统相关 >Linux Kernel 2.6.28 以上有BUG,系统运行第208.5天down机!

Linux Kernel 2.6.28 以上有BUG,系统运行第208.5天down机!

时间:2022-12-30 12:32:47浏览次数:68  
标签:208.5 Kernel 26 06 14 acme kernel 28 内核


简介:

  业务服务器有一台服务器出现意外down机,服务器ping 不通、无法登陆,本想通过公司KVM系统登陆系统重启解决,登陆KVM后发现系统屏幕打印大量的内核错误,KVM无法使用、无法发送重启服务器。果断联系机房人员帮助手工重启,手动重启服务器后服务器运行状态回归正常。

  在服务器重启前通过KVM管理系统能看到系统屏幕上打印的内核错误,此时做了一个页面截屏,后根据屏幕打印的报错关键字,进行查找追踪发现原来我们的linux服务器内核bug问题导致。

  此内核BUG问题会直接导致服务器down机,查找相关资料发现这个内核BUG存在相关触发条件,下面对个人收集整理的一些资料进行归纳,给大家借鉴。


1.官方描述:  


sched_clock() overflow after 208.5 days in Linux Kernel

Linux Kernel 2.6.28版本以上内核存在此问题。


服务器出现故障时系统在屏幕上打印错误大致如下:

​​

Jun  8 14:26:06 acme kernel: irq 19: nobody cared (try booting with the "irqpoll" option)

Jun  8 14:26:06 acme kernel: Pid: 0, comm: swapper Not tainted 2.6.32-220.7.1.el6.x86_64 #1

Jun  8 14:26:06 acme kernel: Call Trace:

Jun  8 14:26:06 acme kernel: <IRQ>  [<ffffffff810db42b>] ? __report_bad_irq+0x2b/0xa0

Jun  8 14:26:06 acme kernel: [<ffffffff810db62c>] ? note_interrupt+0x18c/0x1d0

Jun  8 14:26:06 acme kernel: [<ffffffff810dbd4d>] ? handle_fasteoi_irq+0xcd/0xf0

Jun  8 14:26:06 acme kernel: [<ffffffff8100df09>] ? handle_irq+0x49/0xa0

Jun  8 14:26:06 acme kernel: [<ffffffff814f4dbc>] ? do_IRQ+0x6c/0xf0

Jun  8 14:26:06 acme kernel: [<ffffffff8100ba53>] ? ret_from_intr+0x0/0x11

Jun  8 14:26:06 acme kernel: [<ffffffff8100ba53>] ? ret_from_intr+0x0/0x11

Jun  8 14:26:06 acme kernel: <EOI>  [<ffffffff812c4b0e>] ? intel_idle+0xde/0x170

Jun  8 14:26:06 acme kernel: [<ffffffff812c4af1>] ? intel_idle+0xc1/0x170

Jun  8 14:26:06 acme kernel: [<ffffffff813fa027>] ? cpuidle_idle_call+0xa7/0x140

Jun  8 14:26:06 acme kernel: [<ffffffff81009e06>] ? cpu_idle+0xb6/0x110

Jun  8 14:26:06 acme kernel: [<ffffffff814e5ffc>] ? start_secondary+0x202/0x245

Jun  8 14:26:06 acme kernel: handlers:

Jun  8 14:26:06 acme kernel: [<ffffffffa01e5020>] (rtl8169_interrupt+0x0/0x380 [r8169])



2.经查找资料分析此内核bug经查找资料有3个触发条件;


a:linux系统内核版本Linux Kernel 2.6.28版本以上(函2.8);


b.系统运行208天左右;


c.服务器使用Pentium 4 以上intel CPU(含CPU、32bit/64bit);



很悲催!我们的服务器上面条件全满足。


3.bug相关通报


 版本是2011年发布的  如果没有打过补丁 应该没有修复这个bug

kernel-2.6.32-220.4.2.el6 centos在这个内核版本修复了这个bug


此缺陷在 Linux Kernel 2.6.32.50 / 3.0.13 / 3.1.5 已被修正。



3. 内核升级


经过排查排查发现我们好多服务器都满足上面的内核BUG触发条件,果断安排服务器计划,避免服务器意外DOWN机事情再次发生,下面是对相关操作进行简单记录,以供大家参考:



3.1:确认系统版本和内核版本


[root@slave2 ~]# uname -a

Linux slave2 2.6.32-220.el6.x86_64 #1 SMP Tue Dec 6 19:48:22 GMT 2011 x86_64 x86_64 x86_64 GNU/Linux


[root@slave2 ~]# more /etc/redhat-release

CentOS release 6.2 (Final)


[root@slave2 ~]# more /proc/version

Linux version 2.6.32-220.el6.x86_64 ([email protected]) (gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC) ) #1 SMP Tue Dec 6 19:48:22 GMT 2011

[root@slave2 ~]#


3.2:内核升级:


我使用的是覆盖处理方式,执行如下命令;


yum update -y


升级完成,重启服务器新的内核版本才能生效。


init 6


3.3:检查升级结果:


[root@slave2 ~]# uname -a

Linux master 2.6.32-358.11.1.el6.x86_64 #1 SMP Wed Jun 12 03:34:52 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux


[root@slave2 ~]# more /etc/redhat-release

CentOS release 6.4 (Final)


[root@slave2 ~]# more /proc/version

Linux version 2.6.32-358.11.1.el6.x86_64 ([email protected]) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) ) #1 SMP Wed Jun 12 03:34:52 UTC 2013


系统重启完成后,通过查看发现内核版本已经升级到2.6.32-358,系统升级为6.4目前最新版本。


redhat官方发布消息:

​https://rhn.redhat.com/errata/RHBA-2012-0124.html​


centos官方发布消息

​https://www.centos.org/modules/newbb/viewtopic.php?topic_id=42031​


相关信息:

​https://www.centos.org/modules/newbb/viewtopic.php?topic_id=42031​

​http://bugs.centos.org/view.php?id=4586#c14466​

​http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?topic_id=46348​


​http://bugs.centos.org/view.php?id=5397​


标签:208.5,Kernel,26,06,14,acme,kernel,28,内核
From: https://blog.51cto.com/michaelkang/5979866

相关文章

  • 操作系统实战45讲00028
    你好,我是LMOS。上节课,我带你一起设计了我们Cosmos的进程调度器,但有了进程调度器还不够,因为调度器它始终只是让一个进程让出CPU,切换到它选择的下一个进程上去运行。结合前......
  • Linux 系統移植时在 kernel 中开启 I210 网卡驱动
    I210网卡是一个笔记通用的网卡,现在的kernel里面都带有对应的驱动,不过大部分kernel源码是默认不开启的,我们系统移植时需要用到就把它开启即可。1.makemenuconfig......
  • 考研数学练习题-2022年12月28日
    数量:10......
  • linux kernel seccomp
     _set_seccomp_filter调用flowframeworks/base/core/jni/com_android_internal_os_Zygote.cpp634staticvoidSetUpSeccompFilter(uid_tuid,boolis_child_zygote......
  • leetcode-28找出字符串中第一个匹配项的下标(kmp)
    28.找出字符串中第一个匹配项的下标给你两个字符串haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从0开始)。如果needle不......
  • 【2022.12.28】kaggle上泰坦尼克号的实操(上)
    前言经过一系列的学习,现在想入门kaggle上面的实操,多为模仿参考链接:机器学习入门:Kaggle-titanic(泰坦尼克)生存预测#ThisPython3environmentcomeswithmanyhelpf......
  • 电脑桌面主题(28)和动态视频壁纸(31)合集(收藏)
      最近就是突然被身边朋友的电脑壁纸给吸引到了,在这之前的我一直遵循着“大道至简”的原则,一张Windows原生态静态壁纸走天下,但是作为一个00后我还是“破戒”了,其......
  • [JZOJ5177]【NOIP2017提高组模拟6.28】TRAVEL
    DescriptionSolution显然,答案的L和R一定是某两个边权那么可以直接把边按R排序。枚举L,二分R判断所有的边是否合法,合法的用并查集连起来判断1和N是否在一个集合中即可Co......
  • CS5280H 无网络安装KVM虚拟机的过程
    背景信创海光机器想进行虚拟化自带了银河麒麟V10SP1的操作系统.但是没有安装virt-manager等工具会议室里面的网口又都坏了.所以准备挑战一下无网络安装KVM.过程1......
  • 0CTF2018 Final - baby kernel 学习记录
    doublefetch由于内核态和用户态之间的数据访问竞争导致的条件竞争漏洞。通常条件下,用户向内核传递数据时,内核先通过copy_from_user等函数向内核拷贝数据,但大量复杂......