NFS 驱动器已满,即使 du 说没有

NFS 驱动器已满,即使 du 说没有

我的备份驱动器出现了非常奇怪的现象,我无法解释也无法修复。

我有一个通过 NFS 安装的外部驱动器。我经常调用rsync将文件从我的服务器备份到该驱动器的作业。为了节省空间,我只复制新的/更改的文件,并将其他文件硬链接到之前的备份。

我的问题是:经过两次备份后,我的 100G 驱动器已满(根据df)。但是,du -hs告诉我第一次备份占用了大约 15G 空间,而第二次仅占用 45M(因为有硬链接)。

这是我到目前为止检查的内容:

  • 我卸载并安装了驱动器,但问题仍然存在。

  • 我检查了lsof一下,lsof +L1但并没有显示任何已删除的文件仍然存在。卸载应该可以解决这个问题。

编辑:我也检查过了,但忘了提到

  • 可用的 inode 数量:我有足够的。

  • 在挂载之前目录中是否存在某些内容:目录为空。

有人知道我还可以检查什么或问题可能出在哪里吗?任何帮助我都非常感谢。

答案1

这取决于底层文件系统。如果df说磁盘已满,可能的原因有:

  • 您没有挂载 NFS 100 G 文件系统的根,并且还有其他文件您看不到,因为它们比您的挂载点更高。

  • 您正在问题文件系统上安装其他文件系统,因此隐藏了文件

  • 快照占用了文件系统中的空间。您没有提供 的精确输出du,但请检查隐藏文件。尝试du -hx --max-depth=1 /your/nfs/mount将您的 nfs 挂载位置与 所示完全相同df。如果您删除了大量文件(或压缩了大量文件),则很可能出现此快照问题。如果您明天突然获得更多空间而没有删除任何文件,那么几乎可以肯定这就是问题所在(如果没有,也可能是问题所在)。

  • 一个 inode 问题。通常,它会显示为df -i而不是您的纯文本df -h,但是为了完整性,我将其包括在内,因为我不知道底层文件系统是什么。

底线是……基础设施不是由你提供的,所以你应该联系你的基础设施提供商,了解基础设施为何没有按你预期的方式运行。如果你的基础设施提供商不知道,他可以在适当的网站上提问,比如 serverfault :)

相关内容