V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
king1688888888
V2EX  ›  Linux

请教如何分析 Linux 系统意外重启

  •  
  •   king1688888888 · 2020-01-12 19:55:56 +08:00 · 10037 次点击
    这是一个创建于 1768 天前的主题,其中的信息可能已经有所发展或是发生改变。
    单位很偶尔会有服务器无故重启,操作系统为 RHEL6,自己总结了一些经验,想请大家补充和分享更好的思路,谢谢。

    1.输入 last reboot 看重启时间,之后翻查 /var/log/messages,看重启时间之前有什么致命报错;
    2.使用 sosreport、xsos 相关工具,查看 CPU、内存等资源是否不足,排查计划任务等。
    19 条回复    2023-11-24 15:59:52 +08:00
    mikeguan
        1
    mikeguan  
       2020-01-12 23:23:28 +08:00 via Android
    需要排查下硬件情况,特别是内存 /硬盘是否报错,有条件还是去机房看下具体情况比较好
    king1688888888
        2
    king1688888888  
    OP
       2020-01-12 23:29:17 +08:00
    @mikeguan 嗯假设是硬件没有任何告警的情况下,单纯从操作系统上分析。
    sean10
        3
    sean10  
       2020-01-12 23:48:27 +08:00 via Android
    抓内核日志,看是不是内存页访问报错
    flowercoder
        4
    flowercoder  
       2020-01-13 00:09:56 +08:00
    我能想到的是不知道你那服务器有没有管理口,进入设置的地方把日志打开,把日志记录打开,等着问题再度复现咯。
    还有就是看看 corntab 有没有什么自动重启的设定咯 /有没有人远程操作关机呢?还有能想到的就是电源问题了,双电还是单电?电源是做冗余的吗?有条件的换个电源看看。另外系统有条件用 vcenter 管理,重要的服务器可以在做好服务器群组后做 HA
    ysc3839
        5
    ysc3839  
       2020-01-13 00:26:23 +08:00 via Android
    把 Linux 的 console 改成串口,然后外接一个设备记录串口输出内容?假如是 kernel panic 导致的重启,重启后也许不会留下任何信息。这种情况可能没什么好办法。
    Enya
        6
    Enya  
       2020-01-13 01:03:35 +08:00 via iPhone
    配 kdump 服务,抓 vmcore,用 crash 分析。这才是标准操作啊。

    搞 linux 的为什么不上 docs.redhat.com 看专业文档,中文版的都有了。
    nevin47
        7
    nevin47  
       2020-01-13 08:00:23 +08:00 via Android
    开 crash 看临终遗言和 vmcore,只要能复现的问题分分钟找到原因
    xsen
        8
    xsen  
       2020-01-13 09:10:16 +08:00
    1.若是系统原因导致的重启(包括不限于应用、内核模块或驱动等,及内存泄露或溢出)
    基本是可以通过系统日志可以看到端倪。系统或内核日志一般都在 /var/log 下

    2.对于可能的内核 crash,建议开启 kdump
    其实对于这个,#1 中的日志是可以获取到蛛丝马迹的

    通过系统的 uptime 可以初步确定系统重启的时间点,然后结合系统日志,可以初步确定是软件原因(上述的#1/2 )导致的重启

    若日志都很正常,那基本是可以确定是硬件的原因,比如电源或别的
    MeteorCat
        9
    MeteorCat  
       2020-01-13 09:43:35 +08:00 via Android
    kdump+1
    zydrsnuo
        10
    zydrsnuo  
       2020-01-13 11:06:25 +08:00 via Android
    除了看日志和 vmcore,还要考虑硬件的问题。
    我遇到过两次硬件问题,一次是机柜送风口被遮住了导致温度过高,一次是内存条有问题。
    温度监控可以提前添加到 zabbix 之类的监控平台,也可以看 IPMI。
    内存检测可以用 memtest 做个可启动优盘。也可以往 /dev/shm 里写数据,同时查看内存错误计数。
    查看内存错误计数: grep "[0-9]" /sys/devices/system/edac/mc/mc*/csrow*/ch*ce_count ​
    zhao305149619
        11
    zhao305149619  
       2020-01-13 11:27:55 +08:00
    @Enya 你这,这个要是 kernel panic 才会有 vmcore 啊,并不是标准操作,很多系统 hang 住的情况 kdump 不一定工作.
    zhao305149619
        12
    zhao305149619  
       2020-01-13 11:29:18 +08:00
    IPMI 是直接入口,先排除 messages 有无明显的错误,甚至直接到 /var/crash 看有没有日志,第二看一下 IPMI 是否是硬件错误,最后查看一下是不是 watchdog 导致问题重启.
    dorothyREN
        13
    dorothyREN  
       2020-01-13 12:20:56 +08:00
    rhel 还折腾啥啊,直接 call 技术支持。
    lvzhiqiang
        14
    lvzhiqiang  
       2020-01-13 16:16:12 +08:00
    服务器型号? 如果在保,直接找厂家帮忙分析下,排除人为设置,一般 Linux 运行都是非常非常稳定的。
    lvzhiqiang
        15
    lvzhiqiang  
       2020-01-13 16:16:57 +08:00
    @dorothyREN rhel 除非业务非常非常重要,一般很少买技术支持的。
    dorothyREN
        16
    dorothyREN  
       2020-01-13 17:54:11 +08:00
    @lvzhiqiang #15 不买技术支持为什么要用 rhel 呢,centos,ubuntu,suse 不香吗
    lvzhiqiang
        17
    lvzhiqiang  
       2020-01-14 08:13:24 +08:00
    @dorothyREN 有些只买了一年,后续不买的。 不买的话,但是用 centos 和用 rhel 其实没有区别,一样没有技术支持。只是 rhel 发行版 ,系统相对更成熟的更稳定的。
    iceecream
        18
    iceecream  
       2020-01-20 17:36:21 +08:00
    软件:Kdump+crash
    硬件直接看 BMC 咯。
    mikejson
        19
    mikejson  
       356 天前
    考虑一下电压不稳的情况,或者电源适配器有问题。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3669 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 04:22 · PVG 12:22 · LAX 20:22 · JFK 23:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.