备份,第6部分:比较备份工具


本文将比较备份工具,但首先您需要了解它们如何快速,良好地处理从备份中恢复数据。
为了便于比较,将考虑从完全备份中恢复,特别是因为所有候选者都支持这种操作模式。 为了简单起见,已经对数字进行了平均(几次开始的算术平均值)。 结果将汇总在一个表中,该表还将包含有关功能的信息:Web界面的存在,设置和操作的简便性,自动化能力,各种附加功能(例如,检查数据完整性)的存在等。 这些图将显示服务器负载以及将在其中使用数据的位置(而不是用于存储备份的服务器)。

数据恢复


Rsync和tar将用作参考点,因为最简单的备份脚本通常基于 Rsync和tar。

通过显示, Rsync在4分28秒内完成了测试数据集

这样的负担


恢复过程遇到了备份存储服务器的磁盘子系统(锯齿图形)的限制。 您还可以清楚地看到一个内核的加载没有任何问题(低iowait和softirq –磁盘和网络分别没有问题)。 由于其他两个程序,即rdiff-backup和rsnapshot,都是基于rsync的,并且还提供常规的rsync作为恢复工具,因此它们将具有大致相同的负载配置文件和备份恢复时间。

焦油交易速度更快

2分43秒:


由于增加了softirq(在网络子系统运行期间增加的开销),整个系统的平均负载平均提高了20%。

如果压缩了归档文件,则恢复时间将增加到3分19秒,
主服务器上的此类负载(在主服务器的侧面打开包装):


由于两个进程都在工作,因此拆包过程占用了两个处理器核心。 一般来说,预期结果。 此外,在带有备份的服务器端运行gzip时,获得了可比的结果(3分钟20秒),主服务器上的负载配置文件与没有gzip压缩器的tar运行非常相似(请参见上图)。

rdiff-backup中,您可以同步使用常规rsync进行的上一次备份(结果将是相似的),但是仍然需要使用rdiff-backup程序还原较旧的备份,该程序设法在17分钟17秒内还原,显示

这样的负载:


也许这是构想出来的,无论如何,作者提出了这样一种解决方案来限制速度。 使用rsync在磁盘和网络上还原备份的过程只占用一个核心的一半以下,并且性能成比例地可比(即慢2-5倍)。

用于恢复的Rsnapshot建议使用常规rsync,因此其结果将相似。 总的来说,就是这样。

Burp处理了在7分钟2秒内还原备份的任务
这样的负载:


它的工作速度足够快,并且比纯rsync至少方便得多:您不需要记住任何标志,简单直观的cli界面,对多个副本的内置支持,但速度却慢了两倍。 如果您需要从上一次备份中恢复数据,则可以使用rsync,但有一些注意事项。

通过为以下产品部署备份,在打开rsync传输模式时, BackupPC表现出大约相同的速度和负载。

7分42秒:


但是在使用tar BackupPC的数据传输模式下,处理速度要慢得多:在12分钟15秒内,处理器负载通常较低

一年半:


未经加密的重复性显示出稍好的结果,可以在10分58秒内恢复备份。 如果您使用gpg激活加密-恢复时间将增加到15分钟3秒。 另外,在创建用于存储副本的存储库时,您可以指定档案的大小,该大小将在拆分传入数据流时使用。 通常,在普通硬盘驱动器上,也由于单线程操作模式,差异不大。 使用混合存储时,它可能以不同的块大小出现。 恢复期间主服务器上的负载如下:

没有加密


加密


Duplicati的恢复速度相当,在13分钟45秒内即可应付。 另外5分钟验证了恢复数据的正确性(总共约19分钟)。 负载是

足够高:


在内部激活aes加密时,恢复时间为21分40秒,并且处理器负载最大(两个核!)。 在检查数据时,只有一个线程处于活动状态,占用一个处理器核心。 恢复后的数据验证花费了相同的5分钟(总共近27分钟)。

结果


使用外部gpg程序进行加密时,Duplicati处理恢复的速度更快,但通常与以前的模式的差异很小。 操作时间为16分钟30秒,其中数据验证时间为6分钟。 负载是

如:


使用tar的AMANDA在2分49秒内完成管理,从原则上讲,它非常接近常规tar。 原则上系统负载

一样:


使用zbackup还原备份时,获得以下结果:

加密,压缩lzma


工作时间11分8秒

AES加密,Izma压缩


工作时间14分钟

AES加密,IZO压缩


工作时间6分19秒

