Release Notes for Bacula Enterprise 18.0

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

Catalog format in version 18.0 and greater:

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 Migration to New Major Version of Bacula 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 installation to 16.0.6-8 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, 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.0.5 / 14 October 2024

18.0.5 is a minor bug fix release.

BWeb:

  • bweb: Add few more plugins to the list

  • bweb: Add korean support

  • bweb: Add support for Xenserver Plugin in the Automation Center

  • bweb: Disable VSS for hyperv and mssql filesets generated with the scan_plugin

  • bweb: Display only plugins compatible with the scan plugin in the Automation Center

  • bweb: Fix #11117 About device status icon in Storage Overview

  • bweb: Fix #11128 About displaying empty pie charts when we have no data

  • bweb: Fix #11159 about inconsistent displayed plugin logo during backup

  • bweb: Fix #11168 About incorrect behavior when nb_grouping_separator is not set

  • bweb: Fix device status with running jobs

  • bweb: Fix graph display with no volume

  • bweb: Fix pie/stackpercent charts with lot of elements

  • bweb: Add HyperV, AzureVM, AmazonEC2 and Nutanix to the Single Item Restore shortcut

  • bweb: Add AuthenticationMethods directives

Dedup 2 Plugin:

  • dedup2: Fix bug in bextract when reporting rehydration errors

Documentation:

  • docs: Add list fileevents jobid=<xx> to Console commands

  • docs: Add reference about list fileevents jobid=<xx> to Jobs monitoring article

  • docs: Add the MySQL plugin option backup_software to address some special cases

  • docs: Add verbose parameter to the proxmox documentation

  • docs: Added more details about object lock / immutability in the Cloud S3/Amazon documentation

  • docs: Adding Hyper-V WinAPI link to main page + creating notes with recommendations

  • docs: Adding troubleshooting answer: Impact of HBA-attached disks on BMR restores

  • docs: Changed paragraph about Archive Device

  • docs: Corrected BlobEndpoint description to contain both Azure and Amazon mentions

  • docs: Fix default value for Device/SyncOnClose directive

  • docs: Fixing vSphere table

  • docs: MySQL limitation discarded

  • docs: Publish RNs 18.0.4

  • docs: Reformat directives from Console resource (excluded ConsoleFont)

  • docs: Reformatting Client Client directives

  • docs: Removing untrue information about Cinder Driver supporting Incremental and Differential backup

  • docs: Restart command updated with a limitation regarding plugins

  • docs: Security Plugin reviewed and restructured

  • docs: Small changes in the recycling algorithm section

  • docs: Update documentation on lastbackedupto

  • docs: Update upgrade chapter to 18.0

Hyper-V Plugin:

  • hyperv-winapi: Fix #11136 GetRestoreObject VM retrieval

  • hyperv-winapi: Fix #11163 add “vm” as parse_command parameter

  • hyperv-winapi: Fix #11110 Remove unused restore params

Kubernetes Plugin:

  • k8s: Add new level(In pvc annotations) in selection of backup mode

  • k8s: Add support pvcdata list in estimation jobs

  • k8s: Fix show pvdatada message when you don’t use it

Microsoft 365 Plugin:

  • m365: Backup sharedWithMe Onedrive objects just once

  • m365: Do not let java process running after a failed restore just because not receiving the jobend meta protocol phase

  • m365: Fix runtime error with missing com.azure.core.implementation.util.HttpUtils from azure-core package

  • m365: Fixes on OneDrive downloads for SystemLibraries

  • m365: Increase DeviceCode Auth timeout. Fix estimate. Improve restore drive speed

  • m365: Rename too long path on restore (Drive). Checkin files that were checked-out (sharepoint)

  • m365: Replace checked-in files only if restore replace variable is always or ifolder

  • m365: Small fix to avoid warning message

MySQL Plugin:

  • mssql: Fix #11121 About restoring datatabase on a different server/instance

MSSQL Plugin:

  • mysql: Fix #11141 Use connection parameters prior to the dump_opt option

Openstack VM Plugin:

  • openstack-vm: Add the possibility to backup multiple VMs in one command

  • openstack-vm: Now handles wildcards in -b argument

Proxmox Plugin:

  • proxmox: Fix #11133 add verbose flag to display more information during a backup

CitrixHypervisor (Xenserver) Plugin:

  • xenserver: Document secure mode with new parameters

  • xenserver: Fix #11157 About canceling a job after a nbd-mount or a snapshot creation issue when abort_on_error is set

  • xenserver: Fix .query interface for scan_plugin

Miscellaneous:

  • Add use_import_export configuration option to mtx-changer

  • Fix #11107 About incorrect list metadata help command

  • Fix #11126 Rework the LastBackedUpTo Storage Group Policy

  • Fix #11126 Use Pool’s StoragePolicy when using the Storage resource defined in the Pool

  • Fix #11165 generating a BSR file when the disk is full

  • Fix #9305/2 At restore time, show wrong Backup Client when modifying client

  • Use case insensitive search to assign storage group policies

  • Fix #11178 About authentication issue with 9.0 FileDaemon

  • Fix segfault on ARM64 with json tools

  • rpms: Add spec file for big-fs on sles

  • rpms: Fix #11125 About incorrect permission on callhome plugin file

  • rpms: Fix dedup2 compilation

  • rpms: Fix libcurl in sles

  • scan_plugin: Accept xenserver malformed output

  • scan_plugin: Fix JSON help message information

  • scan_plugin: escape @ to _at_ instead of 0x40

  • sir: Fix #11150 about segfault during initialization

  • sir: Fix check procedure when the console has pending messages

  • update bacula-resource-auto-creator

  • update mtx-changer-python

