服务器进入紧急模式的解决方法
由于服务器安装环境和使用环境不一定满足要求,有些用户经常直接拔掉服务器电源,容易导致服务器异常断电后文件系统损坏,进入紧急模式(emergency mode)。本案例以某项目上遇到的紧急模式问题进行经验分享。
进入紧急模式的表现是平台运管进不去,也无法ping通服务器地址,接上显示器会跳出如下界面,表示进入了紧急模式,一般是由于opt未挂载导致。此时需要按照提示输入root账户的密码,会进入紧急模式的指令行界面。
此时的服务器还没有完全运行,需要输入lsblk指令查看分区挂载情况,如下图,可以看到part行下有lvm,且右侧无地址的均是未挂载的,以centos_hikvision-pool_system为例,需要修复分区,输入指令/user/sbin/xfs_repair –L /dev/mapper/centos_hikvision-pool_system 。需要注意该指令行内包含两种横杠,需要仔细查看,不要输错。将所有的未挂载的分区都进行挂载,具体命令行需要根据实际现场服务器lsblk得出的实际分区,替换上述指令操作
将所有分区都挂载后输入reboot重启服务器,一般都可以解决问题,如果还是处于紧急模式,就要找接口人做进一步的排查了。
如果是LVM管理分区的
可以通过 ls -l /dev/mapper 来查看可用的设备。
一般可以看到2到3个链接文件,centos-home -> ../dm-1, centos-root->../dm-0
执行xfs_repair /dev/dm-0 正常情况下,这个分区就修复好了,再接着执行 xfs_repair /dev/dm-1,正常情况下,这个分区也会修复好。
如果不是LVM分区管理的,可以 通过 ls /dev 查看,一般会有sda,sda1,sda2.
可以执行 xfs_repair /dev/sda1 和 xfs_repair /dev/sda2 进行修复。
如果修复失败,可以加上 -L 参数,这样可能会丢失部分数据。
修复的过程中可能会出错,提示找不到superblock。
下面这篇文章很清楚的讲述了superblock,inode,block的关系,可以帮助我们理解
https://blog.csdn.net/Ohmyberry/article/details/80427492
dm是device mapper的意思,主要涉及的linux下卷的管理。卷管理通过映射的方法建立了逻辑卷。每个逻辑卷相当于一个分区。
————————————————
版权声明:本文为CSDN博主「oldlionel」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/theoldsod2000/article/details/105988902
评论列表: