apnscp-bacula 1.0-10 released — Enterprise Linux 10 + Bacula 15

We’ve ported the ApisCP backup stack to Enterprise Linux 10 (AlmaLinux / Rocky / RHEL 10) with EPEL’s Bacula 15. This is the same Bacula-based solution Apis Networks has run internally since 2010, now current with the EL10 platform.

What’s new

  • EL10 / Bacula 15 support. The Director, Storage Daemon, and catalog schema now target Bacula 15 (catalog VersionId 1026). The old Bacula 9-era schema override is gone; a fresh catalog is created at the correct version.
  • Native catalog drivers. dbdriver is now mysql / postgresql / sqlite3 — no more dbi: prefix, which EL10’s Bacula no longer ships.
  • All slots get Storage Daemon devices. Devices are generated for every configured slot, so more than the default 2 parallel backups are supported out of the box.
  • PostgreSQL catalog support, with table and sequence privileges granted to the bacula role after schema creation.
  • MariaDB 10.11+ is the tested MySQL-family backend; the addin restarts MariaDB via a dedicated handler and runs PostgreSQL checks as the postgres user.
  • Locale errors on non-US systems are quieted, and all shipped files are normalized to LF.

Install

Enable EPEL (Bacula and mailx aren’t in the EL10 base repos) and install the RPM:

dnf install -y epel-release
dnf install -y https://github.com/SpiffyStores/apiscp-bacula/releases/download/v1.0-10/apnscp-bacula-1.0-10.el10.noarch.rpm

The addin configures the Director, Storage Daemon, and File Daemon automatically. A default Client-Layer job backs up every night; change FileSet to Server in /etc/bacula/local.d/servers/1/self.conf to back up the whole box.

Note: the RPM must be built on an ApisCP host so %run_apnscp_addin expands at build time. The published release artifact is built that way.

Upgrading from EL9 / Bacula 9

update_bacula_tables can upgrade a Bacula 9-era catalog (VersionId 16) directly to 1026, but the first step rebuilds the File table and can take a long time on a large catalog. Back up the catalog first and schedule downtime:

/usr/libexec/bacula/make_catalog_backup.pl MyCatalog

Also note: the addin replaces the distro bacula-dir.conf, bacula-sd.conf, and bconsole.conf with symlinks to the *-apnscp.conf files. A dnf upgrade of bacula-* will overwrite those symlinks, so re-run the addin after upgrading Bacula.

Docs

Full install, backup/restore crash course, and multi-host setup are in the README. Grab the release here:

Release 1.0-10 (EL10 / EPEL Bacula 15) · SpiffyStores/apiscp-bacula · GitHub

Feedback and bug reports welcome in this thread.

1 Like