总而言之,还不错。 一切都取决于备份服务器上的处理器速度,当程序使用不同的压缩器运行时,这很明显。 从备份服务器端启动了常规tar,因此,如果与之比较,恢复的速度将慢3倍。 可能需要检查多于两个线程的多线程模式下的工作。

非加密模式下的BorgBackup在2分钟45秒内管理的速度比tar慢,但是,与同一个tar不同,可以对存储库进行重复数据删除。 负载同时出现

下一个:


如果您激活基于blake的加密,则还原备份的速度会降低一点。 此模式下的恢复时间为3分19秒,并且释放了负载

如:


AES加密的工作速度稍慢,恢复时间为3分23秒,特别是负载

不变:


由于Borg可以在多线程模式下工作-处理器负载最大,而当您激活其他功能时,运行时间只会增加。 显然,与zbackup类似,值得探索多线程工作。

Restic处理恢复的速度较慢,操作时间为4分28秒。 负载看起来

像这样:


显然,恢复过程在多个线程中工作,但是效率不像BorgBackup那样高,但是在时间上可以与通常的rsync相提并论。

使用UrBackup,我能够在8分19秒内恢复数据,而负载是

如:


仍然看不到很高的负载,甚至低于焦油的负载。 在某些地方会爆发,但最多只能加载一个内核。

选择和比较标准的理由


如前一篇文章所述,备份系统必须满足以下条件:

  • 工作简单
  • 多功能性
  • 稳定度
  • 速度

值得分别详细考虑每个项目。

工作简单


最好只有一个按钮“使一切都变好”,但是如果您返回真实程序,则具有一些熟悉的标准操作原理将是最方便的。
如果大多数用户不需要记住cli的一堆密钥,不需要通过网络或tui配置一堆不同的,通常是晦涩的选项,并设置有关操作失败的警报,则可能会更好。 这还包括轻松地将备份解决方案“适配”到现有基础架构中以及自动执行备份过程的能力。 立即具有安装软件包管理器的能力,或通过“下载并解压缩”类型的一个或两个命令进行安装。 curl | sudo bash curl | sudo bash是一种复杂的方法,因为您需要验证它是否已通过引用到达。

例如,在所考虑的候选对象中,一个简单的解决方案是burp,rdiff-backup和restic,它们具有记忆性地记住了用于不同操作模式的键。 博格和双重性更为复杂。 最困难的是阿曼达。 其余的易用性介于两者之间。 无论如何,如果您需要30秒钟以上的时间来阅读用户手册,或者需要访问Google或其他搜索引擎,并滚动浏览很长的帮助表,则该解决方案很复杂。

考虑的某些候选软件能够通过电子邮件\ jabber自动发送消息,而其他候选软件则依赖于系统中配置的警报。 而且,大多数情况下,复杂的决定并没有很明显的通知设置。 无论如何,如果备份程序给出了非零的返回码,则定期任务的系统服务将正确地理解该返回码(该消息将飞向系统管理员或立即向监视发送)-这种情况很简单。 但是,如果不能以明显的方式设置不能在备份服务器上运行的备份系统,则复杂度已经过高。 在任何情况下,仅向Web界面和/或日志发布警告和其他消息都是不明智的做法,因为通常会忽略它们。

至于自动化,一个简单的程序可以读取指定其操作模式的环境变量,或者具有开发的cli,例如,可以通过Web界面完全复制行为。 这还包括继续工作的可能性,扩展机会的可用性等。

多功能性


在自动化方面部分地与上一小节相呼应,将备份过程“适配”到现有基础架构中应该不是一个特殊的问题。
值得注意的是,使用非标准端口(除了Web界面之外)进行工作,以非标准方式实施加密,使用非标准协议进行数据交换是非通用解决方案的标志。 在大多数情况下,出于显而易见的原因,所有候选人都采用一种或另一种方式:简单性和多功能性通常不兼容。 打p是一个例外,还有其他。

作为一个标志-使用常规ssh的工作能力。

工作速度


最有争议和最有争议的观点。 一方面,他们启动了该过程,该过程尽可能快地工作并且不干扰主要任务。 另一方面,备份期间流量和CPU负载会激增。 还值得注意的是,最快的复制程序通常在对用户重要的功能中最差。 再说一次:如果要获得一个不幸的文本文件,需要几十个字节的密码,并且由于这个原因,整个服务成本(是的,我知道这里的备份过程通常是无罪的),您需要重新阅读按顺序存储库中的所有文件或部署整个归档-备份系统永远不会很快。 经常成为绊脚石的另一点是从存档部署备份的速度。 对于那些可以简单地将文件复制或移动到正确位置而无需特殊操作(例如rsync)的人来说,这是一个明显的优势,但是大多数情况下,该问题必须以组织的方式凭经验来解决:测量备份的恢复时间并公开通知用户。

