这个问题又是一个老问题,碰到过N次,总结下还是很有必要的。
前两天一客户那边出现这个问题,具体情况是这样:服务器采用思科的UCS,客户机房的电不稳定,前天下午有一路电断了,导致客户唯一的UCS控制器6120断电,进而导致vmware的上联链路断开,虚拟机在集群策略的配置情况下, 被强制关机。电恢复后,重新开机,部分虚拟机出现如下报错:
从报错信息来看,“Inodes that were part of a corrupted orphan linked list found”是说根分区中部分inode是损坏的孤立链接的一部分,这样的情况其实根分区没有太大的问题,系统也提示需要手动的执行fsck检测。
输入管理员口令后,进入文件系统修复模式,并使用命令“mount -o remount,rw /”以可读可写的方式重新挂载根分区:
在文件系统修复模式下,编辑/etc/fstab分区表文件,将根分区的开机检测参数去掉,先尝试能否进入系统:
退出文件系统修复模式后,顺利进入系统。
然后再执行fsck检测,发现有大量的inode问题,进行修复:
修复成功后,再次重启系统,系统状态,启动应用服务,也正常。
centos启动错误:Inodes that were part of a corrupted orphan linked list found.
centos启动时,提示错误:
1 /dev/mapper/VolGroup-lv_root contains a file system with errors,check forced. 2 /dev/mapper/VolGroup-lv_root: 3 Inodes that were part of a corrupted orphan linked list found. 4 /dev/mapper/VolGroup-lv_root:unexpected inconsistency:run fsck manually. 5 (i.e., without -a or -p options) 6 *** An error occurred during the file system check. 7 *** Dropping you to a shell; the system will reboot 8 *** when you leave the shell. 9 Give root password for maintenance10 (or type Control-D to continue):
采用e2fsck命令修复:
1 e2fsck /dev/mapper/VolGroup-lv_root
一路yes向下,修复完成后重启,恢复正常。
========================
顺便记录一下fsck与e2fsck命令用法:
(摘抄自http://blog.sina.com.cn/s/blog_5666ef160100bxj5.html)
1 fsck是为检查各种不同的文件系统提供一个统一的用户界面。 2 e2fsck是用于ext2/ext3类型的文件系统检查的一个工具。 3 4 fsck 5 6 使用方式 : fsck [-sACVRP] [-t fstype] [--] [fsck-options] filesys [...] 7 说明 : 检查与修复 Linux 档案系统,可以同时检查一个或多个 Linux 档案系统 8 参数 : 9 10 filesys : device 名称(eg./dev/sda1),mount 点 (eg. / 或 /usr)11 -t : 给定档案系统的型式,若在 /etc/fstab 中已有定义或 kernel 本身已支援的则不需加上此参数12 -s : 依序一个一个地执行 fsck 的指令来检查13 -A : 对/etc/fstab 中所有列出来的 partition 做检查14 -C : 显示完整的检查进度15 -d : 列印 e2fsck 的 debug 结果16 -p : 同时有 -A 条件时,同时有多个 fsck 的检查一起执行17 -R : 同时有 -A 条件时,省略 / 不检查18 -V : 详细显示模式19 -y : 预先设定所有检查时的问题均回答[是]20 -a : 如果检查有错则自动修复21 -r : 如果检查有错则由使用者回答是否修复22 23 例子 :24 检查 msdos 档案系统的 /dev/hda5 是否正常,如果有异常便自动修复 :25 fsck -t msdos -a /dev/hda526 27 注意 :此指令可与 /etc/fstab 相互参考操作来加以了解。28 =================29 e2fsck30 31 使用方式 : e2fsck [-pacnydfvFV] [-b superblock] [-B blocksize] [-l|-L bad_blocks_file] [-C fd] device32 说明 : 检查使用 Linux ext2 档案系统的 partition 是否正常工作33 34 参数 :35 36 device : 预备检查的硬盘 partition,例如:/dev/sda137 -a : 对 partition 做检查,若有问题便自动修复,等同 -p 的功能38 -b : 设定存放 superblock 的位置39 -B : 设定单位 block 的大小40 -c : 检查该partition 是否有坏轨41 -C file : 将检查的结果存到 file 中以便查看42 -d : 列印 e2fsck 的 debug 结果43 -f : 强制检查44 -F : 在开始检查前,将device 的 buffer cache 清空,避免有错误发生45 -l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面46 -L bad_blocks_file : 设定坏轨的block资料存到 bad_blocks_file 里面,若无该档则自动产生47 -n : 将档案系统以[唯读]方式开启48 -p : 对 partition 做检查,若有问题便自动修复49 -v : 详细显示模式50 -V : 显示出目前 e2fsck 的版本51 -y : 预先设定所有检查时的问题均回答[是]52 53 例子 :54 检查 /dev/hda5 是否正常,如果有异常便自动修复,并且设定若有问答,均回答[是] :55 e2fsck -a -y /dev/hda556 57 注意 :58 59 大部份使用 e2fsck 来检查硬盘 partition 的情况时,通常都是情形特殊,因此最好先将该 partition umount,然后再执行 e2fsck 来做检查,若是要非要检查 / 时,则请进入 singal user mode 再执行。
转载于:https://blog.51cto.com/arklee/1854039