Chinaunix首页 | 论坛 | 博客
  • 博客访问: 168338
  • 博文数量: 31
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 425
  • 用 户 组: 普通用户
  • 注册时间: 2014-10-13 17:05
文章分类

全部博文(31)

文章存档

2016年(11)

2015年(20)

我的朋友

分类: LINUX

2015-05-28 15:21:12

1、问题描述:
    数据库连接报错,登录上去查看到很多关于文件系统的命令报错:
[root@10vps yungou]# fdisk -l 
-bash: /sbin/fdisk: Input/output error
[root@10vps yungou]# df -Th 
-bash: /bin/df: Input/output error
[root@10vps yungou]# free -m 
-bash: /usr/bin/free: Input/output error

第一想法是磁盘坏道或者文件系统出错
[root@10vps yungou]# dmesg | grep error  查看启动日志发现很多报错。
sd 2:0:0:0: Device offlined - not ready after error recovery
sd 2:0:0:0: Device offlined - not ready after error recovery
sd 2:0:0:0: [sda] Unhandled error code
sd 2:0:0:0: [sda] Unhandled error code
Buffer I/O error on device dm-0, logical block 1869452
lost page write due to I/O error on dm-0
JBD2: Detected IO errors while flushing file data on dm-0-8
Buffer I/O error on device dm-0, logical block 557056
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 1874432
lost page write due to I/O error on dm-0
Buffer I/O error on device dm-0, logical block 1874433
lost page write due to I/O error on dm-0
lost page write due to I/O error on dm-0
EXT4-fs error (device dm-0) in ext4_new_inode: Journal has aborted
EXT4-fs error (device dm-0) in ext4_reserve_inode_write: Journal has aborted
EXT4-fs error (device dm-0) in ext4_create: Journal has aborted
EXT4-fs (dm-0): previous I/O error to superblock detected
EXT4-fs error (device dm-0): ext4_journal_start_sb: Detected aborted journal
JBD2: I/O error detected when updating journal superblock for dm-0-8.
EXT4-fs error (device dm-0) in ext4_da_writepages: IO failure
JBD2: Detected IO errors while flushing file data on dm-0-8
EXT4-fs error (device dm-0): __ext4_get_inode_loc: unable to read inode block - inode=435931, block=1575709
EXT4-fs error (device dm-0): __ext4_get_inode_loc: unable to read inode block - inode=436319, block=1575733
EXT4-fs error (device dm-0): __ext4_get_inode_loc: unable to read inode block - inode=435475, block=1575681

2、解决方法:

执行了 fsck -y 修复中,修复结果如下:
/dev/mapper/vg_cloud-lv_root: ***** FILE SYSTEM WAS MODIFIED *****
/dev/mapper/vg_cloud-lv_root: ***** REBOOT LINUX *****
/dev/mapper/vg_cloud-lv_root: 100513/496784 files (0.2% non-contiguous), 778931/1984512 blocks

由于无法使用reboot命令,直接重启。系统恢复。

3、总结:
3.1 fsck简介
    fsck不仅可以对文件系统进行扫描,还能修复文件系统的一些问题,要注意:fsck扫描文件系统时一定要在单用户模式下,修复模式下,或者把磁盘umount 后进行。
    警告:如果扫描运行中的系统,会造成系统文件的损坏。
    文件系统扫描工具有很多,其中fsck默认支持文件系统ext2,如果是其他的文件系统就需要fsck.ext3
    最好通过不同的文件系统来调用不同的扫描工具。
    
    必要参数:

-a 非互交模式,自动修复

 -c 检查是否存在有损坏的区块。

 -C<反叙述器> fsck.ext3命令会把全部的执行过程,都交由其逆向叙述,便于监控程序

 -d 详细显示命令执行过程

 -f 强制进行检查

 -F 检查文件系统之前,先清理该保存设备块区内的数据

 -l<损坏区块文件把文件中所列出的损坏区块,加入标记

 -L<损坏区块文件清除所有损坏标志,重新标记

 -n 非交互模式,把欲检查的文件系统设成只读

 -P<数字>  设置fsck.ext2命令所能处理的inode大小为多少

 -r 交互模式

 -R 忽略目录

 -s 顺序检查

 -S 效果和指定“-s”参数类似

 -t  显示fsck.ext2命令的时序信息。

 -v 显示详细的处理过程

 -y 关闭互动模式


查看当前运行级别:runlevel 切换到单用户模式下:init 1  然后再使用fsck命令修复。














阅读(34956) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~