稳定度


应该理解如下:一方面,应该可以以任何方式重新部署备份,另一方面,可以抵抗各种问题:网络故障,磁盘故障,删除存储库的一部分。

备份工具比较


复制时间复制恢复时间易于安装设置简单使用简单易于自动化我需要客户端\服务器吗?检查存储库完整性差异副本通过管道工作多功能性独立性储存库透明度加密方式压缩方式重复数据删除网页界面云上传Windows支援分数
同步4分15秒4分28秒是的没有啦没有啦没有啦是的没有啦没有啦是的没有啦是的是的没有啦没有啦没有啦没有啦没有啦是的6
焦油纯净的3分12秒2分43秒是的没有啦没有啦没有啦没有啦没有啦是的是的没有啦是的没有啦没有啦没有啦没有啦没有啦没有啦是的8.5
gzip9分37秒3分19秒是的
Rdiff备份16分26秒17分17秒是的是的是的是的是的没有啦是的没有啦是的没有啦是的没有啦是的是的是的没有啦是的11
快照4分19秒4分28秒是的是的是的是的没有啦没有啦是的没有啦是的没有啦是的没有啦没有啦是的是的没有啦是的12.5
打p11分9秒7平方米是的没有啦是的是的是的是的是的没有啦是的是的没有啦没有啦是的没有啦是的没有啦是的10.5
双重性没有加密16分48秒10分58秒是的是的没有啦是的没有啦是的是的没有啦没有啦是的没有啦是的是的没有啦是的没有啦是的11
gpg17分27秒15立方米
重复的没有加密20分28秒13分45秒没有啦是的没有啦没有啦没有啦是的是的没有啦没有啦是的没有啦是的是的是的是的是的是的11
es29分41秒21分40秒
gpg26分19秒16分30秒
Zbackup没有加密40立方米11分8秒是的是的没有啦没有啦没有啦是的是的是的没有啦是的没有啦是的是的是的没有啦没有啦没有啦10
es42分钟14平方米
AES + LZO18分9秒6分19秒
伯格备份没有加密4分7秒2分45秒是的是的是的是的是的是的是的是的是的是的没有啦是的是的是的是的没有啦是的16
es4分58秒3分23秒
布雷克24分39秒3分19秒
雷斯蒂奇5分38秒4分28秒是的是的是的是的没有啦是的是的是的是的是的没有啦是的没有啦是的没有啦是的是的15,5
Urbackup8分21秒8分19秒是的是的是的没有啦是的没有啦是的没有啦是的是的没有啦是的是的是的是的没有啦是的12
阿曼达9立方米2分49秒是的没有啦没有啦是的是的是的是的没有啦是的是的是的是的是的没有啦是的是的是的13
备份电脑同步12分22秒7分42秒是的没有啦是的是的是的是的是的没有啦是的没有啦没有啦是的是的没有啦是的没有啦是的10.5
焦油12分34秒12分15秒

表图例:

  • 绿色,运行时间少于五分钟,或者答案为“是”(“需要客户端\服务器?”列除外),满分1分
  • 黄色,工作时间五至十分钟,0.5分
  • 红色,操作时间超过十分钟,或者答案为“否”(“是否需要客户端\服务器?”列除外),0分

根据上表,最简单,最快速,同时又方便又强大的备份工具是BorgBackup。 雷斯蒂克位居第二,其余被认为是候选人的情况大致相同,最后分散了一到两点。

我感谢所有读完周期的人,我建议讨论选择方案,并建议您自己提出建议。 随着讨论的进行,可以对表格进行补充。

循环的结果将是最后一篇文章,其中将尝试推出理想,快速和可管理的备份工具,该工具可让您快速部署副本,同时又具有配置和维护的便利性和简便性。

公告公告


备份,第1部分:为什么需要备份,方法,技术概述
备份,第2部分:概述和测试基于rsync的备份工具
备份,第3部分:概述和测试重复性,重复
备份,第4部分:概述和测试zbackup,restic,borgbackup
备份,第5部分:测试linux的bacula和veeam备份
备份:读者要求的部分:AMANDA审查,UrBackup,BackupPC
备份,第6部分:比较备份工具
备份第7部分:结论

Source: https://habr.com/ru/post/zh-CN470802/


All Articles