热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[troubleshoot][daily][redhat]设备反复重启故障排查

一台服务器设备,反复重启,每天重启数次。一:原因分析及初步排异。1.硬件,内存主板,一一更换,甚至除了硬盘将整台机器都换掉了,依然重启。2.排除电源问题,换了电源线,换了插座,还是重启。3

一台服务器设备,反复重启,每天重启数次。

 

一: 原因分析及初步排异。

1.  硬件,内存主板,一一更换,甚至除了硬盘将整台机器都换掉了,依然重启。

2.  排除电源问题,换了电源线,换了插座,还是重启。

3.  那么接下来,还有三种可能:

  A。内核问题,内核crash。(redhat的稳定性还是十分让人信赖的,这种可能性不高)

  B。硬盘或文件系统故障。本质上,这样会导致内核crash。

  C。程序自主reboot。(我们自己的程序reboot,或进了黑客放了reboot脚本。好无聊的黑客。。。。)

 

二: 最好排除的,就是先解决内核的问题。

  内核在crash那一刻是会发现,自己即将crash的,于是他会在临死前留下一些信息。告诉用户我发生了什么。 可是问题在于:文件系统的复杂性,会导致内核临死之前文件系统也随之崩溃了。

  通过重启之后查看日志,确实没有留下有用的信息。

  这是时候我们还有另一种手段,netcosole,他的功能是吧内核日志从socket以udp的方式,自组IP包而不走协议栈,讲包推出网卡端口。包的格式为syslog格式。

netcosole使用:

1.  修改配置文件

[root@S205 ~]# cat /etc/sysconfig/netconsole                                                                                                                                                 
# This
is the configuration file for the netconsole service. By starting
#
this service you allow a remote syslog daemon to record console output
#
from this system.

# The local port number that the netconsole module will use
LOCALPORT
=6666

# The ethernet device to send console messages
out of (only set this if it
# can
't be automatically determined)
DEV=enp3s0

# The IP address of the remote syslog server to send messages to
SYSLOGADDR
=192.168.10.214

# The listening port of the remote syslog daemon
SYSLOGPORT
=514

# The MAC address of the remote syslog server (only
set this if it can't
# be automatically determined)
SYSLOGMACADDR
=40:8d:5c:22:53:18
[root@S205
~]#
cat /etc/sysconfig/netconsole

2.  启动服务

[root@S205 ~]# systemctl start netconsole
[root@S205
~]# systemctl enable netconsole

 

当前系统及内核版本:

[root@S205 ~]# cat /etc/redhat-release 
CentOS Linux release
7.3.1611 (Core)
[root@S205
~]# uname -a
Linux S205
3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@S205
~]#

 

成功收到内核crash日志:

