转:http://www.centoscn.com/CentosBug/osbug/2014/1028/4011.html

操作系统启动失败如下图报错:

故障现象:

从图中可以看到,操作系统启动的过程中,fsck在执行文件系统检测时出现了错误,并且是在检查/dev/mapper/VolGroup-lv_home时出错,提示此文件不存在;

故障分析:

这是一个什么界面,为何会出现这个界面?

操作系统启动的的大致过程为:加载BootLoader-à加载kernel-àinit执行系统初始化-à用户登录;而在init执行系统初始化的过程中,会执行系统初始化脚本/etc/rc.d/rc.sysinit,在此脚本中即会执fsck -A进行文件系统检测;

fsck -A会执行什么操作呢?

fsck -A会遍历文件/etc/fstab,检查其中定义的所有的文件系统。fsck在做文件系统检查前通常不会去检查设备是否真实存在,所以如果某设备不存在,而又去做了fsck,fsck即会报错,继而导致操作系统时会进入文件系统修复模式(file system repair mode),而中断正常的系统启动;

所以,这就是为何会出现此界面的原因了。

解决方法:

既然是fsck执行失败,导致操作系统无法继续启动,所以可以在操作系统启动时,让fsck跳过检查这个有问题的/dev/mapper/VolGrouplv_home即可正常启动操作系统;(在/etc/fstab中设置此项的第个字段fs_passno的值设为0,即意为fsck不检查此行)

但是此时文件系统修复模式下所有文件都是只读的,无法编辑/etc/fstab;所以此时可以选择从系统光盘启动,选择进入紧急救援模式下去修改文件(因为紧急修复模式不会执行/etc/rc.d/rc.sysinit,所以不会出现此报错);

1
2
3
bash-4.1# chroot /mnt/sysimage
sh-4.1# vim /etc/fstab             ##将/dev/mapper/VolGrouplv_home这一行的第6个字段设为0
sh-4.1# reboot -r

*除了以上方法:还可以注释掉 #/dev/mapper/VolGrouplv_home

但会提示没有写的权限:可以通过命令:mount -o remonut,rw /, Vi /etc/fstab

此时即可正常启动系统,不过中途会看到如下界面:

此时已没有fsck的报错,但是mount挂载文件系统时有一个failed的信息,这是因为在系统初始化脚本/etc/rc.d/rc.sysinit中,文件系统检测完成后的下一步即是去挂载文件系统;

并且从此界面可以明确的看到问题的所在了,/dev/mapper/VolGroup-lv_home不存在;虽然有此failed信息,但不影响系统可以继续启动;

绿色圈中的是需等待SELinux自动完成重新打标,若不想等待,可以在系统启动时禁入编辑模式,禁用SELinux的启动即可,如下图:

--------------------------------------------------------------------

至此操作系统已经可以启动起来,需介绍下背景了,此系统安装时是按照系统默认的分区布局(partitioning layout),如下图:

一块硬盘sda,分成了sda1与sda2两个分区,sda2做成物理卷,基于此物理卷创建的卷组名称为VolGroup,在此卷组上创建了3个逻辑卷,名称分别为lv_root、lv_home、lv_swap,并且此逻辑卷lv_root与lv_home分别挂载到了文件系统中的/目录和/home目录;

所以前文中/dev/mapper/VolGroup-lv_home即是此系统自动创建的挂载在/home的逻辑卷;比如由于误操作(umount、lvremove),删除了此逻辑卷,然后在重启电脑时,即会出现开篇处的报错了。

--------------------------------------------------------------------------------------------------------------------------------------

现在操作系统已经启动登录,也知道问题所在了,那么接下来如何恢复此逻辑卷呢?

此时,系统中查看此逻辑卷的确是已被删除;

1
2
3
4
5
6
7
[root@mysqlhost1 ~]# lvs
LV      VG      Attr      LSize   Pool Origin Data%  Move Log Cpy%Sync Convert
lv_root VolGroup -wi-ao--- 50.00g                                             
lv_swap VolGroup -wi-ao--- 992.00m                                             
[root@mysqlhost1 ~]# ll /dev/VolGroup/
lrwxrwxrwx 1 root root 7 10月 22 20:27lv_root -> ../dm-0
lrwxrwxrwx 1 root root 7 10月 22 20:27lv_swap -> ../dm-1

并且由于此逻辑卷是挂载在/home目录下,此逻辑卷丢失,那么/home目录下的数据,是否也是一同丢失了呢?如何恢复/home目录下原有的数据?

lvremove删除逻辑卷,其只是会清除LVM的部分元数据信息(metadata),真正的数据仍会被完整的保留;即虽然逻辑卷lv_home被删除了,但是/home下的数据仍然存在,只是现在暂且看不到;

