报错内容及说明

  • 报错内容如下图
    下面图片是在机房接显示器拍摄的图片
    在这里插入图片描述

  • 简单来说发生如上图的错误原因是:”/etc/fstab文件挂载磁盘自检过不去【挂载源文件损坏或系统识别不到导致】“,所以导致不能正常进入系统,虽然现在故障发生在服务器系统上,但服务器底层终究也是一个centos而已,很久以前我写过一篇虚拟机无法正常启动的博客,报错原因和这一摸一样,博客如下:
    linux系统无法正常启动

  • 注:在上面图片界面,是可以直接输入root密码进入系统的【此时的系统非正常系统,很多功能用不了,类似于安全模式】,如下图
    在这里插入图片描述

处理方法

方式一【根本解决】

  • 一般服务器开机出现该情况,服务器类型都是存储服务器。。。。【因为只有存储服务器会在/etc/fstab中写入挂载信息,如果是做ceph集群的,这里面可以不用写挂载信息的,挂载信息会在集群中指定,服务器开机以后会自动挂载osd(硬盘),这样也从根本上解决了出现该问题的可能性】
    这种情况可以直接通过编辑:/etc/fstab文件解决【因为出现这种情况就是这里面的挂载信息出问题了】

  • 开机启动的时候录屏,因为该界面不能滚动屏幕,屏幕信息划过就没了。
    在最后阶段找到下图中的信息【红色TIME开头,后面有uuid名称】
    在这里插入图片描述

  • 然后到Give root password for maintenance (or type Control-D to continue):_界面输入root密码进入安全模式以后,执行:vi /etc/fstab
    注释掉上面图中TIME超时后面的UUID,然后执行reboot重启即可正常进入系统

  • 如下【操作过程没有截图,下面是重启正常进入系统后的文件内容,可以看到注释掉上面截图中5条UUID内容的】

[root@stor01 ~]# cat /etc/fstab | tail -n 9
/dev/mapper/rhel_stor01-swap swap                    swap    defaults        0 0
UUID=e19000ab-98dd-430f-9cf4-0839c6438618 /var/lib/ceph/osd/ceph-2 xfs defaults 0 0
#UUID=800e1ad6-f694-4757-afdf-02eed3e8d454 /var/lib/ceph/osd/ceph-3 xfs defaults 0 0
UUID=660cb5c9-3046-4e8a-90a6-89005156b549 /var/lib/ceph/osd/ceph-4 xfs defaults 0 0
#UUID=ece6f522-4f79-43ee-8f99-f9853e150681 /var/lib/ceph/osd/ceph-5 xfs defaults 0 0
#UUID=a86824e3-2487-40dd-86c0-7370eba97ab5 /var/lib/ceph/osd/ceph-6 xfs defaults 0 0
#UUID=243a446d-d76a-4ad8-90d6-a00918fa41f5 /var/lib/ceph/osd/ceph-7 xfs defaults 0 0
UUID=ac467033-7ca1-4fcf-8ce2-44418b27c252 /var/lib/ceph/osd/ceph-160 xfs defaults 0 0
#UUID=c0731785-ccf7-4390-86b9-b8824537bf91 /var/lib/ceph/osd/ceph-161 xfs defaults 0 0
[root@stor01 ~]# 

方式二【网上方法】

说明

  • 网上也有很多文章是用:fsck命令执行修复来实现
    不建议一开始就使用这种方式啊,还是用上面的方式注释掉新的硬盘挂载信息更妥,除非你确定知道某个挂载目录信息出问题了需要使用fsck来修复。
    或者新的挂载信息都注释完了依旧进不去系统,可以使用fsck命令来修复:/usr,/home,/boot这3个分区进行尝试。

fsck命令

语法:fsck options drives

  • fsck命令[options]参数说明
    • -a 不询问使用者意见,便自动修复文件系统。
    • -b 指定superblock,而不使用预设的superblock。
    • -B<区块大小> 指定区块的大小,单位为字节。
    • -c 一并执行badblocks,以标示损坏的区块。
    • -C 将检查过程的信息完整记录在file descriptor中,使得整个检查过程都能完整监控。
    • -d 显示排错信息。
    • -f 即使文件系统没有错误迹象,仍强制地检查正确性。
    • -F 执行前先清除设备的缓冲区。
    • -l<文件> 将文件中指定的区块加到损坏区块列表。
    • -L<文件> 先清除损坏区块列表,再将文件中指定的区块加到损坏区块列表。因此损坏区块列表的区块跟文件中指定的区块是一样的。
    • -n 以只读模式开启文件系统,并采取非互动方式执行,所有的问题对话均设置以"no"回答。
    • -p 不询问使用者意见,便自动修复文件系统。
    • -r 此参数只为了兼容性而存在,并无实际作用。
    • -s 如果文件系统的字节顺序不适当,就交换字节顺序,否则不做任何动作。
    • -S 不管文件系统的字节顺序,一律交换字节顺序。
    • -t 显示时间信息。
    • -v 执行时显示详细的信息。
    • -V 显示版本信息。
    • -y 采取非互动方式执行,所有的问题均设置以"yes"回答。

修复

  • 修复方式分为2种,一种是指定目录修复,另一种是全部修复
  • 指定目录修复
    如果确定/etc/fstab中新增的挂载目录没问题,可以使用这种方式修复下面3个目录【过程稍长且不确定时间】:
fsck -f /usr
fsck -f /home
fsck -f /boot
  • 全局修复
    这种更适用于,注释了/etc/fstab全部新增的挂载信息,重启依然进不去系统的情况【可能真的系统损坏,需要修复尝试了】
    直接执行下面命令即可【过程稍长且不确定时间】:
fsck -a -v
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