BorgBackup
BorgBackup(简称:Borg)是一个重复数据删除备份程序,支持压缩和经过身份验证的加密。Borg 的主要目标是提供一种高效且安全的数据备份方式,所使用的重复数据删除技术使 Borg 适用于日常备份 因为只存储更改。 经过身份验证的加密技术使其适合备份 完全受信任的目标。
功能特点[ ]
节省空间的存储方式[ ]
基于内容的定义分块重复数据删除技术被应用于减少所需存储的字节数量。每个文件会被拆分成多个可变长度的块,而且只有那些以前从未出现过的块才会被加入到存储库中。如果两个块的id_hash值相同,那么它们被视为重复的块。这种id_hash通常由加密强哈希或MAC函数生成,比如HMAC-SHA256。
要消除重复的数据,会考虑到在同一存储库中的所有分块,不论这些分块是否来自不同的计算机,还是来源于以前的备份,甚至是来自同一个备份或者同一个文件。
相比其他重复数据删除方法,这种方法并不依赖于以下几点:
- 文件/目录的名称保持不变:这样你就能随意移动内容而不会打断重复数据删除的工作,即使是在共享存储库的机器之间也是如此。
- 完整文件或时间戳保持不变:如果大文件只改变了一小部分,只需要存储一些新的分块 - 这对于虚拟机或是原始磁盘来说很有用。
- 数据分块在文件中的绝对位置:即使内容在文件中移动了,也会被重复数据删除算法找到。
速度[ ]
为了提高速度,性能关键的代码(如分块、压缩、加密)都是用C/Cython编写的。此外,还有文件/分块索引数据的本地缓存以及快速检测未修改的文件的功能。
数据加密[ ]
所有的数据都可以使用256位AES加密,保证了数据的完整性,并使用HMAC-SHA256进行真实性验证。所有的数据都是在客户端进行加密的。
混淆[ ]
Borg也可以主动混淆文件/分块的大小,使得指纹攻击更加困难。
压缩[ ]
用户可以选择对所有数据进行压缩,支持的压缩算法包括LZ4、ZSTD、zlib和LZMA。
异地备份[ ]
Borg还支持异地备份,可以将数据存储在任意可以通过SSH访问的远程主机上。如果Borg安装在远程主机上,性能会有显著提升,与使用网络文件系统(比如sshfs、nfs等)相比。
可作为文件系统挂载的备份[ ]
备份存档可以作为用户空间文件系统挂载,方便用户进行备份检查和恢复。例如,可以使用常规的文件管理器进行操作。
易于安装在多个平台上[ ]
Borg可以轻松地安装在多种平台上,包括Linux操作系统、Mac OS X、FreeBSD、OpenBSD和NetBSD。我们还提供了不需要安装任何额外软件的单文件二进制版本,你可以在以下平台运行它们:Linux操作系统、Mac OS X、FreeBSD、OpenBSD和NetBSD、Cygwin(实验性,还没有二进制文件)以及Windows 10的Linux子系统(实验性)。
免费和开源软件[ ]
作为一个免费和开源的软件,Borg的安全性和功能可以进行独立审计。