并且默人的配置是,LVM的物理卷、卷组或是逻辑卷发生任何改动之前,LVM的元数据信息都会自动保存至/etc/lvm/archive目录下;

所以我们只需恢复逻辑卷lv_home被删除前的自动备份的LVM的元数据信息,逻辑卷lv_home即可自动恢复,然后后重新挂载,即可查看到/home目录下原有的数据了;

1
2
3
4
5
6
##查看和卷组VolGroup相关的元数据备份信息
[root@mysqlhost1 ~]# vgcfgrestore --list VolGroup  
File:          /etc/lvm/archive/VolGroup_00001-560861966.vg
VG name:            VolGroup
Description:    Created *before* executing 'lvremove /dev/VolGroup/lv_home'
Backup Time:  Wed Oct 22 17:33:17 2014

结果中可以看到在执行'lvremove /dev/VolGroup/lv_home'之前,卷组的元数据自动被备份到了文件/etc/lvm/archive/VolGroup_00001-560861966.vg中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
##从对应文件中恢复卷组VolGroup的那一刻的元数据信息 
[root@mysqlhost1 ~]# vgcfgrestore -f/etc/lvm/archive/VolGroup_00001-560861966.vg VolGroup
Restored volume group VolGroup
##此时即可看到此逻辑卷lv_home了
[root@mysqlhost1 ~]# lvscan                                 
ACTIVE           '/dev/VolGroup/lv_root' [50.00 GiB] inherit
inactive         '/dev/VolGroup/lv_home' [108.54 GiB] inherit
ACTIVE           '/dev/VolGroup/lv_swap' [992.00 MiB] inherit
##激活此逻辑卷
[root@mysqlhost1~]# lvchange -ay /dev/VolGroup/lv_home              
[root@mysqlhost1 ~]# lvscan
ACTIVE           '/dev/VolGroup/lv_root' [50.00 GiB] inherit
ACTIVE           '/dev/VolGroup/lv_home' [108.54 GiB] inherit
ACTIVE            '/dev/VolGroup/lv_swap' [992.00 MiB] inherit

1
2
3
4
5
6
##恢复/etc/fstab中刚才做的改动
[root@mysqlhost1 ~]# vi /etc/fstab  
##重新挂载         
[root@mysqlhost1 ~]# mount -a    
##/home目录下原有的数据也都可以查看到了                       
[root@mysqlhost1 ~]# ls /home

确实按上面方法,可以看到home的内容了,但如果系统重新启动了后,还是会报如下错误:

就不知道怎么办了,还是重装系统了.哎

注上几条命令:查看硬盘的UUID

ot@centreon ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 2.7T 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 2.7T 0 part
├─vg_centreon-lv_root (dm-0) 253:0 0 50G 0 lvm /
├─vg_centreon-lv_swap (dm-1) 253:1 0 4G 0 lvm [SWAP]
└─vg_centreon-lv_home (dm-2) 253:2 0 8.1T 0 lvm /home
sdb 8:16 0 2.7T 0 disk
└─sdb1 8:17 0 2.7T 0 part
└─vg_centreon-lv_home (dm-2) 253:2 0 8.1T 0 lvm /home
sdc 8:32 0 2.7T 0 disk
└─sdc1 8:33 0 2.7T 0 part
└─vg_centreon-lv_home (dm-2) 253:2 0 8.1T 0 lvm /home

└─vg_centreon-lv_home (dm-2) 253:2 0 8.1T 0 lvm /home
[root@centreon ~]# blkid
/dev/sda1: UUID="afca0f91-00c7-4707-a1ab-ef6b9994100e" TYPE="ext4"
/dev/sda2: UUID="eP2umd-3ylU-iJan-uroF-lTuA-7nvC-rwtxfp" TYPE="LVM2_member"
/dev/sdb1: UUID="CyGJ2T-smib-rYoT-CKbb-g0tF-S9bk-n1X0T6" TYPE="LVM2_member"
/dev/sdc1: UUID="0EP3hG-SZJX-8N4N-OevK-0JOf-2V6Y-22hNvF" TYPE="LVM2_member"
/dev/mapper/vg_centreon-lv_root: UUID="75345656-50c9-4943-9925-92c1051c8f8e" TYPE="ext4"
/dev/mapper/vg_centreon-lv_swap: UUID="377fa21f-cec3-4574-8bf0-c49c45ab09a2" TYPE="swap"
/dev/mapper/vg_centreon-lv_home: UUID="ffcb68ae-2b66-4da3-9125-82e3acecf0fd" TYPE="ext4"

转载于:https://www.cnblogs.com/baxk/p/4835459.html

