是否有块级存储文件系统?

Map*_*paM 6 linux filesystems backup deduplication

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

Ste*_*itt 6

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

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

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

密切关注Wikipedia 的文件系统比较,看看何时会发生变化。


roa*_*ima 5

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
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

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

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