Jul 25 08:14:54 192.168.10.205 [20239.422386] NMI watchdog: Watchdog detected hard LOCKUP on cpu 7
Jul
25 08:14:54 192.168.10.205
Jul
25 08:14:54 192.168.10.205 [20239.422529] Kernel panic - not syncing: Hard LOCKUP
Jul
25 08:14:54 192.168.10.205 [20239.422543] CPU: 7 PID: 0 Comm: swapper/7 Not tainted 3.10.0-514.el7.x86_64 #1
Jul
25 08:14:54 192.168.10.205 [20239.422561] Hardware name: LENOVO 10C0A038CD/ , BIOS FCKT73AUS 08/28/2015
Jul
25 08:14:54 192.168.10.205 [20239.422579] ffffffff818d9784
Jul
25 08:14:54 192.168.10.205 90a5d9572fc8872b
Jul
25 08:14:54 192.168.10.205 ffff88041edc5b18
Jul
25 08:14:54 192.168.10.205 ffffffff81685fac
Jul
25 08:14:54 192.168.10.205
Jul
25 08:14:54 192.168.10.205 [20239.422603] ffff88041edc5b98
Jul
25 08:14:54 192.168.10.205 ffffffff8167f3b3
Jul
25 08:14:54 192.168.10.205 0000000000000010
Jul
25 08:14:54 192.168.10.205 ffff88041edc5ba8
Jul
25 08:14:54 192.168.10.205
Jul
25 08:14:54 192.168.10.205 [20239.422627] ffff88041edc5b48
Jul
25 08:14:54 192.168.10.205 90a5d9572fc8872b
Jul
25 08:14:54 192.168.10.205 ffff88041edc5ba8
Jul
25 08:14:54 192.168.10.205 ffffffff818d948a
Jul
25 08:14:54 192.168.10.205
Jul
25 08:14:54 192.168.10.205 [20239.422651] Call Trace:
Jul
25 08:14:54 192.168.10.205 [20239.422658]
Jul
25 08:14:54 192.168.10.205 [] dump_stack+0x19/0x1b
Jul
25 08:14:54 192.168.10.205 [20239.422678] [] panic+0xe3/0x1f2
Jul
25 08:14:54 192.168.10.205 [20239.422692] [] nmi_panic+0x3f/0x40
Jul
25 08:14:54 192.168.10.205 [20239.422706] [] watchdog_overflow_callback+0xf6/0x100
Jul
25 08:14:54 192.168.10.205 [20239.422725] [] __perf_event_overflow+0x8e/0x1f0
Jul
25 08:14:54 192.168.10.205 [20239.422741] [] perf_event_overflow+0x14/0x20
Jul
25 08:14:54 192.168.10.205 [20239.422759] [] intel_pmu_handle_irq+0x1f8/0x4e0
Jul
25 08:14:54 192.168.10.205 [20239.422776] [] perf_event_nmi_handler+0x2b/0x50
Jul
25 08:14:54 192.168.10.205 [20239.422793] [] nmi_handle.isra.0+0x69/0xb0
Jul
25 08:14:54 192.168.10.205 [20239.422808] [] do_nmi+0x133/0x410
Jul
25 08:14:54 192.168.10.205 [20239.422822] [] end_repeat_nmi+0x1e/0x2e
Jul
25 08:14:54 192.168.10.205 [20239.422838] [] ? _raw_spin_lock_irqsave+0x47/0x60
Jul
25 08:14:54 192.168.10.205 [20239.422855] [] ? _raw_spin_lock_irqsave+0x47/0x60
Jul
25 08:14:54 192.168.10.205 [20239.422871] [] ? _raw_spin_lock_irqsave+0x47/0x60
Jul
25 08:14:54 192.168.10.205 [20239.422887] <>
Jul
25 08:14:54 192.168.10.205
Jul
25 08:14:54 192.168.10.205 [] nvkm_fantog_update+0x43/0x110 [nouveau]
Jul
25 08:14:54 192.168.10.205 [20239.422947] [] nvkm_fantog_set+0x38/0x40 [nouveau]
Jul
25 08:14:54 192.168.10.205 [20239.422976] [] nvkm_fan_update+0xc8/0x210 [nouveau]
Jul
25 08:14:54 192.168.10.205 [20239.423005] [] nvkm_therm_fan_set+0x19/0x20 [nouveau]
Jul
25 08:14:54 192.168.10.205 [20239.423035] [] nvkm_therm_update+0x97/0x310 [nouveau]
Jul
25 08:14:54 192.168.10.205 [20239.423064] [] nvkm_therm_alarm+0x17/0x20 [nouveau]
Jul
25 08:14:54 192.168.10.205 [20239.423106] [] nvkm_timer_alarm_trigger+0x103/0x150 [nouveau]
Jul
25 08:14:54 192.168.10.205 [20239.423147] [] nvkm_timer_alarm+0x60/0xb0 [nouveau]
Jul
25 08:14:54 192.168.10.205 [20239.423176] [] alarm_timer_callback+0xd1/0xe0 [nouveau]
Jul
25 08:14:54 192.168.10.205 [20239.423207] [] nvkm_timer_alarm_trigger+0x103/0x150 [nouveau]
Jul
25 08:14:54 192.168.10.205 [20239.423238] [] nvkm_timer_alarm+0x60/0xb0 [nouveau]
Jul
25 08:14:54 192.168.10.205 [20239.423266] [] nvkm_fantog_update+0x10a/0x110 [nouveau]
Jul
25 08:14:54 192.168.10.205 [20239.423295] [] nvkm_fantog_alarm+0x1a/0x20 [nouveau]
Jul
25 08:14:54 192.168.10.205 [20239.423324] [] nvkm_timer_alarm_trigger+0x103/0x150 [nouveau]
Jul
25 08:14:54 192.168.10.205 [20239.423355] [] nv04_timer_intr+0x6b/0xb0 [nouveau]
Jul
25 08:14:54 192.168.10.205 [20239.423384] [] nvkm_timer_intr+0x14/0x20 [nouveau]
Jul
25 08:14:54 192.168.10.205 [20239.423419] [] nvkm_subdev_intr+0x17/0x20 [nouveau]
Jul
25 08:14:54 192.168.10.205 [20239.423458] [] nvkm_mc_intr+0x79/0x110 [nouveau]
Jul
25 08:14:54 192.168.10.205 [20239.423486] [] nvkm_pci_intr+0x55/0xa0 [nouveau]
Jul
25 08:14:54 192.168.10.205 [20239.423503] [] handle_irq_event_percpu+0x3e/0x1e0
Jul
25 08:14:54 192.168.10.205 [20239.423521] [] handle_irq_event+0x3d/0x60
Jul
25 08:14:54 192.168.10.205 [20239.423536] [] handle_edge_irq+0x77/0x130
Jul
25 08:14:54 192.168.10.205 [20239.424012] [] handle_irq+0xbf/0x150
Jul
25 08:14:54 192.168.10.205 [20239.424491] [] ? tick_check_idle+0x8a/0xd0
Jul
25 08:14:54 192.168.10.205 [20239.424967] [] ? atomic_notifier_call_chain+0x1a/0x20
Jul
25 08:14:54 192.168.10.205 [20239.425445] [] do_IRQ+0x4f/0xf0
Jul
25 08:14:54 192.168.10.205 [20239.425921] [] common_interrupt+0x6d/0x6d
Jul
25 08:14:54 192.168.10.205 [20239.426389]
Jul
25 08:14:54 192.168.10.205 [] ? cpuidle_enter_state+0x52/0xc0
Jul
25 08:14:54 192.168.10.205 [20239.426863] [] cpuidle_idle_call+0xd9/0x210
Jul
25 08:14:54 192.168.10.205 [20239.427314] [] arch_cpu_idle+0xe/0x30
Jul
25 08:14:54 192.168.10.205 [20239.427793] [] cpu_startup_entry+0x245/0x290
Jul
25 08:14:54 192.168.10.205 [20239.428222] [] start_secondary+0x1ba/0x230
Jul
25 08:18:03 192.168.10.205 [ 2.633081] nouveau 0000:01:00.0: priv: HUB0: 085014 ffffffff (1b70820b)
Jul
25 08:20:01 S214 systemd: Started Session 171 of user root.
Jul
25 08:20:01 S214 systemd: Starting Session 171 of user root.
Jul
25 08:30:01 S214 systemd: Started Session 172 of user root.

 