CentOS6.4系统启动失败故障排查相关推荐

  1. mysql数据库binlog日志截断报错,导致mysql主从同步失败故障排查

    mysql数据库binlog日志截断报错,导致mysql主从同步失败故障排查 Got fatal error 1236 from master when reading data from binar ...

  2. foxmail发送邮件邮件发送失败故障排查过程

    Dns解析出的ip不通导致无法发送邮件 问题:搬入公司新址,使用一运营商的专线网络后(原来使用电信宽带),经常有同事反馈有时无法发送邮件,有时能成功.今天有同事反馈无法发邮件,但他的账号在别人pc使用 ...

  3. 黑苹果13.0.1驱动RTL 8125B 2.5G网卡失败故障排查

    重装升级黑苹果macOS 13.0.1后,发现有线网卡无法驱动,网络设置里缺少以太网选项 ,系统报告->以太网中显示没有设备. 初步判断为驱动失败,使用hackintool查看设备扩展信息,发现 ...

  4. Linux 系统启动故障排查和修复

    我发现Linux系统在启动过程中会出现一些故障,导致系统无法正常启动,我在这里写了几个应用单用户模式.GRUB命令操作.Linux救援模式的故障修复案例帮助大家了解此类问题的解决. (一)单用户模式 ...

  5. Linux启动hbase的shell命令出现警告_Linux 系统启动故障排查和修复技巧

    我发现Linux系统在启动过程中会出现一些故障,导致系统无法正常启动,我在这里写了几个应用单用户模式.GRUB命令操作.Linux救援模式的故障修复案例帮助大家了解此类问题的解决. (一)单用户模式 ...

  6. 【深入理解JVM】JAVA线上故障排查全套路

    线上故障主要会包括cpu.磁盘.内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍.同时例如jstack.jmap等工具也是不囿于一个方面的问题的,基 ...

  7. Linux启动故障排查和修复技巧

    一个执着于技术的公众号 我发现Linux系统在启动过程中会出现一些故障,导致系统无法正常启动,我在这里写了几个应对单用户模式.GRUB命令操作.Linux救援模式的故障修复案例帮助大家了解此类问题的解 ...

  8. 桌面虚拟化XenDesktop常见故障排查宝典

    XD故障排查宝典(1) XenServer安装时注意一定配置正确的时区和时间. 建议使用NTP来同步时间. 如果时区不对,或者时间有问题,会使虚机时间不对,影响VDA注册等一系列问题. 使用XenSe ...

  9. Atitit.播放系统的选片服务器,包厢记时系统 的说明,教程,维护,故障排查手册p825...

    Atitit.播放系统的选片服务器,包厢记时系统 的说明,教程,维护,故障排查手册p825 1. 播放系统服务器方面的维护 2 1.1. 默认情况下,已经在系统的启动目录下增加了俩个启动项目 2 1. ...

最新文章

  1. C#8.0: 在 LINQ 中支持异步的 IAsyncEnumerableT接口
  2. 英语口语Week 15 Wednesday
  3. python代码块使用缩进来表示_Python代码需要缩进吗
  4. 为vc工程添加Unicode Debug和Unicode Release
  5. Hive利用正则Serde导入文件
  6. Google 中国招聘啦
  7. AIX系统修改文件系统的方法
  8. SPSS-数据的检核与整备
  9. 小米手机的专用计算机连接软件,详细教您小米手机怎么连接电脑
  10. Python日报0507 - PyQt5实现打卡登记系统
  11. Sectigo邮件签名证书安装指南
  12. 微信小应用第一天(简介)
  13. 服务器怎么查服务端数据
  14. 最佳阵容怎么找不到服务器,最佳阵容新服最佳782服开服时间表_最佳阵容新区开服预告_第一手游网手游开服表...
  15. 今天来详细说一说贴片三极管
  16. Apache--配置虚拟主机
  17. 30天自制操作系统【笔记】
  18. 神经网络之误差反向传播法
  19. USB HOST与 USB OTG的区别及工作原理
  20. 山东大学人机交互复习大纲

热门文章

  1. 信息管理系统 github_Java+MySQL实现学生信息管理系统
  2. linux cd -目录,linux cd
  3. Java引入依赖aar,如何将JAR依赖项包含到AAR库中
  4. python staticmethod有什么意义_关于静态方法:python中的@staticmethod有什么意义?
  5. java jndi tcp_spring配置下通过tomcat的jndi服务连接数据库
  6. java 输出当月日历_java 实现打印当前月份的日历
  7. 安全模式 提权_记一次渗透挖洞提权实战
  8. filter 灰度处理:公祭日,一行代码让页面变成黑白色调
  9. 操作系统原理:进程 PV 操作如何计算?全网最全三种前驱图计算类型总结
  10. 计算机控制基础知识,最新 分析计算机控制系统及其运算基础知识-精品