Bugs fixed/closed since last release: 11107 11110 11117 11121 11125 11126 11128 11133 11136 11141 11150 11157 11159 11163 11165 11168 8 9305

Release 18.0.4 / 06 September 2024

18.0.4 is a minor bug fix release.

Aligned Volumes:

  • aligned: Add support for Immutable and ReadOnly to Aligned volumes

Cloud Plugin:

  • cloud: display error returned by the driver

  • cloud: Fix #10836 clarify cloud status display

  • cloud: Add .query interface to manage cloud functions

  • cloud: Implement Tier Support

Kubernetes Plugin:

  • k8s: Add dockerfile to create an image to compile k8s plugin in any debian/ubuntu distribution

  • k8s: Add ingress component in backup list and add recomendation when to try to restore pods that create new data if pvc is empty

  • k8s: Add more options to debug

  • k8s: Avoid pvc data when pvc is in Pending status. k8s: Fix redoing backup when pvcdata is 0 bytes and the backup mode is standard

  • k8s: Avoid pvcs backup when the pvc status is Terminating

  • k8s: Define backup_mode parameter

  • k8s: Fix #0010901 - Problem when restore service clusterIPs

  • k8s: Fix #0011005: ModuleNotFoundError: No module named ‘baculak8s.plugins.k8sbackend.ingress’

  • k8s: Fix restore problem where pod require the pvc data when it starts

  • k8s: Add k8s dependency versions in requirements

  • k8s: Add Ingress integration backup/restore

BWeb:

  • bweb: Add check for server version in bweb_testconfig.pl

  • bweb: Add empty message in the Automation center page

  • bweb: Add function to get Job JSON description with JobDefs

  • bweb: Add information during initial configuration

  • bweb: Add level input to Automation Wizard

  • bweb: Add new StorageClass directive values

  • bweb: Add to initial wizard setting up pruning options

  • bweb: Display Job and Admin job for automation job list. Add JobDefs information such as Schedule

  • bweb: Display mode option for QEMU plugin

  • bweb: Fix #10976 set in fileset include/exclude fields unix root directory path

  • bweb: Fix #11054 Display Bytes, ReadBytes, Average and Current Speed in MiB-GiB/s

  • bweb: Fix #11059/2 incorrect timestamp in object version browser

  • bweb: Fix #11068 about incorrect QR code display

  • bweb: Fix #11092 About ClearIO function using loaded slots

  • bweb: Fix SSH key generation

  • bweb: Fix StorageGroupPolicy list in Job/JobDefs page

  • bweb: Fix amazon-rds doc link

  • bweb: Fix displayed Virtual machine dashboard and database dashboard

  • bweb: Fix documentation links

  • bweb: Fix duplicate entries in the Automation Center job list

  • bweb: Fix incorrect label in Object dashboard for the Backup Count graph

  • bweb: Fix issue with proxmox edition page

  • bweb: Fix job Automation center job list

  • bweb: Fix missing plugin_option in Automation Center

  • bweb: Generate unique automation names

  • bweb: Implement Plugin queries for MySQL

  • bweb: Improve Automation Center scan options

  • bweb: Improve QEMU/Proxmox automation part

  • bweb: Improve displaying long email address in M365 restore email browser

  • bweb: Instruct to use Level=Full in proxmox plugin

  • bweb: Pass autocommit when deleting an automation job

  • bweb: Reduce the size of the plugin section names

  • bweb: Report .query errors in the Automation Center

  • bweb: Fix #10254 in storage wizard disable AllowCompression directive for aligned type storage

  • bweb: Fix #10807 add support for multiple automations per client and plugin

  • bweb: Fix #10897 update bsys_report.pl to version 3.52

  • bweb: Fix #10944 in restore wizard add message about jobs that have file records purged

  • bweb: Fix #10956 display job level for copy jobs

  • bweb: Fix #10926 and #10927 add support for colon character in configuration resource names

  • bweb: Rework Autochanger feature

  • bweb: Select automatically the Storage Daemon in the overview page

Dedup 2 Plugin:

  • dedup2: All repair modes can use -r to replace the old index with the new one.

  • dedup2: Fix #11028 add File.FileId to btools parse_dedup_badref output

  • dedup2: Fix #11029 add a suffix to db name generated by btools parse_dedup_badref

  • dedup2: Deny vacuum on a read-only dedupengine

  • dedup2: Fix #10974 “unavailable” extent wrongly converted into “scrub”

  • dedup2: In-place rollback and repair of the index

  • dedup2: New -I option to bls for developers only

  • dedup2: add jobid and stime information in the extent

  • dedup2: bls or bextract display dedup2 open error message

  • dedup2: bug fixes and enhancements for rebuilding index fromcontainers and vaccum rebase

  • dedup2: bug fixes for managing the vacuum_overloaded variable in the storage daemon

  • dedup2: enforce read-only mode in init_dedup_engine2 for storage and index

  • dedup2: fix bug about moving/moved extents

  • dedup2: fix extra messages for bad index record in bdde-check

  • dedup2: fix in-place rollback is always running

  • dedup2: fix race condition responsible for overloaded extent

  • dedup2: fix the vacuum that can leave the DDE corrupted when unexpectedly interrupted

  • dedup2: improve error message for chunk not found in the index

  • dedup2: open the index in read-only mode

  • dedup2: reduce container footprint in cache via POSIX_FADV_DONTNEED

  • dedup2: rollback must keep rdy4sync extent as used

  • dedup2: switch back to bzero when initializing tcindex_stat in bdde-fsck

  • dedup: Use O_CLOEXEC by default in open calls

