Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
king1688888888
V2EX  ›  Linux

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

  •  
  •   king1688888888 · Jan 12, 2020 · 11763 views
    This topic created in 2497 days ago, the information mentioned may be changed or developed.
    单位很偶尔会有服务器无故重启,操作系统为 RHEL6,自己总结了一些经验,想请大家补充和分享更好的思路,谢谢。

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

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

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

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

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