如今,备份和恢复的最佳实践比以往任何时候都更加重要,很高兴知道即使是最大的组织也存在高端全开源企业备份解决方案。Bacula 可能是同类产品中最强大的开源解决方案,它是一款高度可扩展的软件,用于备份、恢复和数据验证。它是一个成熟但仍在显着发展的项目,被 MSP、国防组织、ISV 和全球电子商务公司使用,并在许多不同的 Linux 版本上运行。Bacula 拥有蓬勃发展的社区,许多 Linux 爱好者使用它来提供强大的数据保护。
鉴于勒索软件如今造成的许多严重破坏,至关重要的是,被备份的客户端系统永远不知道存储目标,并且没有访问它们的凭据。Bacula 的情况确实如此,此外
- 存储和存储守护程序主机是专用系统,受到严格保护,仅允许与 Bacula 相关的流量和管理员访问,不允许其他任何内容。
- Bacula 的“Director”(核心管理模块)是一个具有相同限制性访问权限的专用系统。
Bacula 有大量的附加配置选项,可以根据用户需求调整备份。它可以在网络中运行,并且可以备份远程和本地主机。对于初次使用的用户来说,它看起来可能很复杂,但幸运的是,Bacula 项目还提供了 Baculum Web 界面,以简化管理。许多 Linux 用户非常乐意依赖 Bacula 的命令行界面来利用其广泛的功能,但有时拥有一个有效的 GUI 也很好。这就是开源 Baculum 的用武之地。
Baculum
Baculum 的安装过程相当简单,因为它的存储库为流行的 Linux 发行版提供二进制软件包。安装后,您可以访问两个向导
- Baculum API - 用于处理 Bacula 数据的 REST API 组件。
- Baculum Web 组件 - Web 界面本身。
Baculum API 安装在具有 Bacula 组件的主机上,您可以从 Web 界面级别管理这些组件。Baculum Web 通常是一个实例,它连接所有 Baculum API 主机,并可以管理所有这些主机。这种架构非常适合 Bacula 网络架构,因为您可以从一个界面管理所有 Bacula 主机。重要的是要知道,Web 界面不存储来自任何主机的任何 Bacula 特定配置,而是通过发送 API 请求来管理它们。当您修改界面或运行 Bacula 操作时,它们是实时完成的。当您单击保存配置按钮时,修改会同时在目标主机上完成。
以下是 Bacula 和 Baculum 拓扑示例。

(Rob Morrison,CC BY-SA 4.0)
这种方法的一个缺点是,您需要在要管理的每个 Bacula 主机上安装一个 Baculum API 实例。如果要备份的服务器很多,则可以使用像 Ansible 这样的应用程序部署工具来自动化安装过程。
在我的情况下,我有一个更简单的拓扑,只有一个主机由 Baculum 管理。我的拓扑结构如下所示。

(Rob Morrison,CC BY-SA 4.0)
您可以决定在每个 Baculum API 主机上共享哪些 Bacula 资源。您可以将 API 主机设置为执行配置工作、访问 Bacula 目录数据库、运行 Bacula 控制台命令或任何组合。
在 Bacula 环境中安装 Web 界面后,您会看到如下所示的仪表板页面

(Rob Morrison,CC BY-SA 4.0)
创建备份作业
要定义新的备份作业,请转到作业页面以查看一些向导,这些向导用于使用自定义作业表单创建备份、复制或迁移作业。对于此演示,我选择了备份作业,它显示了第一个向导步骤

(Rob Morrison,CC BY-SA 4.0)
首先,键入新的作业名称和可选描述。在第二步中,决定要备份的内容。在此示例中,我选择了一个 Bacula 客户端和 FileSet,它定义了要备份的路径。通常,在此窗口中,还没有任何 FileSet 选项可供选择,但您可以使用向导中的添加新文件集按钮创建一个。为了定义路径,我决定浏览客户端文件系统并在拖放浏览器中选择路径,如下图所示。

(Rob Morrison,CC BY-SA 4.0)
FileSet 准备就绪后,下一步是选择将备份数据保存到哪里以用于此作业。选择一个存储位置和一个卷池。

(Rob Morrison,CC BY-SA 4.0)
与 FileSet 一样,您可以选择创建一个新的池。在此示例中,我选择了一个现有的卷池。
下一步是特定于作业的选项,例如选择作业级别(完整、增量、差异等)、作业优先级和一些其他设置。

(Rob Morrison,CC BY-SA 4.0)
在下一个向导页面上,指定何时运行此备份作业。备份通常定期运行,您可以在此处为此作业选择一个计划。如果您没有计划,则可以在此界面中创建它

(Rob Morrison,CC BY-SA 4.0)
最后一个向导步骤只是先前步骤中选择的所有值的摘要。

(Rob Morrison,CC BY-SA 4.0)
查看所有值,如果它们看起来正确,则创建新作业。
运行备份
好的,您已经有了一个新的备份作业。要运行初始备份,您可以选择使用运行作业按钮手动启动它。在运行作业窗口中,有一个有用的功能可以在运行作业之前对其进行估计。运行此估计以提前了解此作业将备份多少文件和多少字节。

(Rob Morrison,CC BY-SA 4.0)
运行作业后,您将移动到作业查看页面,您可以在其中从客户端的角度查看备份进度。