Documentation:

  • docs: Add an example to create a stub job to call RMAN

  • docs: Add documentation for JobTimestamp variable

  • docs: Added comment to flag %I that it applies to runscript

  • docs: Added example to advanced restore chapter with using custom plugin options

  • docs: Added link to Percona Tools installation to Binary Mode - Percona XtraBackup and Mariabackup articles

  • docs: Added paragraph in best practices about long-running restores

  • docs: Adding BGuardian mention to Security Features articles

  • docs: Adding a note about AppStream repository in all SIR installation articles

  • docs: Adding dedup console command

  • docs: Adding limitation about Catalog running to BGuardian

  • docs: Adding note about reading general best practices for hypervisors

  • docs: Adding speed type into Recognized Primitive Data Types

  • docs: Adjusting location of the cloud directives

  • docs: new_netwrok - definition modification - new_network_device_name - definition modification

  • docs: Changing sentence about Proxmox plugin compatibility with Proxmox VE

  • docs: Dedup2 index rebuild documentation

  • docs: Deleting Autochanger resource from Director

  • docs: Document Job::Encrypted field

  • docs: Document how to identify and remove orphaned java backend processes

  • docs: Fix LastBackedUp to keyword in New Features section

  • docs: How-to guides for simple BWeb operations

  • docs: Improve PITR Configuration subarticles

  • docs: Improve documentation in Restoring Complete Cluster Using PITR

  • docs: Improvements to the definition of the namespace and pvcdata options

  • docs: Meta page about mssql plugins

  • docs: Moving Fileset examples from Operations to Configuration

  • docs: Removed recommendation to use snapshot with databases

  • docs: Removed version number from the title of new features article

  • docs: Renaming file recovery.conf to postgresql.recovery.conf

  • docs: 16.0.14 release notes to published

  • docs: SAP plugin article changed option list to table

  • docs: Sentence about not supporting version higher than 8.0 with MySQL

  • docs: Sharepoints comments about restore and Query command better examples

  • docs: Title change to include Mariabackup

  • docs: Update accurate flags for accurate jobs and add NextPool directorive to the job directives

  • docs: amazon-ec2: New restore parameters and comments. New permissions. Hypervisor to cloud options

  • docs: azure-vm: Documentation update for local restore possibility

  • docs: changed stretch to bullseye since this plugin in only supported in Debian 11 right now

  • docs: hyperv-winapi: Separate wmi and winapi documentation and add new winapi documentation

  • docs: hyperv-winapi: Update documentation on boot order after MT10887

Hyper-V WMI Plugin:

  • hyperv-winapi: Fix #10887 Better handling of gen 2 VM boot order

  • hyperv-winapi: bump script version

  • hyperv-winapi: fix restore after file format changes

  • hyperv-winapi: move restore vm renaming at creation stage

  • hyperv-winapi: new file formats for SIR

  • sir: HYPERV WINAPI Single Item Restore implementation

Inventory Plugin:

  • inventory: Use bfopen instead of fopen

KVM Plugin:

  • kvm: Fix #10709 About backup issue with a mounted CDROM

Microsoft 365 Plugin:

  • m365: Adapt .query output for sharepoint to better integrate it with scanplugin when we have sub-sites

  • m365: Add id and other information to .query command. Adapt backup to interpret site id, even with ;

  • m365: Add list of allowed values to Enum and normalize int values for plugin-options .query

  • m365: Add new queries for BCenter (config-file list, plugin-options and service-entity-map)

  • m365: Add uuid in query commands potentially used by scan_plugin

  • m365: Added sharepoint new restore param. Added missing drive parameters to bweb

  • m365: Adjust plugin-options query to dictionary mode

  • m365: Do not fail with access denied error when uploading drive items in restore

  • m365: Do not show error in .ls or query commands outputs while listing sites

  • m365: Do not stop listing sites wity .ls or .query if we have trouble with sub-sites

  • m365: Downgrade building plugins to keep compatibility with old Maven and RHEL8

  • m365: Enable/disable noscript parameter on Drive site restores. Other internal improvements

  • m365: Fix Sharepoint race condition with associated drive items #10827

  • m365: Fix contacts not generating plugin object when all users are included

  • m365: Fix filter(s) by name fields when value is a number. Handle 500 response for not found message rules. Added .query decode|url method

  • m365: Fix invalid field ref for Sharepoint template

  • m365: Fix issue with Sharepoint and different domains in the organization

  • m365: Fix not all Sharepoint sites being listed when we have more than 200 #10915

  • m365: Fix owner restore protection user is removed. Included Java PID

  • m365: Fix restore to M365 from Sites that contain a ‘/’ in their name. #10961

  • m365: Format different new .query methods to accomodate BCenter needs

  • m365: Ignore Files tab at restore time in teams module #11010

  • m365: Improve date selection on meta table. Fix intervention message and date

  • m365: Increase Jar version after .query changes

  • m365: Libraries upgrade

  • m365: Remove BWeb explicit word on registration

  • m365: Restore improvements on error conditions. Added more debug. Include SitePages in Sharepoint backup.

  • m365: Retry 400 request when listing drive units. Do not repeat those requests if possible. Control extra case on restore

  • m365: Return full objects for user, group, site, team in .query with parameter=json|xxxx

  • m365: Sharepoint improvements about very specific situations on restore

  • m365: Sharepoint improvements while restoring full site with system lists included

  • m365: Show message in .query login, when no user is specified

  • m365: Support query=team in addition to query=teams in order to properly support scan_plugin

  • m365: Update PnP framework

  • m365: Version internal alignment with Bacula

  • m365-pst: Align m365 version dependency

  • m365-pst: Fix compilation error by not finding mvn.wrapper

  • m365-pst: Fix dependency problem

  • m365-pst: Fix reference to the main project

