BorgBackup 数据备份

Posted by eye on 05-08,2023

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 子系统(实验性)