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命令修复。
阅读(35310) | 评论(0) | 转发(0) |