MySQL Plugin:

  • mssql: Fix incorrect fopen() call

  • mssql: Fix warning reported by cpp-check

  • mysql: Add support for MySQL Community 8.2 and 8.4

  • mysql-prepare: Use bfopen instead of fopen

NDMP Plugin:

  • ndmp: Fix #10977 About SMTAPE restore issue with incorrect FILESYSTEM variable

  • ndmp: Fix #11047 restore issue when using CAB extension

  • ndmp: Use bfopen instead of fopen

Openstack VM Plugin:

  • openstack: Add second check for cinder-backup in volume list in case it is containered

  • openstack: Fix an issue that would crash the restore when non-bacula backups were present on the system

  • openstack: Fix user detection in install script when tripel is not defined

  • openstack: Fixing openstack tmpdir naming inconsistencies

Big FS Plugin:

  • big-fs: Add master job id recognition when stating in CLI mode

  • big-fs: Add test job during with install test directive

  • big-fs: Additional check in install script

  • big-fs: Change type of sbtctx value from bool to int

  • big-fs: Each run of big-fs has its own lockfile

  • big-fs: Keeping track of master jobid across backint/fd

  • big-fs: Remove problematic check of empty include clause

  • big-fs: Replace openstack occurence in install script

  • big-fs: Solves an issue that made the program crash when getting a create file call

  • big-fs: Solves slowness issues

  • big-fs: Use additional lock return code to fix an issue when old pid file is not clear correctly

  • big-fs: jobfile create and check for fifo waiting

  • big-fs: Add another return code for create lockfile in case program calls itself

Amazon EC2 Plugin:

  • amazon-ec2: Adapt block headers to reference a disk without headers

  • amazon-ec2: Fix log4.dat problem in some platforms

  • amazon-ec2: Keep the same block order in .bmp than in the .bimg disk file

Amazon RDS Plugin:

  • amazon-rds: Backup cycle completed. Recycling and removing process implemented

  • amazon-rds: Cluster AZ zone control. Catalog path simplification. Cluster backup fixes

  • amazon-rds: Clusters management. Code refactoring. Query-list instances and clusters

  • amazon-rds: DAO layer implemented for cluster, instance and snapshots

  • amazon-rds: Export initial actions. Basic backup cycle

  • amazon-rds: Exports management and s3 data download

  • amazon-rds: Fix parquet_socket parameter name

  • amazon-rds: Format all source files to standarize indentation

  • amazon-rds: Logging code to try to catch unhandled exceptions. Fixed MetaPlugin restore cycle when errors happen

  • amazon-rds: Logging improvements

  • amazon-rds: MySQL connection code test and dependencies

  • amazon-rds: MySQL restore integrated. Code comments and updated Amazon SDK

  • amazon-rds: Parquet restore mode adjustments. Working now

  • amazon-rds: Pitr recovery logic

  • amazon-rds: Project initialization

  • amazon-rds: Remove some redundant code lines, include FAILED state check for export task

  • amazon-rds: Restore instance and cluster from snapshot

  • amazon-rds: Restore parquet logic

  • amazon-rds: Restore tables even if they are empty. MySQL fixes

  • amazon-rds: Amazon RDS Backup Plugin implementation

Azure Plugin:

  • azure-vm: Add a fallback is default snapshot name is too big

  • azure-vm: Add single header for the size of whole disk at full backup time

  • azure-vm: Adds diskSize header to bmp files

  • azure-vm: Better regexp compilation + correctly handles diskSize headers in bmp files

  • azure-vm: Change configuration from list to stack

  • azure-vm: Change permission during backup on stat pkt

  • azure-vm: Depencies update

  • azure-vm: Fixing sending protocol for bmp files

  • azure-vm: Get mode for stat pkt now handles ‘E’mpty job cancellation on abort on error

  • azure-vm: Handling bitmap pkt at restore time

  • azure-vm: Implement file index and coherent disk naming

  • azure-vm: Implement local restore mode

  • azure-vm: Local restore implementation

  • azure-vm: Now sending configuration as restored object

  • azure-vm: Plugin now uses offset flag for disk backup

  • azure-vm: Restore for single header file from full backup updated

  • azure-vm: Sending of bmp/abmp file to bacula at backup time

  • azure-vm: Using exposed flags instead of locally defines var in backend

Nutanix-AHV Plugin:

  • nutanix-ahv: Dependency update

  • nutanix-ahv: Fix issue with permission and UID GID at backup time

  • nutanix-ahv: Plugin now has the possibility to use offset flag

  • nutanix-ahv: Using exposed flag instead of locally defines var in backend

QEMU Plugin:

  • qemu: Add UUID to the .query vm output

  • qemu: Add scan_plugin support for qemu proxmox (mode=pve)

  • qemu: Fix .query output with vm/vmid

  • qemu: Fix file headers

  • qemu: Remove UUID from VM listing

  • qemu: Use O_CLOEXEC flag

Quobyte Plugin:

  • quobyte: Add message for the OneFS=no and update the message when Enabling Snapshots

  • quobyte: Fix #10935 subvolume selection

  • quobyte: Fix issue with volume that never had snapshots

  • quobyte: Set oneFS=no automatically when using the plugin

  • quobyte: Wait for snapshot creation

Sharepoint Plugin:

  • sharepoint: Fix incorrect error message