(Rob Morrison,CC BY-SA 4.0)
您可以从界面上的三个位置跟踪作业状态
- Bacula 客户端(如上所示)。
- Bacula Director 组件端。
- 存储守护程序视角。
在这里,您可以看到 Director 和存储守护程序端的作业进度

(Rob Morrison,CC BY-SA 4.0)

(Rob Morrison,CC BY-SA 4.0)
备份作业完成。
恢复数据
当然,您必须能够恢复备份的数据。Baculum 在主侧边栏菜单中提供了一个恢复向导。打开后,您会看到一个备份客户端选择,您可以将数据恢复到该客户端。

(Rob Morrison,CC BY-SA 4.0)
选择客户端并转到第二步。在这里,您可以看到来自该客户端的所有备份。您的备份在顶部,因此很容易选择。但是,如果您想查找过去的备份,请搜索备份数据网格。还有一个选项可以按文件名(带或不带路径)查找备份。

(Rob Morrison,CC BY-SA 4.0)
选择备份并转到恢复向导步骤三的文件选择。在此处的文件浏览器中,选择要恢复的目录和文件。浏览器还有一个区域可以选择特定文件版本(如果它存在于其他备份中)。

(Rob Morrison,CC BY-SA 4.0)
下一个向导步骤定义了恢复将数据保存到的目标位置。默认情况下,选择备份的源客户端,但您可以将其更改为恢复到与原始主机不同的主机。您还可以定义客户端上的绝对路径以恢复数据。显示了完成此恢复所需的介质。这对于备份磁带设备操作员为恢复作业做准备非常有用。就我个人而言,我使用磁盘介质,并且我的卷始终可用于存储守护程序。

(Rob Morrison,CC BY-SA 4.0)
下一步提供恢复选项,例如替换文件系统上现有文件的策略或文件重定位字段。我保持它们不变,然后在运行恢复之前转到摘要步骤。

(Rob Morrison,CC BY-SA 4.0)
在恢复作业中,就像在备份作业中一样,您可以看到正在运行的恢复作业的进度。完成后,会有一个整个过程的摘要。

(Rob Morrison,CC BY-SA 4.0)
差不多就是这样。备份和恢复已完成。使用其他工具,该过程可能会简单一些,但 Bacula 为 Linux 爱好者提供了数百个非常有用的选项。这限制了您可以简化界面的程度,并且大多数 Bacula 用户都不希望这样做。
复制作业
除了执行传统的备份和恢复作业外,Bacula 还提供其他几种作业类型。其中之一是复制作业,它在存储设备之间、从一个卷池到另一个卷池复制备份。一个存储设备可以是磁盘,另一个可以是磁带或磁带库。复制作业从文件卷读取数据并将其发送到磁带设备以保存在磁带上。Bacula 用户可以配置备份 D2D2T 策略(磁盘到磁盘到磁带)。源存储和目标存储可以是不同类型的(磁盘和磁带),但当在相同设备类型之间复制备份作业时,它的工作原理也一样好。
Baculum 完全支持复制作业,包括配置复制作业以及直接从复制作业恢复数据。使用下图可见的复制作业向导配置复制作业。

(Rob Morrison,CC BY-SA 4.0)
键入新的复制作业名称后,选择源存储和源卷池。这是复制作业运行时读取数据的存储。

(Rob Morrison,CC BY-SA 4.0)
第三个向导步骤指定如何复制作业。换句话说,您可以定义用于选择将要复制的备份的选择标准。您可以按以下模式选择备份
- 作业名称
- 客户端
- 卷
- 池中最小的卷
- 池中最旧的卷
- SQL 查询
- 复制池中迄今为止所有未复制的作业
在本例中,我选择了按作业名称选择。

(Rob Morrison,CC BY-SA 4.0)
在下一步中选择目标存储和池。当您运行复制作业时,此存储会将备份写入目标池。

(Rob Morrison,CC BY-SA 4.0)
倒数第二步是几个选项,例如最大生成作业数。您还可以设置计划以定期运行复制作业。

(Rob Morrison,CC BY-SA 4.0)
保存向导后,在启动备份作业的同一位置运行复制作业。您可以看到实时更新的作业日志输出。

(Rob Morrison,CC BY-SA 4.0)
总结
完成!您已经执行了备份作业、恢复了作业并创建了复制作业。
我认为 Baculum 有两个功能,许多人会觉得有用。
首先,其简单的界面使用户能够从任何移动设备管理 Bacula。这对于您在办公室外的情况至关重要,并且组织中的某人发送了一条短信,例如:“嘿!我不小心删除了一个重要的报告文件,并且急需它。您能将其恢复到我的计算机吗?”您可以使用手机和上面描述的相同向导步骤来完成此恢复。
第二个重要功能是其多用户界面,具有多种身份验证方法(本地用户、基本身份验证、LDAP 等)。它使公司员工可以使用 Baculum 来备份和恢复他们自己的资源,而无需访问任何其他实用程序。您可以为每组用户自定义基于角色的访问控制界面。
当然,这些选项只是 Bacula 与 Baculum 配合使用的功能的冰山一角。Baculum 真正关注的是可配置性。我希望您能享受它的好处以及它为您带来的能力,使您的数据更安全,生活更轻松!
评论已关闭。