是否存在基于哈希的文件系统,其中:
- 有一个块存储(可能是 512b、4KB 或 128KB),通过其内容的哈希值进行索引。
- 每个块都有一个使用计数。当它达到零时,块的存储被释放。
- 文件只是块哈希的长度和列表。
这将实现许多优化,例如:
- 大文件几乎可以免费复制(就时间和所需存储而言)。
- 大文件的副本使用写入时复制来存储更改,同时占用最少的磁盘空间。
- 文件相等性的计算变得很快。
这样的文件系统已经存在吗?
如果不可行,是不是不可行或者不是一个好主意?
答案1
听起来您正在谈论具有重复数据删除功能的写时复制文件系统。两个都ZFS和Btrfs在某种程度上像这样工作。 Btrfs 有离线重复数据删除可以在写入重复块一段时间后合并它们的工具。 ZFS可以进行在线重复数据删除。
在线重复数据删除是个好主意吗?这取决于您的用例,但可能不是。根据 ZFS 的 Wikipedia 文章,“有效使用重复数据删除可能需要较大的 RAM 容量;建议每 TB 存储使用 1 到 5 GB RAM。”离线重复数据删除可能在更多情况下是实用的。