vSphere Plugin:

  • vsphere: Adjust restore messages for new_network parameters

  • vsphere: Fix #10939 About keeping the snapshot generated during backup

  • vsphere: Fix bad openssl variable name. Add datastores when listing hostsystems

  • vsphere: Fix duplicated server= entry for query parameter=server. Renamed api one to server_api

  • vsphere: Fix error while setting network at restore time

  • vsphere: Fix instant recovery disk paths. Avoid searching for targets in NFS and other commands (to speed them up). JDK 21 compatibility

  • vsphere: Recover FIPS related configurations in vsphere-ctl

  • vsphere: Search network by moref, in addition to by name at restore time. #10983

Windows BMR Plugin:

  • winbmr: Fix cpp-check warning

CitrixHypervisor (Xenserver) Plugin:

  • xenserver: Use bfopen instead of fopen

  • xenserver: Add few O_CLOEXEC to open calls

  • xenserver: Enhance parameter scanning for new options

  • xenserver: Fix log message about secure mode putting it in certfile param instead of cacertfile param

  • xenserver: Fix sending pluginobject in incremental jobs

  • xenserver: Handle secure connection parameters (certfile, keyfile…). Invoke modprobe nbd. Send PluginObject always

  • xenserver: Log secure/insecure mode

Miscellaneous:

  • win32: Add support for GSASL

  • win32: Comment out our nanosleep()

  • win32: Disable inherit in bfopen()

  • win32: Limit the scope of the open files

  • win32: Use pthread_cond_wait instead of mingw nanosleep on Windows platform

  • meta-plugin: Added offset flag handling. Updated libraries

  • meta-plugin: Exposing delta/offset flag via static getter method

  • meta-plugin: Fix delta-offset flags when they are set alone

  • metaplugin: Update meta-plugin dependencies and JUnit to have it fine for JDK 21. Update lombok everywhere aswell

  • metaplugin: Include bacula jobid in the backend calls as BACULA_JOBID env variable

  • msad: Fix #10118 About missing error message when using incorrect HBINDPASS attribute

  • msad: Report a warning if HBINDPASS is too short

  • rpms: Add amazon-rds spec file

  • rpms: Add bacula python tools for mtx and autochangers

  • rpms: Add bweb server.stream-response-body configuration automatically if needed

  • rpms: Add python docopt dependency for rhel8 and rhel7

  • rpms: Fix amazon-rds spec file

  • rpms: update spec file to include GSASL

  • bfuse: If vmbackend cannot create a disk it exit 1 with an error messgage instead of segfault

  • bfuse: Replace deprecated ENOATTR with ENODATA

  • bfuse: Retrun false earlier in azure vm disk recrod when parsing phase goes bad

  • bfuse: Special case if the header match diskSize for azurevm

  • bfuse: Working parsing implementation still need to remove gdb comments

  • bfuse: amazon-ec2 Single Item Restore implementation

  • bfuse: azure-vm and winapi give correct moref for vmanme to be compatible with beweb

  • scan-plugin: Do not override elements created by a different configuration file having another uuid

  • scan_plugin: Do not generate job names with :

  • scan_plugin: Use vmid as uuid

  • security-fd: Use bfopen instead of fopen

  • security-fd: Fix #11072 Print a message when starting the security checks in job log

  • Add SOCK_CLOEXEC to bnet_server sockets

  • Add .jobs [enabled|disabled] option

  • Add extended version with -v -? on all daemons

  • Add list of installed SD drivers to .status storage header

  • Add mtx-changer-python.py from https://github.com/waa/mtx-changer-python

  • Add bacula-resource-auto-creator from https://github.com/waa/bacula-resource-auto-creator

  • Add new .jlist metadata target=folders|tags parameter

  • BSOCK improve POLL to detect and report errors

  • Check for backquote in check_for_invalid_chars() function

  • cdp: Use bfopen instead of fopen

  • Fix #10262 segfault when permission cannot be changed on a read-only FS

  • Fix #10793 extent query strorage filename to return access and attributes

  • Fix #10919 About extra job message sent during startup

  • Fix #10947 time output without century for locale that use multi bytes utf8

  • Fix #10985 Report the FD/SD Encryption in the Job record and the job output

  • Fix #11002 About crash while purging client jobs

  • Fix #11009 About issue when migrating community catalog 9.4

  • Fix #11048 About LastBackedUpTo StorageGroup policy not correctly set

  • Fix #11058 About fsync error reported for tape driver

  • Fix #11062 Improve BLOCKED message when the tape device was disabled by TapeAlert

  • Fix Scheduled Jobs counting in status director command

  • Fix qa-core-features#44 About incorrect PruneJobs=yes/PruneFiles=yes handling

  • Fix segfault in ua_prune introduced with avanced Pruning checking

  • Fix segfault when using bregex on large chunks of data

  • Fix the FileEvent list is not reset between files

  • Handle new PostgreSQL public schema permissions from grant_bacula_privileges

  • Refactor code around Autoprune/PruneFiles/PruneJobs

  • Use bclose_from() in daemon.c

  • Use bfopen instead of fopen in various tools

  • Use the base SHA for the bacula source tree in the build information

  • acsls: Improvements after code review for open files management

  • add baselist.clear() to remove all the items

  • mtx-changer-python: Changed log level in two places, and added a throw-away first sg_logs test based on physical tape drive tests.

  • Add SCRAM-SHA-256 authentication algorigthm

Bugs fixed/closed since last release: 10118 10254 10262 10709 10793 10807 10827 10836 10887 10897 10901 10915 10919 10926 10935 10939 10944 10947 10956 10961 10974 10976 10977 10983 10985 11002 11005 11009 11010 11028 11029 11047 11048 11054 11058 11059 11062 11068 11072 11092 44

Release 18.0.3 / 27 March 2024

