FOSS 项目聚焦:Bareos,一个跨网络的开源备份解决方案
Bareos (Backup Archiving Recovery Open Sourced,备份、归档、恢复开源) 是一个跨网络的开源备份解决方案,可以保存、归档和恢复来自所有主要操作系统的数据。Bareos 项目于 2010 年作为 Bacula 的一个分支启动,现在在 AGPLv3 许可证下开发。
这个基于客户端/服务器的备份解决方案实际上是一组通过网络通信的计算机程序(图 1):Bareos Director (BD)、一个或多个 Storage Dæmons (SD) 和 File Dæmons (FD)。由于这种模块化设计,Bareos 是可扩展的——从单计算机系统(所有组件都在一台机器上运行)到拥有数百台计算机的大型基础设施(甚至在不同的地理位置)。

图 1. 典型的 Bareos 设置:Director(带数据库)、文件守护进程、存储守护进程和备份介质
Director 是所有其他守护进程的中央控制单元。它管理数据库(目录)、连接的客户端、文件集(它们定义了 Bareos 应该备份哪些数据)、可选插件的配置、作业前和作业后程序(在备份作业之前或之后要执行的程序)、存储和介质池、计划和备份作业。Bareos Director 作为守护进程运行。
目录维护所有备份作业、已保存文件和已用卷的记录。当前的 Bareos 版本支持 PostgreSQL、MySQL 和 SQLite,其中 PostgreSQL 是首选的数据库后端。
File Dæmon (FD) 必须安装在每台客户端机器上。它负责备份以及恢复过程。FD 接收 Director 的指令,执行它们并将数据传输到 Bareos Storage Dæmon。Bareos 为许多流行的操作系统提供预打包的文件守护进程,例如 Linux、FreeBSD、AIX、HP-UX、Solaris、Windows 和 macOS。与 Director 一样,FD 在后台作为守护进程运行。
Storage Dæmon (SD) 从一个或多个 File Dæmons 接收数据(在 Director 的请求下)。它将数据(以及文件属性)存储在配置的备份介质上。Bareos 支持各种类型的备份介质,如图 1 所示,包括磁盘、磁带驱动器,甚至云存储解决方案。在恢复过程中,SD 负责将正确的数据发送回 FD。Storage Dæmon 在处理备份设备的机器上作为守护进程运行。
备份作业备份作业定义了要备份什么(客户端的 FileSet
指令),何时备份(计划)以及备份到哪里(例如,在磁盘、磁带等上)。Bareos 非常灵活,您可以混合使用不同的指令。因此,您可以拥有不同的作业定义(资源),备份不同的机器,但使用相同的计划、相同的 FileSet
甚至相同的备份介质。
计划描述了在一周或一个月的不同日期运行哪种类型的备份(完整、增量或差异)。如果多个备份作业依赖于相同的计划,则可以设置作业优先级,并告诉 Bareos 哪个作业应该首先运行。此外,还有恢复、验证和管理作业。
bconsole 和 WebUIBareos 配置存储在文本文件中。为了与 Director 通信,管理员(和其他授权用户)可以使用命令行工具 Bareos Console (bconsole
)。shell 界面允许您查询 Bareos 的状态,确定特定作业的状态,检查数据库的内容并手动运行作业。
您基本上可以在网络上的任何位置运行 bconsole
——它不必是 BD 机器。由于 Bareos Console 是一个 shell 界面,它也可以通过 SSH 工作。
Bareos WebUI(图 2)自 15.2.0 版本以来一直是备份解决方案的一部分。多语言 Web 界面可以访问多个 Director 和目录。其主要目的是监控备份软件,但也可以启动、取消或重新运行作业。您可以使用 WebUI 恢复文件(甚至到不同的客户端)并浏览备份作业的文件树。

图 2. Bareos WebUI 允许用户监控备份解决方案以及恢复他们的数据。
特殊功能Bareos 重视安全性和安全性,并支持传输加密以及数据加密。该软件对所有网络连接使用 TLS(传输层安全)。最重要的是,可以在备份发送到 Storage Dæmon 之前,在 File Dæmon 上加密和签名数据。加密和签名使用 RSA 私钥与自签名 X.509 证书(PKI,公钥基础设施)一起实现。
您可以通过向 Director、FD 和 SD 添加插件来扩展 Bareos 的功能。例如,有 LDAP 插件、用于备份和恢复各种数据库后端(PGSQL、MySQL、MSSQL)的插件、GlusterFS 和 Ceph 文件系统的扩展,以及用于在 VMware vSphere 上运行的虚拟机进行无代理备份的 VMware 插件。bpipe 插件是一个通用的管道程序,它只是将来自指定程序的数据传输到 Bareos 并返回。
文档和支持有关 Bareos 的更多信息,请查看官方文档。还有两个邮件列表:bareos-users(供用户使用,用于从社区获得帮助)和 bareos-devel(供开发人员使用,用于讨论如何修改 Bareos 代码)。源代码可在 Bareos GitHub 仓库中找到。
Bareos 下载服务器为所有主要操作系统提供软件包(仅限稳定的 Bareos 版本)。订阅客户可以访问包含维护和错误修复版本的仓库。Bareos GmbH & Co. KG 公司(位于德国科隆)还提供专业支持。
—Heike Jurzik 和 Maik Aussendorf