基于哈希的文件系统?

基于哈希的文件系统?

是否存在基于哈希的文件系统,其中:

  • 有一个块存储(可能是 512b、4KB 或 128KB),通过其内容的哈希值进行索引。
  • 每个块都有一个使用计数。当它达到零时,块的存储被释放。
  • 文件只是块哈希的长度和列表。

这将实现许多优化,例如:

  • 大文件几乎可以免费复制(就时间和所需存储而言)。
  • 大文件的副本使用写入时复制来存储更改,同时占用最少的磁盘空间。
  • 文件相等性的计算变得很快。

这样的文件系统已经存在吗?

如果不可行,是不是不可行或者不是一个好主意?

答案1

听起来您正在谈论具有重复数据删除功能的写时复制文件系统。两个都ZFSBtrfs在某种程度上像这样工作。 Btrfs 有离线重复数据删除可以在写入重复块一段时间后合并它们的工具。 ZFS可以进行在线重复数据删除

在线重复数据删除是个好主意吗?这取决于您的用例,但可能不是。根据 ZFS 的 Wikipedia 文章,“有效使用重复数据删除可能需要较大的 RAM 容量;建议每 TB 存储使用 1 到 5 GB RAM。”离线重复数据删除可能在更多情况下是实用的。

相关内容