问题起因:因为大数据环境,服务器资源有限,磁盘很容易被数据跑满,长期需要手动清理,导致有时候清理出现问题。
问题:
文件无法删除成功,执行ls命令报错:
ls: cannot access blk_xxxxxxxx: Structure needs cleaning


分析:这个错误信息表明文件系统的某个目录或文件的结构损坏,可能是由于磁盘问题、存储设备损坏、系统异常关机等原因引起的。
解决问题:检查和修复文件系统。
1、如果是根分区以外的分区,做好数据备份后,umount掉文件系统进行修复就行。
2、如果是根分区,需要进入单用户模式,umount掉根分区后对文件系统进行修复。
解决过程:
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、修复完成后,重启操作系统,无法删除的文件已经在修复过程中清理。