处理目录或文件结构损坏导致无法删除问题

 问题起因:因为大数据环境,服务器资源有限,磁盘很容易被数据跑满,长期需要手动清理,导致有时候清理出现问题。

 

问题:

文件无法删除成功,执行ls命令报错:

ls: cannot access blk_xxxxxxxx: Structure needs cleaning

 

分析:这个错误信息表明文件系统的某个目录或文件的结构损坏,可能是由于磁盘问题、存储设备损坏、系统异常关机等原因引起的。

 

解决问题:检查和修复文件系统。

  1、如果是非根文件系统,做好数据备份后,卸载掉文件系统进行修复就行。

  2、如果是根文件系统,需要进入单用户模式,卸载掉根文件系统后对文件系统进行修复。

    注意:修复文件系统可能导致数据丢失,所以最好做个重要数据备份或者快照再进行修复。

 

解决过程:

  1、重启系统,在重启操作系统过程中,当进度进行到GRUB引导菜单时,按“e”键,进入编辑启动项。

  2、找到linux开头的行,在最末尾添加以下参:

init=/bin/bash rd.break

  注意该添加项与最末尾的字符之间是有空格的

  3、按下 “Ctrl + X” 来启动,进入单用户模式。

  4、进入单用户模式后,执行修复操作。

    4.1、卸载根文件系统

umount /dev/mapper/centos-root

    4.2、修复文件系统(我这里是xfs类型的文件系统,其他文件系统类型修复命令可能不同)。

xfs_repair /dev/mapper/centos-root

  5、修复完成后,重启操作系统,无法删除的文件已经在修复过程中清理。

 

posted @ 2023-09-20 17:28  难止汗  阅读(534)  评论(0编辑  收藏  举报