这是正确的处理方式,不是去深入调查原因,也不是去hacking。

1. 升至最新版稳定内核。

2. 回退至前一版稳定内涵。

[root@S205 ~]# yum upgrade
Installing:
kernel                                                x86_64                              3.10.0-514.26.2.el7                                    updates                               37 M

 

已升最新,待观察:

[root@S205 ~]# cat /etc/redhat-release 
CentOS Linux release
7.3.1611 (Core)
[root@S205
~]# uname -a
Linux S205
3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

 

三:仍然重启,现象与错误信息一致。

  参考:https://stackoverflow.com/questions/44039958/kernel-panic-not-syncing-watchdog-detected-hard-lockup

  好像是 nvidia 显卡的问题。

[root@S205 ~]# cat /etc/default/grub |grep CMDLINE
GRUB_CMDLINE_LINUX
="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rd.driver.blacklist=nouveau nomodeset rhgb quiet"
[root@S205
~]#

  增加内核参数:rd.driver.blacklist=nouveau nomodeset 

  再观察。

 

四:Fixed

连续24小时未重启。

完。

 


推荐阅读
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文介绍了如何使用iptables添加非对称的NAT规则段,以实现内网穿透和端口转发的功能。通过查阅相关文章,得出了解决方案,即当匹配的端口在映射端口的区间内时,可以成功进行端口转发。详细的操作步骤和命令示例也在文章中给出。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了在CentOS 7.x上进行端口映射配置的方法,通过修改内核和配置防火墙实现端口映射。作者分享了自己使用华为服务器进行端口映射的经验,发现网速比直连还快且稳定。详细的配置过程包括开启系统路由模式功能、设置IP地址伪装、设置端口映射等。同时,还介绍了如何监听本地端口的tcp请求,以及删除规则和开放的端口的方法。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • 概述H.323是由ITU制定的通信控制协议,用于在分组交换网中提供多媒体业务。呼叫控制是其中的重要组成部分,它可用来建立点到点的媒体会话和多点间媒体会议 ... [详细]
  • SQL Server 2008 到底需要使用哪些端口?
    SQLServer2008到底需要使用哪些端口?-下面就来介绍下SQLServer2008中使用的端口有哪些:  首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 服务器上的操作系统有哪些,如何选择适合的操作系统?
    本文介绍了服务器上常见的操作系统,包括系统盘镜像、数据盘镜像和整机镜像的数量。同时,还介绍了共享镜像的限制和使用方法。此外,还提供了关于华为云服务的帮助中心,其中包括产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题和视频帮助等技术文档。对于裸金属服务器的远程登录,本文介绍了使用密钥对登录的方法,并提供了部分操作系统配置示例。最后,还提到了SUSE云耀云服务器的特点和快速搭建方法。 ... [详细]
  • HSRP热备份路由器协议的应用及配置
    本文介绍了HSRP热备份路由器协议的应用及配置方法,包括设计目标、工作原理、配置命令等。通过HSRP协议,可以实现在主动路由器故障时自动切换到备份路由器,保证网络连通性。此外,还介绍了R1和R2路由器的配置方法以及Sw1和Sw2交换机的配置方法,最后还介绍了测试连通性和路由追踪的方法。 ... [详细]
  • 三、寻找恶意IP并用iptables禁止掉找出恶意连接你的服务器80端口的IP,直接用iptables来drop掉它;这里建议写脚本来运行, ... [详细]
author-avatar
找唐娃娃_622
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有