!
也想出现在这里? 联系我们
广告位
当前位置:首页>教程分享>服务器教程>修复:Linux执行ls报错 ls: cannot open directory .: Input/output error解决思路

修复:Linux执行ls报错 ls: cannot open directory .: Input/output error解决思路

当Linux执行ls报错 ls: cannot open directory .: Input/output error的时候,或者遇到类似的问题,要考虑几个方面。
1,看看是不是ls的分区不存在或者被误删除。
2,注意看是不是ls的分区权限出现问题。
3,经常出现的是该分区所在的磁盘扇区故障。

分析:由于服务器是重IO业务所有对磁盘损坏比较大,经常出现此类错误,上述这种情况一般都是硬盘问题导致文件系统损坏

解决方案:

1.如果条件允许可以重启系统试试。
2.如果无法重启或重启无法解决问题,lsof、fuser命令查找出还在损坏磁盘进行读写的进程,全部停掉(pkill -9 xxx)进程,尝试mount和umount文件系统,以便重放日志,修复文件系统,如果不行,再进行如下操作。

3、检查文件系统:先确保umount
xfs_check /dev/sdd(盘符); echo $? 返回0表示正常

4、执行xfs_repair -n,检查文件系统是否损坏,如何损坏会列出将要执行的操作如果幸运的话,会发现没有问题,你可以跳过后续的操作。该命令将表明会做出什么修改,一般情况下速度很快,即便数据量很大,没理由跳过。

5、执行xfs_repair修复文件系统
xfs_repair /dev/sdd (ext系列工具为fsck)

6、最后方法:损失部分数据的修复方法
根据打印消息,修复失败时:
umount -l 卸载磁盘 也可以到/etc/fstab用#注释掉有问题的磁盘后重启。
先执行xfs_repair -L /dev/sdd(清空日志,会丢失文件),

fsck -y /dev/sdd;(ext文件系统)
xfs_repair -L /dev/sdd (xfs文件系统)

再执行xfs_repair /dev/sdd
再执行xfs_check /dev/sdd 检查文件系统是否修复成功。

说明:-L是修复xfs文件系统的最后手段,慎重选择,它会清空日志,会丢失用户数据和文件。

备注:
在执行xfs_repair操作前,最好使用xfs_metadump工具保存元数据,一旦修复失败,最起码可以恢复到修复之前的状态。
xfs_metadump为调试工具,可以不管,跳过。

7.修复完成后重新挂载目录,再次进入到目录查看问题是否解决。

**PS:正常操作流程是以上流程,但是偶尔会出现分区表损坏的情况,需要重新做raid 用 MegaCli64
注:修复过程可能造成文件丢失的风险,建议执行操作前对磁盘分区进行备份。**

错误解决couldn\'t initialize XFS library

注意:如果使用xfs_repair修复文件系统时提示fatal error -- couldn\'t initialize XFS library

修复方法
1、修改/etc/fstab,将待修复的分区先注释掉
2、重启主机
3、重复执行xfs_repair命令,必要时可使用-L选项 或者 执行fsck(ext文件)
4、修改/etc/fstab,恢复被修复的分区
5、重启主机

修复的过程比较漫长,根据坏道的多少来决定时间,一般是把有坏道的区块屏蔽掉。大概的过程类似这样:

大体的修复过程

我的/www挂在/dev/sdc1上

给TA打赏
共{{data.count}}人
人已打赏
服务器教程

Linux 内存错误检查 EDAC检查内存错误No controller found

2021-4-17 18:43:48

服务器教程

错误nginx: [emerg] bind() to 0.0.0.0:6379 failed (98: Address already in use)解决方法

2021-4-17 18:43:50

声明 本站上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。无意侵害您的权益,请发送邮件至 [email protected] 或点击右侧 私信:吉吉国王 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
OneEase