外部磁盘中的 Inode 已满。实际上不是

外部磁盘中的 Inode 已满。实际上不是

检查 inode 使用情况:

[cold] > df -ih .
Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/sdb1         59M   59M  7.9K  100% /home/doom/cold

这里我们看到 Inode 使用率为 100%。使用了 5900 万个 Inode。

但是如果我尝试检查每个目录使用的 inode,我们会得到:(在已安装的磁盘中使用 find 命令)

[cold] > find . -printf "%h\n"|grep -v "^/proc"|grep -v "^/sys"|cut -d\/ -f1-3|sort|uniq -c|sort -rn

  20581 ./zzz/all_repos
  16994 ./Media/photos
   4898 ./zzz/files
   4135 ./zzz/rog_sync

这里的最大数量是 20k。df -i 如何显示 5900 万的使用量。

笔记:find在网上找到了上述命令来检查文件夹的 inode 使用情况。添加所有 inode 甚至达不到 100k。

更多说明: 实际上,我想将此驱动器作为整个系统的备份,因此/上个月我对其进行了 rsynced。之后出现了这个问题。但即使我删除了此驱动器上的所有备份文件。它仍然显示 100% 的 inode 使用率。

任何帮助都值得感激。提前致谢 :)

答案1

我了解您运行该tune2fs命令的结果如下:

> sudo tune2fs -l /dev/sdb1 | grep -i inode
Filesystem features:     has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
Inode count: 61054976
Free inodes: 61054841
Inodes per group: 8192
Inode blocks per group: 512
First inode: 11
Inode size: 256
Journal inode: 8
Journal backup: inode blocks

我的结论是磁盘基本上是空的,有 99.9% 的可用 inode。

我不知道为什么这个df命令对于这个磁盘失败了,但它显示的信息完全是错误的。磁盘很可能没有问题,但最好还是保留备份。

相关内容