Bareos 介绍与选型指南
Bareos 联网溯源认知与选型:Bacula 5.2 社区分支出身的企业级 Client/Server 备份恢复套件,覆盖 Director/Storage/Filedaemon 三守护进程架构、AGPLv3 无开放核心限制、四条维护分支的版本节奏与同类备份方案量化对比,关键数据均标注来源与查询日期 2026-10-22。
Bareos 介绍与选型指南
目标:面向正在评估「自托管集中式备份恢复平台」的技术团队,系统介绍 Bareos 的定位、出身、三守护进程架构、功能特性、版本演进与同类横向对比,帮助完成「选不选它」的判断。本篇为认知与选型篇,全部信息基于官方公开资料联网溯源整理,关键数据均标注来源与查询日期(2026-10-22),不含本地实测环节;Ubuntu 22.04 上的完整安装、配置与命令实测过程见本专栏其余三篇。
一、环境信息
本章说明本篇溯源所用的信息源与版本认定依据,后续章节的事实均以此为基准。
- 溯源方式:纯联网溯源(官方 GitHub
bareos/bareos仓库与 Releases 列表、GitHub REST API、官方文档站 docs.bareos.org、官方软件仓库 download.bareos.org 包索引),未包含任何本地实测环节; - 版本认定日期:2026-10-22;
- Bareos 最新稳定版本:25.1.1(Release/25.1.1,发布于 2026-09-03;来源:GitHub
bareos/bareosReleases 列表,查询日期 2026-10-22); - 维护分支(同期仍在出补丁的四条线,来源同上):
| 分支 | 最新补丁版本 | 发布日期 |
|---|---|---|
| 25.1 | 25.1.1 | 2026-09-03 |
| 25.0 | 25.0.4 | 2026-07-02 |
| 24.0 | 24.0.11 | 2026-09-03 |
| 23.1 | 23.1.8 | 2026-09-03 |
💡 说明:四条分支在 2026-04-01、2026-07-02、2026-09-03 三个时点同步出补丁(来源:GitHub Releases 列表同一批次的发布记录,查询日期 2026-10-22),呈「多分支并行维护、季度节奏出补丁」的版本策略,评估升级路径时应确认目标分支是否仍在该节奏内。
- 官方社区软件仓库现状:
https://download.bareos.org/根目录下为current/、experimental/、next/三个通道目录(查询日期 2026-10-22);社区文档中曾使用的/bareos/release/latest/路径已返回 404,旧教程中的该地址不再可用; - 社区
current通道(xUbuntu_22.04)包索引实查:全部 bareos 软件包版本为25.1.2~pre49.d5742f640-124(42 个包,来源:https://download.bareos.org/current/xUbuntu_22.04/Packages包索引,查询日期 2026-10-22)。即社区 current 通道提供的是滚动构建的预发布版本(版本串含~pre与构建号),与 GitHub 上的稳定 tag(25.1.1)并存; - 官方仓库:
bareos/bareos(来源:官方文档与 README 徽章指向,查询日期 2026-10-22);仓库创建于 2013-08-12,最近一次推送 2026-10-16(来源:GitHub REST APIrepos/bareos/bareos,查询日期 2026-10-22); - 社区规模:GitHub 星数 1269、fork 数 320、开放 issue 数 85(来源:GitHub REST API
repos/bareos/bareos,查询日期 2026-10-22); - 许可证:AGPLv3——仓库描述明确「licensed under AGPLv3」,仓库根同时存在
AGPL-3.0.txt与LICENSE.txt两个许可文件(来源:GitHub REST API 与仓库文件列表,查询日期 2026-10-22); - 维护方:Bareos GmbH & Co. KG(德国公司,提供商业订阅与支持服务;来源:官方二进制版权行「Get professional support from https://www.bareos.com」与官方站点,查询日期 2026-10-22)。
二、软件概述
本节给出 Bareos 的一句话定位与项目身份信息,回答「它是什么、从哪来、以什么形式分发」。
2.1 定位:网络级 Client/Server 备份恢复套件
官方对 Bareos 的定义(来源:docs.bareos.org《What is Bareos?》章节,https://docs.bareos.org/IntroductionAndTutorial/WhatIsBareos.html ,查询日期 2026-10-22):
Bareos is a set of computer programs that permits the system administrator to manage backup, recovery, and verification of data across a network of computers of different kinds. Bareos can also run entirely upon a single computer and can backup to various types of media, including tape and disk. In technical terms, it is a network Client/Server based backup program. … Due to its modular design, Bareos is scalable from small single computer systems to systems consisting of hundreds of computers located over a large network.
即:Bareos 是一套以数据库为目录(Catalog)、以三守护进程分工的网络级备份恢复程序集,管理员用它统一管理多台异构主机(Linux、Windows、FreeBSD、macOS 等)的数据备份、恢复与校验,介质支持磁盘与磁带,规模可从单机扩展到数百台主机的大网络。
项目名是缩写:Backup Archiving REcovery Open Sourced(来源:官方包描述「Backup Archiving REcovery Open Sourced - metapackage」,docs.bareos.org 包表格,查询日期 2026-10-22)。
2.2 出身:Bacula 5.2 的社区分叉
Bareos 并非从零编写,而是 Bacula 的社区分叉(来源:docs.bareos.org《History》章节,同上,查询日期 2026-10-22):
Bareos is a fork of the open source project Bacula version 5.2. In 2010 the Bacula community developer Marco van Wieringen started to collect rejected or neglected community contributions in his own branch. This branch was later on the base of Bareos and since then was enriched by a lot of new features.
即 2010 年,Bacula 社区开发者 Marco van Wieringen 把被上游拒收或搁置的社区贡献收集进自己的分支,该分支后来成为 Bareos 的基础并持续加入新特性。官方文档同时说明其文档体系也源自 Bacula 文档(GNU FDL 规则下的文档分叉)。
💡 说明:这段出身决定了 Bareos 与 Bacula 高度的概念同构——Director/Storage/File daemon/Catalog/Volume/Pool 等核心概念与配置语法一脉相承,熟悉 Bacula 的团队迁移 Bareos 的概念成本很低;反过来,Bareos 分叉后加入的特性(如 Always Incremental 备份方案、数据去重友好存储格式等)是它相对上游的主要增量卖点(来源:官方 README Key Features,查询日期 2026-10-22)。
2.3 身份信息汇总
| 维度 | 事实 | 来源与查询日期 |
|---|---|---|
| 项目名 | Bareos(Backup Archiving REcovery Open Sourced) | docs.bareos.org 包描述,2026-10-22 |
| 出身 | Bacula 5.2 的社区分叉(2010,Marco van Wieringen) | docs.bareos.org History 章节,2026-10-22 |
| 官方仓库 | github.com/bareos/bareos(2013-08-12 创建) | GitHub REST API,2026-10-22 |
| 许可证 | AGPLv3(仓库声明无 open-core 限制) | GitHub README 与仓库描述,2026-10-22 |
| 最新稳定版 | 25.1.1(2026-09-03),另有 25.0/24.0/23.1 分支同步维护 | GitHub Releases,2026-10-22 |
| 实现语言 | C/C++ 为主的守护进程 + Python 插件体系(官方仓库含 bareos-director-python3-plugin 等插件包) | 官方包索引与文档站,2026-10-22 |
| 支持平台 | Linux、Windows、FreeBSD、macOS 等 | 官方 README,2026-10-22 |
| 存储后端 | 磁盘、磁带、S3 兼容对象存储 | 官方 README,2026-10-22 |
| 目录数据库 | 目录数据独立存放于 SQL 数据库(官方推荐 PostgreSQL,安装包提供 bareos-database-postgresql 等后端包) | 官方软件仓库包列表(download.bareos.org current 通道),2026-10-22 |
| Web 管理界面 | bareos-webui(PHP 编写,依赖独立部署的 Web 服务器 + PHP-FPM) | 官方软件仓库包列表与 docs.bareos.org Bareos WebUI 章节,2026-10-22 |
| 商业支持 | Bareos GmbH & Co. KG 提供订阅与专业支持 | 官方二进制版权行,2026-10-22 |
三、核心架构
本节拆解 Bareos 的三守护进程 + 目录数据库 + 控制台的组件分工,这是理解其配置体系与部署形态的基础。
3.1 三守护进程分工
Bareos 采用典型的集中调度架构,由三类守护进程协作完成一次备份/恢复(来源:docs.bareos.org《What is Bareos?》组件章节与官方软件仓库包构成,查询日期 2026-10-22):
| 组件 | 系统服务/包 | 默认端口 | 职责 |
|---|---|---|---|
| Bareos Director(DIR) | bareos-director(服务 bareos-director) | TCP 9101 | 大脑:解析全部配置资源(Job/Client/FileSet/Schedule/Pool 等),调度备份与恢复作业,维护作业编排与策略;配置载体为 /etc/bareos/bareos-dir.d/ 目录 |
| Bareos Storage Daemon(SD) | bareos-storage(服务 bareos-storage,别名 bareos-sd) | TCP 9103 | 存储端:接收 FD 推来的备份数据流并写入实际介质(磁盘文件、磁带、S3 兼容对象存储);配置载体为 /etc/bareos/bareos-sd.d/ 目录 |
| Bareos File Daemon(FD) | bareos-filedaemon(服务 bareos-filedaemon,别名 bareos-fd) | TCP 9102 | 客户端:装在被备份主机上,遍历 FileSet 定义的文件集、读取数据流并推给 SD,恢复时反向接收数据写回磁盘 |
| Catalog(目录数据库) | bareos-database-postgresql 等 | 本地 SQL | 记录哪些文件在哪个 Volume 的哪个位置、作业历史、池与介质状态——恢复与增量备份的依据;数据库本身由 Director 通过 Catalog 资源访问 |
| Console(控制台) | bareos-bconsole | 连接 9101 | 管理员与 Director 交互的命令行:跑作业、查状态、执行恢复、label 介质 |
| WebUI | bareos-webui | 经 Web 服务器反代连 9101 | PHP 编写的浏览器管理界面,以 Director 上的命名 Console 资源身份登录 |
💡 技术拓展:集中式备份平台的「备份目标机认证」常见两种模式对比——
模式 原理 取舍 口令预共享(Bareos/Bacula 式) Director 与每个 FD/SD 在各自配置文件里预置同一段口令,连接时以 TLS-PSK 加密握手 配置直观、无额外依赖;扩客户端需在两端同步改配置 证书/CA 签发 统一 CA 签发客户端证书,服务端验签 大规模下易轮换;需要维护 CA 基础设施 Bareos 默认采用口令预共享 + TLS-PSK 加密通道(默认配置中 Director 与 FD/SD 的连接实测为 TLSv1.3 的 TLS_CHACHA20_POLY1305_SHA256 密码套件;本专栏命令篇有该连接的实测记录),本文方案即采用该默认模式。
3.2 一次备份作业的执行链路
以「管理员触发一次对客户端 bareos-fd 的全量备份」为例(组件职责来源同上,查询日期 2026-10-22):
- 管理员通过 bconsole 向 Director(9101)下发
run指令,Director 按 Job 资源定义组装作业(用哪个 Client、哪个 FileSet、哪个 Schedule 级别、写入哪个 Pool); - Director 连接目标主机的 File Daemon(9102),下发文件集遍历指令;FD 逐文件读取数据(可计算签名校验值),经网络推给 Storage Daemon(9103);
- SD 把数据流写入 Pool 约定的介质(磁盘 Volume 文件或磁带),并在写入前完成卷的 label(标签)与挂载;
- Director 把「每个文件 → 所在 Volume/块位置」的索引写入 Catalog 数据库,作业结束状态(OK/Error)回写目录并可通过 Messages 资源邮件/控制台通知;
- 恢复时反向执行:Director 从 Catalog 查出目标文件所在的 Volume 与位置,指挥 SD 读流、FD 写回客户端磁盘(支持重定向
where路径)。
这条链路解释了 Bareos 配置体系的形状:策略(Job/Pool/Schedule/FileSet)全部收在 Director 配置目录,数据通路的两端(SD、FD)各自只保留与自己相关的最小配置,本专栏配置篇按该三类配置目录逐文件展开。
3.3 组件与官方软件包对应
官方社区仓库 current 通道(xUbuntu_22.04)在 bareos 元包之外共提供 42 个软件包(来源:https://download.bareos.org/current/xUbuntu_22.04/Packages 包索引,查询日期 2026-10-22),与架构组件的对应关系主要包括:
| 软件包 | 对应组件 |
|---|---|
bareos | 元包:一次拉齐 director/storage/filedaemon/bconsole 等核心件(官方包描述「Backup Archiving REcovery Open Sourced - metapackage」) |
bareos-director | Director 服务端与配置目录骨架 |
bareos-storage | Storage Daemon 及其配置目录骨架 |
bareos-filedaemon | File Daemon(被备份主机只需装这一个包) |
bareos-bconsole | 命令行控制台 |
bareos-database-common / bareos-database-postgresql / bareos-database-tools | 目录数据库公共层 / PostgreSQL 后端 / 目录工具(含 bareos-dbcheck) |
bareos-webui | 浏览器管理界面(需 Web 服务器 + PHP-FPM 承载) |
bareos-filedaemon-*-plugin / bareos-director-python3-plugin 等 | 各类备份插件(MySQL/PostgreSQL/LDAP/云对象存储等场景插件,包索引可见 bareos-filedaemon-grpc-python3-plugin、bareos-filedaemon-ldap-python-plugin 等) |
四、功能特性
本节归纳官方 README「Key Features」与软件包构成所支撑的能力面,并给出评估视角的解读(来源:官方 README https://github.com/bareos/bareos ,查询日期 2026-10-22)。
- 开放透明、无开放核心:整体 AGPLv3 授权,官方明确「no open-core restrictions」——社区版与企业版同源,不存在「核心功能锁在付费版」的切割(来源:官方 README,2026-10-22);
- 跨网络集中管理多平台客户端:Linux、Windows、FreeBSD、macOS 等系统均可装 FD 作为被备份端,由同一 Director 统一调度(来源:官方 README「Cross-platform」与 What is Bareos 章节定义);
- 可扩展的模块化架构:官方声明面向「many clients, storage daemons and backup targets across networks」——Director/SD/FD 三角色可分机部署,SD 可部署多个横向扩存储(来源:官方 README「Scalable architecture」);
- 多介质后端:磁盘、磁带、S3 兼容对象存储三类写入目标(来源:官方 README「Flexible storage targets」);
- 去重友好存储格式:备份写入格式针对 ZFS、VDO、btrfs 等去重文件系统优化,并配套
bdedupestimate工具在调整备份布局前估算去重潜力(来源:官方 README「Deduplication-friendly storage」)。注意其去重模型是「配合下层去重文件系统」,Bareos 自身不做内联去重引擎; - Always Incremental 备份方案:面向文件级备份的「永远增量 + 周期性合并」策略,减少全量窗口(来源:官方 README「Always Incremental backups」);
- 目录数据库驱动的精确恢复:Catalog 记录文件级索引,恢复可精确到单个文件、单个作业时间点,并支持把恢复数据重定向到任意路径;
- 调度与策略体系:Schedule(按周/月/日排程全量/增量/差异)、Pool(按级别分离介质池)、Retention(卷保留与回收)三层策略构成完整的备份生命周期管理(来源:官方文档资源体系与包内默认配置骨架);
- 多语言插件生态:官方包索引含 MySQL/PostgreSQL/LDAP/glusterfs 等备份插件与 Python 插件运行时(来源:xUbuntu_22.04 包索引,2026-10-22);
- 命令行与 Web 双管理面:bconsole 覆盖全部运维操作,bareos-webui 提供浏览器端作业/恢复/介质管理。
五、快速开始
本节给出官方文档定义的最小可用部署路径(组件与步骤来源:docs.bareos.org 安装与控制台章节、官方软件仓库,查询日期 2026-10-22),帮助在评估时建立「装上就能跑一次备份」的最短路径预期。
路径概要(Ubuntu 22.04 为例):
- 接入官方仓库:安装官方仓库签名密钥与 apt 源文件(
download.bareos.org/current/xUbuntu_22.04/),apt update后即可解析 bareos 包; - 安装全家桶:
apt-get install bareos bareos-database-postgresql bareos-webui——元包拉齐 Director/SD/FD/bconsole,数据库后端包借助 dbconfig-common 机制自动完成 PostgreSQL 侧建库建用户,WebUI 包自带 Apache/PHP 配置骨架; - 验证守护进程:
systemctl is-active bareos-director bareos-storage bareos-filedaemon三服务应均为 active,bconsole 连接 Director 成功时输出1000 OK: bareos-dir Version: ...; - 跑通第一次备份与恢复:bconsole 内
run job=backup-bareos-fd level=Full触发包内置的自检备份作业(对/usr/sbin的 SelfTest 文件集),status client与list jobs确认作业状态 OK,再经restore向导把数据还原到重定向目录完成闭环。
以上第 2~4 步涉及的每条命令、真实回显、以及官方源接入过程中的证书/密钥排障实录,在本专栏安装篇中有逐条实测记录;配置资源文件的三目录分布与参数详解见本专栏配置篇;bconsole 全命令用法见本专栏命令篇。
六、适用场景与限制
本节从能力面反推适用边界,帮助判断 Bareos 是否匹配当前团队形态。
6.1 适用场景
- 多主机混合操作系统环境的集中备份:数十台以上 Linux/Windows 混合机房,需要统一的调度、策略与介质管理,是官方定义的主战场(「systems consisting of hundreds of computers」,docs.bareos.org,2026-10-22);
- 需要磁带或对象存储归档分层:备份目标包含磁带库/单磁带机或 S3 兼容对象存储的合规归档场景——这是多数现代单机备份工具不具备的能力面(官方 README「Flexible storage targets」,2026-10-22);
- 有严格恢复粒度与审计诉求:Catalog 数据库提供文件级索引与作业历史,恢复可精确定位单个文件与历史时间点;
- 从 Bacula 迁移或并存:概念与配置同构,迁移认知成本低;
- 可接受自建目录数据库运维:愿意为备份平台运维一套 PostgreSQL/MySQL 目录库的团队。
6.2 限制与注意
- 部署复杂度显著高于单机备份工具:三守护进程 + 目录数据库 + 控制台/WebUI 的组件面,决定了它不是「一条命令装完即用」的工具,需要按角色规划网络端口(9101/9102/9103)与配置目录;
- 客户端扩容需双向改配置:每接入一台新客户端,需在 Director 侧新增 Client 资源、在客户端侧预共享口令,无自动注册机制(口令预共享认证模型的固有取舍,见 3.1 节技术拓展);
- 去重依赖下层文件系统:自身不提供内联去重引擎,去重收益来自 ZFS/VDO/btrfs 等去重文件系统与「去重友好」写入格式的配合(官方 README 表述为 deduplication-friendly,而非 built-in deduplication);
- WebUI 不是独立服务:bareos-webui 需要 Web 服务器 + PHP-FPM 承载,且以 Director 上的命名 Console 资源身份认证,部署时需要额外完成 Web 侧接线(PHP-FPM 与 Apache 的 FCGI 接线在 Ubuntu 22.04 上需手动启用);
- 社区仓库的 current 通道为预发布构建:如 2026-10-22 实查的
25.1.2~pre49.d5742f640-124版本串所示,社区 current 通道跟踪滚动构建而非 GitHub 稳定 tag,追求版本固定性的团队需评估源策略。
七、同类选型对比
本节把 Bareos 放进自托管备份方案坐标系做横向对比。社区数据均为 GitHub REST API 实查(查询日期 2026-10-22),未实查项标注「—」;Proxmox Backup Server 官方仓库不在 GitHub(托管于 git.proxmox.com),故不列星数。
| 方案 | 定位与架构 | 目录/索引 | 去重 | 磁带支持 | 社区数据(2026-10-22 实查) | 与 Bareos 的关键差异 |
|---|---|---|---|---|---|---|
| Bareos | 集中调度 C/S 套件(DIR+SD+FD+Catalog) | SQL 目录库(文件级索引) | 去重友好格式 + 依赖下层去重 FS | 支持 | GitHub 1269 stars / 320 forks | 本文主角:多平台、多介质、强调度 |
| Bacula(上游) | 与 Bareos 同构的 C/S 套件 | SQL 目录库 | 同 Bareos 机制同源 | 支持 | 官方开发不在 GitHub(git.bacula.org/SourceForge),无星数可比 | Bareos 的上游;分叉后 Bareos 增加 Always Incremental、去重友好格式等增量特性(官方 README,2026-10-22) |
| Amanda | 集中调度 C/S 备份 | 文本/目录式索引 | 依赖 amanda 配置的 tape 分层 | 支持 | GitHub zmanda/amanda 272 stars | 社区活跃度远低于 Bareos;配置模型较老 |
| BorgBackup | 单机去重备份(SSH 推送) | 仓库内索引 | 内置内容定义分块去重+压缩+加密 | 不支持 | GitHub 13869 stars | 单机语义、无中心调度与磁带;适合个人/单服务器 |
| Restic | 单机去重备份(多后端) | 仓库内索引 | 内置去重+加密 | 不支持 | GitHub 36708 stars | 同 Borg,主打简单与云对象存储后端 |
| UrBackup | C/S 镜像+文件双模备份 | 服务端索引 | 服务端去重 | 不支持 | GitHub urbackup_backend 941 stars | 镜像级还原是其强项;磁带/对象存储与策略体系弱于 Bareos |
| Proxmox Backup Server | 虚拟机/容器备份服务器 | 仓库索引 | 内置去重 | 不支持 | 官方仓库在 git.proxmox.com(无 GitHub 星数) | 深度绑定 Proxmox VE 生态,通用主机备份非其主场景 |
选型解读:
- 需求落在「多主机集中调度 + 多介质(磁带/对象存储)+ 文件级精确恢复」象限时,Bareos/Bacula 双子星几乎是社区开源里仅有的成熟选择,二者选 Bareos 的理由主要是 AGPLv3 无开放核心的公司治理与分叉后的增量特性;
- 需求只是「单台或几台服务器的加密去重备份」时,Restic/Borg 的部署与心智成本小一个数量级,不必引入 Catalog 数据库与三守护进程;
- 需求以「整机镜像还原」为主(如桌面群净装恢复),UrBackup 更对口;
- 深度使用 Proxmox VE 的虚拟化环境,PBS 与虚拟机备份链路集成度最高;
- 混合需求(如集中调度为主、个别单机为辅)完全可以在 Bareos 平台之外并行使用 Restic,两者互不冲突。
八、参考链接
以下为本篇溯源所引用的官方平台入口(均为官方域名,访问日期 2026-10-22):
- 官方站点与商业支持:https://www.bareos.com
- 官方 GitHub 仓库:https://github.com/bareos/bareos (本篇社区数据与 Releases 数据来源)
- 官方文档站:https://docs.bareos.org (《What is Bareos?》与《History》章节为本篇定义与出身表述的来源)
- 官方社区软件仓库:https://download.bareos.org (current/experimental/next 三通道;本篇包索引数据取自
current/xUbuntu_22.04/Packages) - 官方商业软件仓库:https://download.bareos.com (订阅版通道入口,README 徽章指向)