现象
线上的/data目录在执行ls名的时候报下面的错误:
ls: cannot access xxx: Input/output error
并且查看的目录的权限位全是“?”
思考
- 应该是硬盘的文件系统坏了
- 其次硬盘故障,只读或只写
- 当前所在的目录没有读或执行的权限
- 这几个文件没有读的权限
- 文件系统有损坏的地方或这几个文件损坏了
- 这几个文件或当前的目录被加密了
查看
使用 dmesg|grep sd 或 dmesg|grep error 查看下,获得有详细报错信息:
并且使用 fsck 检查硬盘,也出现错误:
上面的操作证实了就是硬盘的文件系统故障;
修复
-
尝试使用fsck 进行文件系统修复,需要进入单用户模式,我们使用的阿里云主机,显然进入但用户模式是不可能的,这条路放弃
-
重启机器
reboot 问题解决 -
修改/etc/fstab挂在项,将最后一位置为1,在重启系统,让系统在重启是做fsck
问题延伸猜想
新浪有篇博客,说是频繁的mkdir文件在删除,会产生"inode referenced"报错, 点击