Several situations of Linux automatically reboot without reboot logs in the /var/log/messages

Situation One

This Linux server is a virtual server. If we reboot it though its virtual software, there is no relevant logs in the /var/log/messages.

Situation Two

This Linux server is a member of a pacemaker cluster. If the pacemaker cluster software fences this server for protecting the whole cluster, there is no relate logs in the /var/log/messages.

Situation Three

This Linux server has critical problems in its system or hardware. Core panic of Linux and hardware problem both can reboot the system automatically without any reboot logs in the /var/log/messages.

随笔 19

文字本只是安静且简单的符号,却在历史书里描绘着一个个悲壮的真理

雅典为了自己的民主制度勇敢向前,君士坦丁为了自己的生活方式孤独伫立。人类现代文明的先驱,起源现代科学最多的古典文明,在生命的最后一刻依旧在用孤军死战的方式,向世界展示什么比生命更值得珍视

宣扬人权高于王权和教权的文艺复兴,论证自由、平等、博爱的启蒙运动,用公平公正让人们通过科技艺术创新进行自我成就的实现。一场场充满魔法的科技革艺术命空前提升着人类的生活质量,击碎了中世纪专制制度的所有谎言

推动社会思潮的力量,从来都在每个人自己的手中。面对邪恶时,哪怕只是一句最微弱的反对声,甚至只是用沉默在抗议,都能给这个世界带来意想不到的希望

Linux 启动顺序

第一步启动:BIOS/UEFI

BIOS (Basic Input Output System) 即基本输入输出系统。

UEFI (Unified Extensible Firmware Interface) 即可扩展固件接口。

它们的主要作用是为计算机提供直接、底层的硬件控制和设置。UEFT 是 BIOS 的升级替代方案。

第二步启动:MBR/GPT

MBR (Master Boot Record) 即主引导记录。MBR 通常和 BIOS 搭配,最大分区容量不能超过 2T,最多可以有 3 个主分区,1 个扩展分区,不过扩展分区里可以有多个逻辑分区。

GPT (GUID Partition Table) 即全局唯一标识分区表。GPT 通常和 UEFI 搭配。

它们都是读取硬盘时最先读取的分区,里面有各自的启动代码。

第三步启动:GRUB2

GRUB2 (GRand Unified Bootloader version 2) 即多操作系统启动程序,可以选择系统分区上不同的系统内核,同时也可以向启动的内核传递参数。

第四步启动:initrd/Kernel

initrd (init ramdisk) 即初始化内存盘,作用是:
1) 提供开机必备的单 kernel 文件 (vmlinuz) 没有提供的驱动模块。
2) 通过引导加载程序加载内存,将内存视为临时根 “/” 目录,从中运行程序,之后再将根 “/” 目录转移到硬盘上真正的根 “/” 目录上。


注意:系统启动 initrd 的时间默认上限是 90 秒钟,如果 initrd 加载的时间超过 90 秒钟,则系统会报以下错误:

Warning: dracut-initqueue timeout - starting timeout scripts

(补充链接:Linux 解决启动时,某个盘挂不上或者报错 “Warning: dracut-initqueue timeout – starting timeout scripts”

第五步启动:systemdprocess

systemdprocess,即启动各类程序和进程。

问题排查的方法

方法一:按时间顺序分析 (Chronological Analysis)

根据问题发生的时间线,回溯最近发生了哪些情况和做了哪些变更,通过回溯找到发生问题的原因

方法二:深度价值分析 (Pain Value Analysis)

根据事件的重要性和特点找到其核心点,并根据核心点分析产生问题的核心

方法三:KTKT 分析 (Kepner and Tregoe)

对发生的问题进行定义,对问题的特征进行描述,通过定义和特征逐一排查,找到可能导致问题的原因

方法四:头脑风暴 (Brainstorming)

大家一起什么都想,快速获得任何和问题相关的信息,但是得到信息往往不够客观

方法五:鱼骨图 (Ishikawa Diagrams)

将发生的问题看成一个主线,分析每一条汇入这条主线的分线,这些分线都有可能导致最后出现在主线上的问题,最终找到导致主线问题的原因在哪条分线上

方法六:帕累托分析 (Pareto Analysis)

分析哪些问题影响最大,先解决所有问题中最重要的那 20%,因为往往解决最重要的 20% 问题可能就会达到 80% 的效果

方法七:5 个为什么 (5 Why)

5 个为什么只是一个抽象的概念,真实情况是对发生问题的原因一只追问下去,先问导致问题的原因是什么,根据这个原因再问导致这个原因的原因是什么,直到问到根本原因以后才停止,此方法由日本丰田公司大野耐一发明。使用此方法需要注意:
1) 避免使用借口回答问题
2) 避免在追问的过程中牵扯到人的心理
3) 避免回答问题时推卸责任
4) 避免各个问题之间没有层级关系