Replace Bacula with Bareos

Summary

The powerful Bacula network backup solution has switched from being Open Source friendly to being almost closed source. Originally the project was conceived totally as Open Source, but since the creation of Bacula Systems and its proprietary Bacula Enterprise Edition product, the Open Source (now called "Community Edition") has received less and less updates and is mostly abandoned.

Current status

Detailed Description

The most important points that are left "abandoned" are the following:

Installation scripts and updates to makefiles are not updated anymore.

New plugins and functionalities are not added anymore, except those in the "core" daemons.

Gaphical (and buggy) console has not received any update in almost two years.

Patches and bugs opened in the bug tracker are mostly left abandoned. Even trivial fixes are not imported in the source.

Windows binaries are no longer provided, nor the source for the clients has been updated. Even if compiled with difficulties, there is no support for recent Windows versions.

A former Bacula developer, frustrated by the situation created the fork Bareos a long time ago from Bacula 5.2.x (the current Fedora and RHEL 7 version). This version has now received a lot of bugfixes compared to the original Bacula source. This makes compilation and installation a lot easier than it was with Bacula.

On top of this, a lot of new features have been added; some unique to Bareos but many available only in the closed source Bacula Enterprise.

Here is the list of new features compared to the current Bacula 5.2.13:

Some highlights include NDMP support for enterprise class storage (NetApp, etc.), support for enterprise class tape libraries and Windows support (including Windows Server 2012) with Bareos generated binaries.

For further details on why a Bacula fork was created please look at the following links:

Bareos can also be fully compatible with Bacula by setting a specific configuration directive in the Daemon configuration files; thus providing the option for RHEL 6/7 users to interoperate with Fedora systems.

Benefit to Fedora

Fedora will move from an almost proprietary product that is no longer supported upstream to a fully Open Source equivalent with a lot of new features, developer involvment and bugfixing.

Enterprise users will benefit of the cross-system integration (AIX, Windows binaries, etc.) and of the new enterprise grade features (NDMP support, bigger tape libraries, client initiated backups for laptops, etc.).

Scope

To accomplish the goal, the following Bacula packages need to be replaced with Bareos equivalents:

bacula
bacula-docs

Currently, the same Fedora packages can be rebuilt as they are, to work also on CentOS/RHEL 5 and 6, upgrading the EPEL or official Bacula packages in the distributions. This is to have a consistent backup infrastructure across all the Fedora/CentOS/RHEL ecosystem.

To ease installation, a repository for installing those packages on a CentOS/RHEL system do exist:

The idea is the same for Bareos: import into Fedora 21 packages that can be rebuilt for all supported Fedora/RHEL/CentOS releases and provide a repository that can upgrade any Bacula release currently installed in the system with the new one. In detail; the upgrade scenarios supported when going from Bacula to Bareos would be:

As written before, the change is impacting only Fedora 21, the list of upgrades supported are only for users who want a consistent backup solution across the enterprise.

External activities

Proposal owners: I'm the current Bacula mantainer in Fedora and will complete the transition in time for the release.

Other developers: N/A (not a System Wide Change)

Release engineering: the release engineering team should make sure the new Bareos packages are in place instead of the current Bacula packages for the new release.

Policies and guidelines: N/A (not a System Wide Change)

Upgrade/compatibility impact

Upgrades are not different than Bacula upgrades between major releases (i.e. Fedora 16 bacula 5.0 to Fedora 17 Bacula 5.2).

Systems that are currently running Bacula will have their system upgraded to Bareos by correct dependencies in the packages. Current preferences for the database backend (MySQL, PostgreSQL, SQLite) will be retained across the upgrade.

The procedure involves a bit of tuning of configuration files for new features and upgrades for the database schema. This is exactly what needs to be done between the various Bacula iterations that Fedora and EPEL have seen across the year.

Apart from this, Bareos can also be fully compatible with Bacula by setting a specific configuration directive in the Daemon configuration files; thus providing the option for RHEL 6/7 users to interoperate with Fedora systems:

How To Test

Install a Bareos environment on a new Fedora system and configure some backups.

Upgrade a current Fedora release with Bacula installed to get the new Bareos packages. Test the upgrade from the Bacula 5.2.13 database schema to the new Bareos one, make sure all backups work as before. No difference than performing a normal Bacula update.

User Experience

Lots and lots of new features for Bacula users, bugfixing, ability to backup also newer Windows systems, more Open Source friendly software.

Dependencies

Bacula has a static UID/GID defined in the setup package. A bug needs to be filed as the "label" should change from "bacula" to "bareos" for Fedora 21.