Release Notes for Bacula Enterprise 18.2

Both the Director (Dir) and all Storage Daemons (SDs) must be upgraded to version 18.2 as they are not compatible with earlier versions.

Catalog format in version 18.0 and greater:

If you upgrade from 18.0 to 18.2, you will not need to run the update_bacula_tables script.

The major release 18.0 of Bacula uses a new catalog format. We provide a set of scripts that convert 6.6.x and earlier catalog versions to the new 18.0 format (1027). See the “migrationNewMajorVersionBacula” for detailed instructions on the migration process.

The database upgrade from 1026 to 1027 is fast and simple for most users.

The Bacula Enterprise RPM spec files have been modified to detect the database change and to perform the upgrade for you (from 8.10, 10.0, 10.2, etc.). We strongly recommend that you save a copy of your existing database before upgrading using RPMs. If you want to have more control over the catalog upgrade step when upgrading using RPMs, you may want to contact the Bacula Systems support team to get the update_bacula_tables script from the updated package and run it before the RPM installation step, or you can stop the database server before the upgrade.

The Bacula Enterprise Debian and Ubuntu packages have been designed to upgrade the catalog with the dbconfig database management tool. The update_bacula_tables script from the Director package can be used to upgrade the catalog manually.

If you upgrade the BWeb Management Suite from 8.x and you use a MySQL catalog, you must first update the BWeb SQL tables with the script upgrade-8.8_10.2_mysql.sql.

If you are starting from scratch, you will not need to run the update_bacula_tables script since the create_bacula_tables script creates the tables in the new format automatically.

Important notes:

If you upgrade to from a new 16.0.0-5 to 16.0.6-8 installation with a MySQL catalog, the following SQL command must be executed in order to use the JobHisto table and features:

ALTER TABLE JobHisto

ADD COLUMN RealStartTime DATETIME, ADD COLUMN isVirtualFull - TINYINT - default 0, ADD COLUMN CompressRatio - float - default 0, ADD COLUMN Rate - - - float - default 0, ADD COLUMN LastReadStorageId Integer - default 0, ADD COLUMN LastReadDevice - blob, ADD COLUMN WriteStorageId - integer - default 0, ADD COLUMN WriteDevice - blob, ADD COLUMN StatusInfo - - blob, ADD COLUMN Encrypted - - int - - default 0;

For Restricted Console users, we have changed slightly the DirectoryACL=*all* and UserIdACL=*all*, if the directives are not defined in a restricted console, the restore code will allow the file listing.

Old File Daemon versions are still compatible and can be used to protect older systems such as Redhat 5-6, SLES 10-11.2.

Known Issues and Workarounds:

  • #1723 The hardlinks=yes FileSet option is not compatible with VirtualFull jobs.

    This incompatibility might lead to problems performing a restore. The error message displayed during a restore job is:

  • Error: create_file.c:327 Could not hard link /path: ERR=No such file or directory

To restore the file correctly, the first occurrence of the hardlink file in the backup must be selected manually. The procedure to distinguish hardlinks in the catalog is available from the Bacula Systems Support team.

  • #4957 Copy/Migration/VirtualFull jobs based on Incomplete jobs - a potential issue.

    Under some circumstances a Copy/Migration/VirtualFull job may not be able to copy the data from a Job that was interrupted and restarted using the Incomplete Job feature. In versions 10.2.3 and above, the Copy/Migration/VirtualFull job is aborted with the following error message:

  • Fatal error: catreq.c:691 SHA1 digest not same FileIndex=344 as attributes FI=343

or

  • Fatal error: catreq.c:691 MD5 digest not same FileIndex=344 as attributes FI=343

It is recommended to re-execute the Job that was interrupted and restarted to be able to copy/migrate the data. We do NOT recommend including Incomplete Jobs into a Progressive Virtual Full chain of jobs.

The automatic rescheduling of Incomplete Jobs should be disabled to avoid restarted Incomplete jobs finishing successfully and being selected to be copied, migrated, or consolidated in a Virtual Full. To prevent Bacula from rescheduling Incomplete Jobs, use the “RescheduleIncompleteJobs = no” Job directive.

Please contact the Bacula Systems Support team for more information on any of the above issues.

Release 18.2.0 / 19 May 2025

18.2.0 is a major release. There are new features and fixes. More detailed information can be found in the ChangeLog file.

Applications and Databases:

  • Add Amazon RDS Plugin

  • Add multi-concurrent job Fileset support (big-fs)

  • Support for LDAP on Redhat 8 and 9

  • Windows and Linux BMR (support for RHEL9+UEFI, multi-path and swapfile) updates

