下一代文件系统:磁盘空间使用日志?

下一代文件系统:磁盘空间使用日志?

有时我会遇到服务器硬盘(Linux)被大量小文件快速填满的问题。当这种情况发生时,我必须设法找出占用了多少空间以及占用空间的文件在哪里。这可能是一项令人沮丧的任务,因为:

  1. 仅执行诸如在包含大量文件的目录中运行 ls 之类的简单操作就可能需要很长时间。
  2. df 速度快,但不准确且不精确
  3. du 很准确,可以告诉你所有空间都去哪儿了,但运行起来需要很长时间

我想快速而准确地知道硬盘上所有空间都去哪儿了,数 TB 的空间可能被数百万个小文件占用。

对于传统的文件系统来说,这似乎是不可能的(如果不是,我想听听)

我的问题是 Linux 上是否有任何新的文件系统(btrfs、zfs、reiserfs 等)具有任何可能有助于解决此问题的超级智能功能。例如,我可以想象某种日志 - 每次写入时都会不断更新 - 其中包含文件系统中每个分支占用的空间量的记录。那么提出我的问题只需阅读日志即可。

这只是一个例子特征类型这可能会有所帮助,但我要求提供任何可能有助于回答该问题的功能示例:快速准确地告诉我硬盘上的具体使用空间

谢谢,汤姆

答案1

我只在您提到的列表中使用过 ZFS。使用 ZFS,您可以创建分层卷,例如,您可以创建;

  • 坦克/类别
  • 储罐/类别/产品
  • 坦克/类别/产品/a
  • 坦克/类别/产品/b

ETC

然后,使用命令“zfs list”,您可以在几秒钟内获取每个卷的已用空间、可用空间和参考空间。但这当然只有当您能够让您的应用程序以正确的方式分割它时才有效。

答案2

我仍然使用北卡罗莱纳大学使用我的 ZFS 文件系统。它现在变得更加重要,因为它可以感知稀疏文件并有助于理解压缩的 ZFS 文件系统。

看:我如何确定什么占用了这么多空间?

相关内容