使用 SysRq 键安全重启挂起的 Linux
这篇讲的是,当一台 Linux 服务器(比如 NFS 文件服务器)完全卡死——能 ping 通但无法通过 SSH 或本地终端登录时,在万不得已需要重启前,如何避免数据丢失和文件系统损坏。 问题的根源在于,Linux 为了性能会将大量数据暂存在内存缓存中,而非实时写入磁盘。如果此时强制断电重启,这些尚未落盘的数据就会丢失,导致不一致或损坏。文章的解决方法是利用 Linux 内核的“Magic SysRq”机制。这个机制很特别,它工作在系统服务层之下,只要系统还能响应键盘中断,就能通过一组特定的按键组合执行底层操作。 作者详细介绍了标准的安全重启序列:Alt + SysRq + R-E-I-S-U-B。这六个字母并非随意组合,而是一套严谨的操作流程:先让键盘进入原始模式(R),然后温和地终止除初始化进程外的所有进程(E、I),接着将内存缓冲区强制同步到磁盘(S),再将文件系统重新挂载为只读(U),最后安全重启(B)。每一步之间还需留出适当的等待时间。 对于紧急情况,文章也给出了一个实用简化版:通常只用 Alt + SysRq + S(同步磁盘)和 Alt + SysRq + B(重启)。在按下 S 键并看到同步完成的提示后,再按 B 键,就能在数据安全的前提下完成重启。这确实是在系统看似完全无解时,一个能挽救数据和系统的关键技巧。