borg
具有压缩和经过身份验证的加密的重复数据删除存档器。
BorgBackup(简称:Borg)是一个重复数据删除备份程序。可选地,它支持压缩和经过身份验证的加密。
Borg 的主要目标是提供一种高效且安全的数据备份方式。使用的重复数据删除技术使 Borg 适合日常备份,因为只存储更改。经过身份验证的加密技术使其适用于备份到不完全受信任的目标。
主要特点
节省空间的存储
基于内容定义分块的重复数据删除用于减少存储的字节数:每个文件被拆分成多个可变长度的块,只有以前从未见过的块被添加到存储库中。
如果一个块的 id_hash 值相同,则该块被认为是重复的。加密强散列或 MAC 函数用作 id_hash,例如 (hmac-)sha256。
要删除重复数据,将考虑同一存储库中的所有块,无论它们来自不同的机器、来自以前的备份、来自相同的备份,甚至来自同一个文件。
与其他重复数据删除方法相比,此方法不依赖于:
- 文件/目录名称保持不变:因此您可以在不取消重复数据删除的情况下四处移动您的东西,即使在共享存储库的机器之间也是如此。
- 完整的文件或时间戳保持不变:如果一个大文件变化很小,只需要存储几个新的块——这对 VM 或原始磁盘来说非常有用。
- 数据块在文件中的绝对位置:内容可能会移动,但仍会被重复数据删除算法找到。
速度
- 性能关键代码(分块、压缩、加密)在 C/Cython 中实现
- 文件/块索引数据的本地缓存
- 快速检测未修改的文件
数据加密
所有数据都可以使用 256 位认证加密(AES-OCB 或 chacha20-poly1305)在客户端进行保护,确保数据的机密性、完整性和真实性。
可选地,borg 可以主动混淆例如文件/块的大小,以使指纹识别攻击更加困难。
压缩
可以选择压缩所有数据:
- lz4(超快,低压缩)
- zstd(从高速和低压缩到高压缩和低速的广泛范围)
- zlib(中等速度和压缩)
- lzma(低速,高压缩)
可挂载为文件系统的备份
备份存档可挂载为用户空间文件系统,以便于交互式备份检查和恢复(例如,通过使用常规文件管理器)。
在多个平台上轻松安装
我们提供不需要安装任何东西的单文件二进制文件——您可以在这些平台上运行它们:
- Linux
- 苹果系统
- FreeBSD
- OpenBSD 和 NetBSD(尚无 xattrs/ACL 支持或二进制文件)
- Cygwin(实验性的,还没有二进制文件)
- Windows 10 的 Linux 子系统(实验性)