18.0.3 is a major release.

Security & Monitoring:

  • Introduction of BGuardian for Poisoning Detection and Configuration Assessment.

  • Enhanced Key Management for Storage Level Encryption.

  • Security Improvements in BConsole.

  • Development of a Cybersecurity Dashboard (Work in Progress).

  • Error Files Tracking feature.

  • Pruning Enable/Disable option per Job.

Storage, NAS & FileSystems:

  • Support for NetApp Cluster Aware Backup (NDMP CAB).

  • NDMP Incremental Forever feature.

  • Automatic workload configuration via scan plugin.

  • HPE StoreOnce Catalyst Plugin now supports Immutability.

  • Integration with Quobyte (Work in Progress).

Cloud, Containers & Hypervisors:

  • New plugins for OpenStack Cinder and Azure Virtual Machine with Incremental Backup support.

  • Enhanced VMWare/vSphere support for nvram/vxdd files and FIPs compliance.

  • Kubernetes CSI Snapshot support.

  • Introduction of Hyper-V WinAPI and Amazon EC2 Plugins.

Core Enhancements:

  • Advanced Job Queue Control.

  • Improved Storage Group Policies.

  • Remote Daemon Configuration for FD & SD (Work in Progress).

  • Native Multitenancy support.

Applications & Databases:

  • New Microsoft Exchange EWS Single Email Level Plugin.

  • Oracle RAC support on AIX.

Usability Improvements:

  • General Enhancements to BWeb.

  • New automation wizard via scan plugin.

Miscellaneous:

  • Added ControlJobId in Catalog job record for better migration/copy job tracking.

  • Introduced bVarSnapshot for snapshot enablement by plugins.

Detailed Changes since Beta 18.0.2

Amazon EC2 Plugin:

  • amazon-ec2: AMI SSM Resolver. Command line restore without references completed

  • amazon-ec2: Allow to choose restore root disk from file disk name or disk index. Handle correctly root disk + key. Better log

  • amazon-ec2: Fix disk attach name when exists. Find existing instance when restoring only disks

  • amazon-ec2: Fixes and improvements on the experience with bec2 cli

  • amazon-ec2: Fixes on image based restore and instance-only restore from bec2

  • amazon-ec2: Fixes on no-referenced restores. Enriched logging and code simplifications

  • amazon-ec2: Add –parameters call for h2cloud and other small fixes

  • amazon-ec2: Fixes for cross-hypervisor restore. Ovf matching with instance type. Subnet and other extra parameters

  • amazon-ec2: Log vCpus and RAM detected from ovf

  • amazon-ec2: Add Management of root volume at restore time. Restore code refactor

  • amazon-ec2: Map network and name from Ovf. Generalize Ovf code to support future different mechanisms

  • amazon-ec2: Remove duplicated log

  • amazon-ec2: Select root volume for instance attach (without creation)

  • amazon-ec2: Support for restore volume over an existing instance

  • amazon-ec2: New parameters added for restoring and h2cloud use cases

Azure Plugin:

  • azure-vm: Changed accurate plugin parameter to make it mandatory for plugin

BWeb:

  • bweb: Add StorageGroupPolicyThreshold and DisableQueryCommand directives support

  • bweb: Add backup_mode option to kubernetes plugin configuration

  • bweb: Add hyper-v winapi plugin support

  • bweb: Add message to plugin options in automation wizard

  • bweb: Add need_accurate information to plugin json description

  • bweb: Add quobyte plugin support

  • bweb: Add s3 force_path_style

  • bweb: Add timeout option support to runscript subresource

  • bweb: Add to automation functions accurate mode in jobs which plugins require it

  • bweb: Add version option support to winbmr plugin settings

  • bweb: Fix #10801 about use_uuid in scan_plugin

  • bweb: Fix #10812 About sorting description field with scan_plugin

  • bweb: Fix losing job options setting in automation wizard

  • bweb: Fix title in window with hyper-v wmi plugin setting

  • bweb: keep the name instead of the uuid for the fileset name in scan_plugin

Cloud Plugin:

  • cloud: Fix 10788 s3 driver clean uses alist instead of ilist

  • cloud: generic driver clean uses alist instead of ilist

  • cloud: Fix 10788 cloud volume deletion crash

Dedup 2 Plugin:

  • dedup2: Fix #10790 SD stuck in a copy job because of a MISS chunk

  • dedup2: Fix copy/mig false error “size in reference doesn’t match size of chunk”

Documentation:

  • docs: Changed version from 16.0.7 to 16.0.12 in BGuradian Scope

  • docs: Publishing Amazon EC2

Hyper-V Winapi Plugin:

  • hyperv-winapi: order recovery actions

Kubernetes Plugin:

  • k8s: Add backup_mode parameter, add resiliance when snapshot backup is not compatible and clone backup fails and minor fixes

  • k8s: Fix #10669: When a node have not any pvc

  • k8s: Add check snapshot api-resource available

  • k8s: Fix when ‘volumesnapshotclasses’ resource is not available in cluster

Openstack VM Plugin:

  • openstack-vm: Additional check of configuration/compatibility for os-backint

  • openstack-vm: Automatic snapshot deletion

  • openstack-vm: Better error handling via return codes

  • openstack-vm: Better verbose output and check for query -q

  • openstack-vm: Changed argument parsing for other main python procedure

  • openstack-vm: Concurrent job option passed as string

  • openstack-vm: Fix double job issue at backup time

  • openstack-vm: Fixed restore mode with openstack strange debug message

  • openstack-vm: Fixes install script default dir conf comment

  • openstack-vm: Now procedure fails gracefully when snapshot fails

  • openstack-vm: Number of max concurrent job set at runtime and removed from os-backint-conf

  • openstack-vm: Option -b to -B new option -b backup from instance name

  • openstack-vm: Remove mention of cluster in default conf file

  • openstack-vm: Adds explicit number of parallel job parameters

