服务器非法重启后导致服务器进入救援模式
前段时间遇到一个服务器问题:非法重启设备后,服务器进入救援模式,数据盘也不显示挂载是否成功。
说来这个问题,我觉得还挺奇葩。今天就来跟大家分享下整个过程以及我的处理方法。避免大家在今后的学习或工作中遇到跟我同样的问题。
一、问题背景
有一天,研发小伙伴跟我反馈有一台服务器连不上,一直卡在如下页面。
该页面是 Xshell 连接某一台服务器时,建立的连接,按Ctrl+Alt+]
键切换到本地 Shell 终端。当我看到卡在该页面时,毫无犹豫的自己也尝试了起来,果然也是连不上。前一天还正常连接,第二天就出问题了?
还好服务器有配置远程管理地址,通过远程控制管理页面的方式启动 iKVM HTML5 和远程管理服务器,这样就能登到这台出故障的设备上查看服务器界面处于一种什么样的状态。
登到这台故障的服务器后,直接重启了服务器,然后 Xshell 再次尝试连接,是可以远程连接的。难道这就是传说中的重启治百病,如此简单粗暴?
当进入系统后,执行简单的命令都提示输入/输出错误。
过不久后,直接不建立连接了,彻底挂了。。。
再通过远程控制管理页面查看服务器当前状态,一看进入到救援模式了。
到该模式下后,
- 输入
journalctl -xb
命令,可查看系统日志 - 输入
systemctl reboot
命令,重启系统 - 输入
systemctl default
或^D
命令,再次尝试进入默认模式 - 输入 root 用户密码,则可以进入系统
根据日志报错提示:挂载文件系统可以纠正该问题。
二、解决方案
执行df -h
命令,用于在 Linux 操作系统下显示文件系统的磁盘使用情况。
使用-h
选项以KB
以上的单位来显示,可读性高。
- 第一列:
Filesystem
文件系统的名称 - 第二列:
Size
文件系统的容量 - 第三列:
Used
已用多少的磁盘空间 - 第四列:
Avail
可用多少的磁盘空间 - 第五列:
Use%
磁盘使用率 - 第六列:
Mounted On
挂载点
根据上图结果来看,没有/dev/sdb1
文件系统所挂载的/bigdata
目录磁盘情况。
尝试将/dev/sdb1
取消挂载,重新挂载,反复报不同的错误。
通过 RAID 卡管理界面查看状态也是 Online。
当如果重启设备,能看到如下界面,则说明正在初始化设备。
恰巧,这台故障的服务器有多块硬盘组成的 44T 的一个目录有存放 46% 的数据,在有数据的情况下,如何不格式化磁盘重新挂载呢?
取消挂载