有没有块级存储文件系统?

有没有块级存储文件系统?

我正在寻找一种按块内容存储文件的文件系统,因此类似的文件只占用一个块。这是出于备份目的。它与块级备份存储所提出的类似,例如 zbackup,但我想要一个允许透明地执行此操作的 Linux 文件系统。

答案1

假设您的问题是关于重复数据删除,有一些文件系统支持 Linux 上的重复数据删除:

  • ZFS,具有在线重复数据删除(因此数据在存储时就被重复数据删除),但具有极高的内存要求,这使得该功能在实践中很难使用;
  • Btrfs, 与“仅”带外重复数据删除,尽管具有紧密集成的流程,可以在数据存储后提供相当快速的重复数据删除;
  • 壁球FS,但这可能不符合您的要求,因为它是只读的。

XFS应该在某个时候进行重复数据删除,Btrfs 也应该进行在线重复数据删除。

密切关注维基百科的文件系统比较看看什么时候会发生变化。

答案2

S3QL文件系统具有块级重复数据删除功能。它被宣传为 S3 云存储解决方案,但它在本地存储上也能很好地工作。

这是我们备份/存档服务器部分的示例

s3qlstat /path/to/some/archives
Directory entries:    12430247
Inodes:               6343756
Data blocks:          1357349
Total data size:      12.4 TB
After de-duplication: 3.84 TB (30.92% of total)
After compression:    3.71 TB (29.84% of total, 96.52% of de-duplicated)
Database size:        1.29 GiB (uncompressed)
Cache size:           0 bytes, 0 entries
Cache size (dirty):   0 bytes, 0 entries
Queued object removals: 0

该文件系统使用的底层存储

df -h /var/s3ql/part-of-archive
Filesystem      Size  Used Avail Use% Mounted on
/dev/sde        6.0T  3.8T  2.0T  66% /var/s3ql/part-of-archive

这告诉我,底层存储使用的空间略低于 4TB,但它存储了大约 12TB 的重复数据删除数据。 (我的档案中有很多重复的块。不出所料,我希望如此。)压缩层在这里被禁用;如果我使用真正的 S3 存储,我会启用它。

管理文件系统本身的 SQLite 数据库刚刚超过 1GB,这是相当大的,但由于我使用它进行归档而不是完全高需求的生产使用是很好的。

相关内容