Microsoft 365 Plugin:

  • m365-pst: Conversion for emails, attachments and contacts. Code organization. Management of external lib

  • m365-pst: Handle calendars and contacts. Fix folder management

Nutanix-AHV Plugin:

  • nutanix-ahv: Add restore object send capabilities + sending configuration as said restore object during backup

  • nutanix-ahv: Add fileIndex compatibilities

Quobyte Plugin:

  • quobyte: Add job message when enabling the snapshot from the plugin

  • quobyte: Force snapshot when quobyte plugin is used

  • quobyte: Get quobyte plugin helper working with the scan_plugin tool

vSphere Plugin:

  • vsphere: Add StorageProfile.View permission #10786. Use manual versioning

  • vsphere: Add a backtrace procedure after a bad signal

  • vsphere: Avoid to print ‘vm config not found’ errors in query that can provoke problems with scan_datacenter

  • vsphere: Do not fail if overridevm is used, but the target VM is no more in server

  • vsphere: Find vmx and nvram even if vm was renamed or moved

  • vsphere: re-fix query showing errors by system.out and causing trouble with scandatacenter #10781

Miscellaneous:

  • Add information about the number of protected jobs when using autopruning

  • Add information messages when using update jobid=x prunejobs/prunefiles command

  • Fix DisableQueryCommand check in bsdjson and bacula-sd

  • Only normal backup jobs can become “Incomplete”, MAC must return errors

  • Revert “Fix #8354 About confusing log message during the ‘dump’ mysql backup”

  • Revert “Fix #9882 About tapealert script issue on rhel8”

  • create-config: Add restart service when configuration works

Bugs fixed/closed since last release: 10781 10786 10790 10801 10812 8354 9882

Beta 18.0.2 / 05 March 2024

18.0.2 is a minor bug fix beta release.

Amazon EC2 Plugin:

  • amazon-ec2: Fix keep_full_snapshot behavior and chain Inc(s) with Diff(s) backups correctly

BGuardian:

  • bguardian: Change description of the connection method to the catalog. Adjust examples with bacula user

  • bguardian: Improve connection and do it by default using unix sockets

BWeb:

  • bweb: Add include missing chart library to BWeb spec files

  • bweb: Fix #10775 allow in config forms use capitalized time units

  • bweb: Fix #10776 pool filter on media page

  • bweb: Fix #9693 not working disable bacula configuration menu option

  • bweb: New M365 Activity module integration

Dedup 2 Plugin:

  • dedup2: Fix #10486 corrupted chunk with huge size crash the SD

  • dedup2: updates to clean up code and fix remaining endian issues for bdde-fsck and bdde-check

  • dedup2: Added check to show bug saving rollback flag when hdbohashmem = true

  • dedup2: Two DDE utilities for regress testing and debugging, bdde-tool and bdde-fsck

  • dedup2: fix where vaccum exits early during inventory and removes data from containers

  • dedup2: small changes to improve DDE2 rebuild and rollback functions on startup

Hyper-V Plugin:

  • hyperv: Fix #10698 Free space debug report missing a field

  • hyperv: Fix #10699 Make sure restore options are applied

  • hyperv: rename Script version to Version.

Hyper-V Winapi Plugin:

  • hyperv-winapi: hyperv-recovery script

  • hyperv-winapi: attach recoverable actions to vm notes

  • hyperv-winapi: disable Recover-action to avoid parallel jobs collision

  • hyperv-winapi: Clean snapshot and reference points on cancel

  • hyperv-winapi: Fix #10701 new disks handling

  • hyperv-winapi: Make sure Restore is cleaned up

  • hyperv-winapi: attach recoverable actions to vm notes

  • hyperv-winapi: disable Recover-action to avoid parallel jobs collision

  • hyperv-winapi: fixing migration in cluster mode

  • hyperv-winapi: get rid of vm_path. Use vhd_path all the way

  • hyperv-winapi: handle sparse-like restore

  • hyperv-winapi: Added hyperv-recovery script

  • hyperv-winapi: use cluster_mode instead of localhost_only

Hyper-V WMI Plugin:

  • hyperv-wmi: Fix #10698 move restore initialisation from bEventStartRestoreJob to bEventRestoreCommand

Microsoft 365 Plugin:

  • m365: Add onedrive file exclude example

  • m365: PST export extension documentation

Nutanix-AHV Plugin:

  • nutanix-ahv: Accurate flag check for plugin at bacula level

  • nutanix-ahv: Add protection domain parameter to c part

Openstack VM Plugin:

  • openstack-vm: Added default volume name in restore to be complient

  • openstack-vm: Added verbose output for query process check

  • openstack-vm: Added a timeout on fifo open/close

  • openstack-vm: Better handling of options errors + additional user info

  • openstack-vm: Changed signal handler

  • openstack-vm: Changed parser for interactive delete

  • openstack-vm: Checked access rights from openstack user to admin openrc

  • openstack-vm: Removed default user in cinder error message

  • openstack-vm: Updated instructions if cinder-backup not running

Quobyte Plugin:

  • quobyte: Fix subvolumes generation for bsnapshot

  • quobyte: Improve quobyte-fd plugin and bsnapshot subvolumes support

vSphere Plugin:

  • vsphere: Save vm profile when restoring to correct missing- name from previous possible problems #10758

  • vsphere: add resiliency to profileallvm management with unexpected vm moref or name

