昨天晚上服务器因为负载大,打电话让机房重新启动后,发现不能正常启动,后去机房查看情况,原来是卡在文件系统检测上面,提示让输入root密码,显示如下:
contain a file system with errors check forced
Inodes that were part of a corrupted orphan linked list found
Unexpected Inconsistency ; Run fsck Manually
(i.e.without -a ro -p options)
后到网上搜索资料,用以下命令进行修复,
fsck -t ext3 -a /var
提示还是有错误存在,想重新启动系统看看会不会自动修复,重新启动系统后,还是卡在那里,很是郁闷,该分区也不能卸载,可能因为此时操作系统还在使用该分区,用“df -h”命令,只显示 “/dev/sda7”相关设备,看不到任何该设置对应的分区信息,用“fdisk -l”也是一样!
看来只能用系统光盘修复了,后拿来第一张系统光盘挂载设置信息后,才能正常显示设备信息对应的分区,为确保完整性,先卸载该设备对应的分区,然后进行修复,还用上面我们刚才的命令修复文件系统,“fsck -t ext3 -a /设备信息”,系统提示修复完成,然后重新启动系统,检测/var分区顺利通过。
总结,这次故障原因是由于强制重新启动系统的时候,导致ext3文件系统损坏。
fsck的命令的几个使用方法
指令:fsck
使用权限 : 超级使用者
使用方式 : fsck [-sACVRP] [-t fstype] [–] [fsck-options] filesys […]
说明 : 检查与修复 Linux 档案系统,可以同时检查一个或多个 Linux 档案系统
参数 :
filesys : device 名称(eg./dev/sda1),mount 点 (eg. / 或 /usr)
-t : 给定档案系统的型式,若在 /etc/fstab 中已有定义或 kernel 本身已支援的则不需加上此参数
-s : 依序一个一个地执行 fsck 的指令来检查
-A : 对/etc/fstab 中所有列出来的 partition 做检查
-C : 显示完整的检查进度
-d : 列印 e2fsck 的 debug 结果
-p : 同时有 -A 条件时,同时有多个 fsck 的检查一起执行
-R : 同时有 -A 条件时,省略 / 不检查
-V : 具体显示模式
-a : 假如检查有错则自动修复
-r : 假如检查有错则由使用者回答是否修复
例子 :
输入Root密码登录后采用:fsck -t ext3 -r /dev/sda7 修复