我在一家公司从事一个大项目,负责实施 Bacula 作为备份服务。不幸的是,我是唯一被指定尽快完成此服务器的专业人员 :-/。这里(在工作中)没有人有使用 Bacula 的经验,因此实施后我将担任该服务的管理员。
我的老板急着要结果……
经过 8 周阅读 Bacula 社区手册并进行大量测试和实验室之后,我并没有找到针对现在必须处理的场景的可靠解决方案:
“如何在远程站点安装存储守护进程(仅 SD)以便与公司内部的 Bacula 服务器进行通信?这可能吗?”
“如果不是上一个问题,我是否必须在 Bacula 服务器中安装远程目录并使用它指向设备?”
优点 1:我们只使用 Linux 机器。优点 2:我们使用文件而不是磁带或机器人来存储数据。
我将非常感激您的帮助。
提前致谢。
拉法爾索。
答案1
如何在远程站点安装存储守护进程(仅 SD)以便与公司内部的 Bacula 服务器进行通信?这可能吗?
是的,完全正确。您只需在远程机器上安装 SD,并在文件上配置远程地址即可bacula-dir.conf
。具体任务取决于您的安装媒体:来自操作系统或项目本身的软件包、源文件编译等。
例如,在 Debian 上安装时,您只需安装一个包:
bacula-sd/oldoldstable 9.4.2-2+deb10u1 amd64
(这是来自 Debian 10)。
从源代码安装时,您将构建 Dir 和 SD,但您只能运行 SD 并简单地禁用或手动删除 Dir。
如果您有一个包含 Dir 和 SD 的单个 bacula 包,那么您可以安装它,并且与源构建类似,您只需禁用 Dir 启动并将其视为“不存在”,它就会被安装。这是项目甚至 Bacula Enterprise 产品的限制,请检查:
bacula-enterprise-postgresql/stable,now 16.0.5-23040520~buster amd64 [installed]
没有附带单独的 SD。
...远程站点与公司内部的 Bacula 服务器进行通信?
这个问题的答案取决于您是否可以在 Dir 和 SD 之间进行通信,因此 Dir 可以使用 TCP 协议(SD 上的端口 9103)连接到 SD。如果您有任何防火墙,那么您应该允许(打开)此通信。您可以使用一个简单的nc -z -v <sdaddr> 9103
命令测试通信。如果您可以通信,那么您可以在文件中配置Storage
资源bacula-dir.conf
以指向远程 SD - 检查Address = ...
参数。希望对您有所帮助。