Windows BMR Plugin:

  • winbmr: don’t mount recovery partition for the estimate command

Miscellaneous:

  • registration wizard: Fix #10766 correct backslashes

  • show minimal backtrace if gdb is not installed

  • Added get_os_version() call and display it to status client/storage/director header

  • Enabled Device/SyncOnClose by default

  • Improved gdb btraceback to get the variables inside the faulty thread

  • Fix #10752 storage option on the restore command line not working

  • Fix org#2706 Volume encryption force RSA:2048 instead of gpg default

  • Fix org#2707 Check the NODUMP flag only on files and directories

  • Improve messages for job protection. issues/27

  • Report immutable/readonly error messages to the job log

  • add bVarEstimate to let the FD knows this is an estimate and not a real backup

Bugs fixed/closed since last release:

10486 10698 10699 10701 10752 10758 10766 10775 10776 9693

Beta 18.0.1 / 06 February 2024

18.0.1 is a beta release.

Hyper-V Plugin:

  • Hyper-v: Fix #10530 fix ConvertVMSnapshotToRefpoint

  • Hyper-v: make sure the full restore relies on self-generated bmp file, not vhdx.exe

  • Hyper-v: Add a test that validates a whole drive integrity over full backup-restore

  • Hyper-v: Add a test that validates disk integrity over full backup-restore (used for linux01)

  • Hyper-v: Add PORTABLE data flag

  • Hyper-v: Change full backup size to hd logical size. Fix pwd null.

  • Hyper-v: Update pattern and integrity tests

  • Hyper-v: debug vhdx,exe output on restore. Return io_status

Amazon EC2 Plugin:

  • amazon-ec2: Add new snapshot-instance-volume timeout parameters

  • amazon-ec2: Introducing new parameters for timeout control on different objects. Libraries upgrade

BWeb:

  • bweb: Fix #10652 NDMP volume not required in connection part of the automation wizard

  • bweb: Fix #10658 display media view for multiple volumes at once

  • bweb: Fix #10680 update links to online plugin documentation

  • bweb: Fix #10684 About incorrect –vm parameter with scan_datacenter

Cloud Plugin:

  • cloud: Fix #10291 Assume that driver ls can return error 1 when the path doesnt exist. Handle it in generic driver

  • cloud: Fix #10291 clean_cloud_volume uses “ls”, so we handle its return code the same way

  • cloud: Fix #10685 TruncateCache at endofjob was not processed due to wrong transfer status verification

  • cloud: proof guard truncation

  • cloud: Fix #10591 missing n in returned lists in AWS

  • cloud: Fix #10604 upload() might not exit with correct error code in AWS

Dedup 2 Plugin:

  • dedup2: Fix #10714 vacuum delete all entries of the index

  • dedup2: Vacuum continues despite an error (or cancel) while reading volumes

  • dedup2: check rwlock for deadlock error

  • dedup2: display orphan ref per volume

  • dedup2: don’t block backups during vacuum merge

  • dedup2: fix vacuum crashes hashes=0x0 connection is not fully registered

  • dedup2: improve vacuum merge, better detect empty extents

  • dedup2: index rebuild can reset extent status to USED

  • dedup2: lock index for flush_entries() during merge

  • dedup2: vacuum improvements: messages, accounting and cancel handling

Documentation:

  • docs: Automated Disk Backup navigation fixed 2

  • docs: Moving Ingestion and Network Restore to Backup Strategies

Microsoft 365 Plugin:

  • m365: Activity & Export PST WIP

  • m365: Activity reports backup feature. Improved message when failing to register app. PST project initiation

  • m365: Add activity parameters

  • m365: Exclude files with regex options

  • m365: Reference activity params so they can be interpreted

Openstack VM Plugin:

  • openstack-vm: Add additional safeguard when looking for drivers in installation

  • openstack-vm: Add check for admin-rc file to avoid unknown crash in configure

  • openstack-vm: Adjusted install script

  • openstack-vm: Query -q for cinder install now has better error handling

Nutanix-AHV Plugin:

  • nutanix-ahv: Add PROTECTION DOMAIN keyword for specific vm backups

  • nutanix-ahv: Add rest element to query portection domains

  • nutanix-ahv: Adds query operation and client call to rest API for protection domain

  • nutanix-ahv: Correct some INTERGER fields to LONG

Security Plugin:

  • security: Fix incorrect warning about Archive directories

  • security: Fix warning in lynis output

  • security: Remove incomplete checks for mysql and postgresql

vSphere Plugin:

  • vsphere: Add more resiliency to query operations which should solve some scan_datacenter issues #10673

  • vsphere: Add template marking priviledges. Do not fail the restore if template marking fails

  • vsphere: Fix vsphere-ctl update command when vm is not found

  • vsphere: Ignore empty entries

  • vsphere: Improvements on setting target vms

  • vsphere: Re-apply v18 features from code without problems to find VMs

Miscellaneous:

  • Detect unsolvable volume cycle in split_bsr_loop()

  • Fix #10631 (1) remove unauthorized Jmsg() in BSOCK::recv()

  • Fix org#2704 about old FD compatibility

  • Fix org#2705 about issue with accurate checking of new file signature attributes

  • Registration_wizard: Adding BCenter Tab

  • Fix FD using 100% CPU after SD crash

  • lin_tape: Patch for end of medium detection

  • Add Storage:Director::DisableQueryCommand: and list new storage query cmds

  • rpms: Fix single item restore issue with rhel9

Bugs fixed/closed since last release:

10291 10530 10572 10591 10604 10631 10652 10658 10673 10680 10684 10685 10714