我遇到了我的备份驱动器非常奇怪的行为,我既不能解释也不能修复。
我有一个通过NFS安装的外部驱动器。 我经常调用rsync作业,从我的服务器备份文件到该驱动器。 为了节省空间,我只复制新的/更改的文件,并将其他人硬链接到以前的备份。
我的问题是:两个备份后,我的100G驱动器已满(根据df )。 但是,一个du -hs告诉我,第一个备份需要大约15G的空间,而第二个只需要45M(因为硬链接)。
这是我到目前为止检查:
我卸载并安装了驱动器,但问题依然存在。
我检查了lsof和lsof +L1但没有显示任何被删除的文件,仍然徘徊。 无论如何,卸载应该照顾。
编辑:我也检查,但忘了提及
可用的inode数量:我有足够的。
目录是否在挂载之前:目录是空的。
有没有人有一个想法,我可以检查什么,或者是什么问题? 任何帮助是极大的赞赏。
这取决于底层的文件系统。 如果df表示磁盘已满,可能的原因是:
您没有安装NFS 100 G文件系统的根目录,并且还有其他文件,因为它们比安装点更高,所以您看不到它们。
您在问题文件系统的顶部安装了一些其他文件系统,因此隐藏文件
在文件系统中有快照占用空间。 你没有提供你的du的精确输出,但检查隐藏的文件。 试试du -hx --max-depth=1 /your/nfs/mount你的nfs的安装完全如df所示。 如果您删除了大量文件(或压缩大量文件),则此快照问题非常可能。 如果你明天在没有删除更多文件的情况下突然获得更多的空间,那么几乎可以肯定的是,这是问题(如果你不这样做的话,那还是可能的)。
inode问题。 通常这会显示一个df -i而不是你的普通df -h ,但是为了完整,我将它包括进来,因为我不知道底层文件系统是什么。
底线。 。 。 基础设施不是由您提供的,所以您应该联系您的基础设施提供商,以了解为什么基础设施的行为不像您期望的那样。 如果你的基础设施提供者不知道,他可以在适当的网站上提问,例如serverfault 🙂