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.

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) 避免各个问题之间没有层级关系

WordPress 值得使用的主题和插件

主题

Twenty Seventeen

Twenty Seventeen 是一个开源的 WordPress 主题,非常适合目录较多的网站,首页能够巧妙地将图片和文字结合在一起。

插件

All In One WP Security

All In One WP Security 是一个开源的 WordPress 安全插件,比较全面地对 WordPress 进行安全加强,安装了这个插件以后,基本上就不需要再安装其他安全插件。

Easy WP SMTP

Easy WP SMTP 是一个开源的 WordPress 邮件插件,可以实现 WordPress 通过 SMTP 发送邮件。

Simply Static

Simply Static 是一个开源的 WordPress 动态网站转静态网站插件,可以将动态网站转换成静态网站。

WP-Optimize Cache

WP-Optimize Cache 是一个开源的 WordPress 网站性能优化插件,可以删除无用数据等等。

Health Check & Troubleshooting

Health Check & Troubleshooting 是一个开源的 WordPress 网站健康度检测插件,可以检测网站的各项健康指标。

Username Changer

Username Changer 是一个开源的修改 WordPress 用户名的插件,可以修改用户名

Edit Author Slug

Edit Author Slug 是一个开源的修改 WordPress 用户名下文章链接的插件,可以修改用户发布文章的链接,默认情况下用户发布文章的链接是:https://<domain name>/author/<username>/