我正在寻找一种按块内容存储文件的文件系统,因此类似的文件只占用一个块。这是出于备份目的。它与块级备份存储所提出的类似,例如 zbackup,但我想要一个允许透明地执行此操作的 Linux 文件系统。
答案1
答案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,这是相当大的,但由于我使用它进行归档而不是完全高需求的生产使用是很好的。