BWeb Management Console:

  • Automation Wizard expended - Allow deletion of generated jobs - Add workset integration

  • Rework of the Autochanger management page

  • Use secure attribute in HTTPS only

  • Simplify openssl command to generate certificate

  • Display a warning if https is not used

  • Add support for Dedup2 in new storage wizard

Security & Core:

  • FIPS 140-3 compliance with SCRAM-SHA256 support

  • Core performance improvement

Single Item Restore:

  • The support for Nutanix, Azure VM, HyperV, OpenStack and Amazon EC2 has been added

Snapshot Support:

  • Add BSnapDiff fast incremental accelerator for ZFS

  • Add support for the Quobyte

CitrixHypervisor (Xenserver) Plugin:

  • Add support for XCP-NG

  • Add secure mode compatibility

Google Workspace Plugin:

  • Add suspended user parameter to backup and query

  • Add export type parameters

  • Fix issue when reading messages without label #11469. Fix internal error messages about ‘no app name’

  • Export Google Documents by exportLinks when available. Allow to configure export targets

Hypervisor to Cloud (EC2) Migration:

  • Tools to migrate vSphere VMs to Amazon EC2 has been added

HyperV WinAPI:

  • Cluster & Standalone support enhanced

  • UEFI support, boot order management

  • Enhanced network support (multi-interface support, automatic mapping)

Kubernetes Plugin:

  • Add new restore options. Restore in other namespace, other name or other storageclass

  • Integration longhorn snapshots in pod annotations

  • Backup snapshot with Longhorn storage without csi driver

  • Add etcd backup

  • Listing new cluster resourcres: clusterroles, clusterrolebindings,volumesnapshotclasses

  • Add backup and restore of Role and RoleBinding namespaced resources

  • Add backup and restore of ClusterRole and ClusterRoleBinding resources

  • Add bacula annotations in cloned pvc

  • Change bacula job name length in backup pod

  • Add summary in .query command user_permissions

  • Add new listing namespaced resources

  • Add query command to ask user’s permissions

  • Add support pvcdata list in estimation jobs

  • Add parallel job in same namespace

  • Add a change that pvc annotation takes precedence without pod annotation

  • Add pvc clean up from old backup jobs

  • Fix get provisioner permissions

  • Get images from repositories with auth

  • Add support backup and restore kubevirt resources

  • Add support to backup k8s jobs

  • Add support clone backup with block pvcs

  • Add support backup/restore a new type of resource: cron jobs

  • Add support backup/restore a new type of resource: network policies

  • Add support backup/restore pvc’s block mode

  • Add support to local restore compressed pvc data

  • Add support to make backup to pvcs with block volume_mode

Microsoft 365 Plugin:

  • Add M365 Sharepoint, Activity Module and PST export

  • Convert EventMessages associated to emails (ItemAttachments) to plain messages so we can restore them in Service

  • Add sharepoint_include_personal parameter to control if personal sites are listed or not (not by default now)

  • Add parameter to limit restore object size for sharepoint sites

  • Add sharepoint sharepoint_site_size_catalog_limit parameter and others

  • Check if we are getting the site template itself when checking restore object

  • Limit sharepoint restore object size. Put template in unique path and use it at restore time

Nutanix AHV:

  • Change write mode and delayed sync at restore time

  • Fix #11218: Display name/if of vm being restored

  • Fixes disks not being backup due to ndfs error messages and does local restore of disk that not belong to conf at restore time

OpenStack Plugin:

  • New plugin with backup/restore of Nova server instances

  • Support for Glance images

  • Support of Nova flavors

Oracle Plugin:

  • Allow using localdir to use files directly

Proxmox Plugin:

  • Fix #11315 to not fail a restore job when Proxmox is not reporting correctly the restored device

S3 Plugin:

  • Add thumbprint parameter

  • Introduce trust_all_certificates option for the different clients. Libs upgrade

  • Query thumbprint. Trust thumbprint or trust any local certificate if we have an endpoint

Storage:

  • New Global Endpoint Deduplication v2 scan and recovery tools

  • Set default dedup driver to Dedup2 instead of legacy

  • Add immutability support for Aligned and Cloud plugins

  • Add Storage Class support for Cloud plugins

  • Add support for authentication token for AWS Cloud plugin

  • Set default value of TransferPriority to Low

vSphere Plugin:

  • Make server parameter not mandatory. Use number of the version in the .jar file

  • Include filter by folder (to be used with scan plugin) and list folders query methods

Miscellaneous:

  • linuxbmr: add multipath support for 2.3.0

  • Fix segfault with non supported alert code

  • Fix #3587: Do not overwrite the Job/Storage with the Pool/Storage when the Storage was set in command line

  • The FD verify that all the data blocks belong to the right backups and files

  • Add use_import_export configuration option to mtx-changer

Go back to: Bacula Enterprise Release Notes.