Release Notes for Bacula Enterprise 12.0

The Director (Dir) and all Storage Daemons (SDs) must all be upgraded to version 12.0 because they are not compatible with prior versions.

Catalog format in version 12.0 and greater:

The major release 12.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 12.0 format (1021). Please see the white paper “Migration-to-12.0” for detailed instructions on the migration process.

The database upgrade from 1020 to 1021 is fast and simple for most users.

The Bacula Enterprise RPM spec files have been modified to detect the database change and do the upgrade for you (from 8.10, 10.0, 10.2). 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 and run it before the RPM installation step.

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

If you are starting from scratch, you don’t need to run the update_bacula_tables script because the create_bacula_tables script automatically creates the tables using the new format.

Restricted Console users must modify their existing Console resources to specify DirectoryACL=*all* and UserIdACL=*all* in order to continue to use the restore command. If these two directives are not set, the restore command will return an error.

On Suse Linux, the Director and the Storage Daemons are now started with the unix account “bacula”. To upgrade a Suse system to Bacula Enterprise 8.8 or later, the ownership of the Bacula volumes and the configuration files must be changed to “bacula:bacula” and the PostgreSQL/MySQL configuration may have to be adapted. More information can be found in the Migration-to-12.0 whitepaper available in your download area.

Redhat 5, SLES 10, SLES 11, SLES 11.1, SLES 11.2 are no longer supported in version 12.0. Old filedaemons are still compatible and can be used to protect these systems.

If you are upgrading from 10.x, please read the ReleaseNotes from the last 10.2 version.

Release 12.0.5 01 November 2019

12.0.5 is a minor bug fix release.

  • Fix #5461 #5513 #4717 About “WroteVol non-zero” message

  • Fix #5546 about incorrect level for resumed jobs

  • Fix #5548 and #5549 error on .ls when plugin name without ‘:’

  • dedup: Fix race condition during vacuum cleanup/optimize and backups

  • cloud: Fix #5532 more verbose message on cloud open_device() errors

  • docker: Fix #5422 about “unknown parameter: timeout”

  • mssql: Fix segfault with recovery model checking

Bugs fixed/closed since last release: 5422 5461 5532 5546 5548

Release 12.0.4 23 October 2019

12.0.4 is a minor bug fix release.

  • Do not purge running jobs in purge_job_list_from_catalog()

  • Fix #5391 about show negative values in statistics

  • dedup: fix corruption when “Dedup=storage” vacuum can delete needed hashes

  • cloud: Fix #5432 about backup/restore issue introduced in 12.0.3. Parts were uploaded with a double // in their name.

  • bweb: Fix #5316 restore wizard does not honor the value of ‘where’ directive as set in the restore job

  • bweb: Fix #5462 problem with creating autochanger that contains space in name

  • bweb: Fix #5469 wrong dates in restore wizard browsers

  • bweb: Fix #5478 trailing space on client name leads to a not selectable job

  • mysql: Fix #5381 fd auto extract bug

  • mysql: Fix restore object configuration scanning

  • mysql: Fix restore warning with xbstream restore with auto extract

  • mysql: Fix restore_extract option in plugin command line

  • mysql: Fix setpermission message with xbstream file

  • mysql: Search for Error: keyword in percona output

Bugs fixed/closed since last release: 5316 5381 5391 5432 5462 5469 5478 5432

Release 12.0.3 18 September 2019

12.0.3 is a minor bug fix release. There are a few new features.

Users of the S3, Azure and Oracle Cloud Plugins should upgrade to this new version as it fixes an issue when downloading parts with a high (> 10,000) partid. For further information, please contact us at support@baculasystems.com

  • cloud: Fix #5373 avoid string overflow on temporary files used to download parts

  • cloud: Keep the error message from close_part() in open_next_part()

  • cloud: Do not overwrite an existing part in the cloud

  • cloud: Do 10 attempts for S3 upload after an InternalError

  • Fix #5313 about running job count in status output

  • Fix #5372 about segfault in status schedule command

  • Fix issue with bthread_get_thread_id when the lock manager is not yet ready

  • Add -dXX,tags support in bscan

  • Fix issue with xattr/acl detection code

  • Scan for CIFS xattributes on CIFS and CIFS2 filesystems

  • Fix #5394 Adjust .volstatus command to what the “update volume volstatus=”can accept

  • bweb: Allow dot character in vsphere server name

  • bweb: Fix #5368 FileSet config syntax error if option StripPath is set to 1

  • bweb: Fix #5393 autocommit changes on finish new backup job wizard

  • bweb: Fix #5397 changing media location

  • bweb: Fix #5403 aligning column values in running job table

  • bweb: Fix #5412 issue with search results in config part tables

  • bweb: Load user.css file only if it exists

  • bweb: Fix #5299 issue with missing jobs page

  • bweb: Fix job table options on missing jobs page

  • bweb: Fix missing job page if no job level defined in schedule

  • bweb: Fix not showing disabled jobs on missing job page

  • bweb: Fix on missing job page to show job types that don’t use job level value

  • mssql: Fix #3306 Adjust debug messages

  • mssql: reduce debug messages

  • mssql: Use new MSSQL lib version

  • sir: Add Single Item Restore feature for RHV

  • sir: Allow multiple concurrent read() from different threads

  • sir: Fix #5337 Give some time to bacula-fused to start in install-single-item-restore.sh script

  • vsphere: Fix #5406 Accept . in vsphere server names

  • vsphere: Fix vddk backup issue when the CBT information is empty

  • win32: Fix “BackupWrite failed. ERR=The handle is invalid.” and “ERR=The process cannot access the file because it is being used by another” with directories

  • cdp: Fix issue with context initialization

  • rpms: Add more information about VMware packages available with CPAN

  • rpms: Fix #5364 - Mark user.css file as non-rewritable

  • rpms: Add Docker tools rpm spec

  • rpms: Fix #4507 - Missing awscli in bacula-enterprise-cloud-storage-s3

  • update libs3 in depkgs to fix debian 10 packages

  • Update OSX Readme (openssl)

Bugs fixed/closed since last release: 3306 5299 5313 5337 5364 5368 5372 5373 5393 5397 5403 5406 5412

Release 12.0.2 21 August 2019

12.0.2 is a minor bug fix release. There are a few new features.

  • Add RTT estimation to the ‘status network’ command

  • Add support for OpenSSL 1.1.1 and TLS 1.3

  • Add external volume support to the Docker plugin

  • Fix #4601 About restoring Extended Attributes on symlinks

  • Fix EOF detection on TLS sockets

  • Fix OpenSSL TLS 1.3 message with ssl3_read_bytes:application data after close notify

  • Fix PoolUncopiedJobs query for MySQL

  • Fix openssl TLS1.3 warning with the “status network” command

  • Fix #5131 dbcheck was removing the “empty” path entry in the Path table

  • Fix .bvfs_clear_cache with sqlite

  • Avoid fstype warnings when the fname is empty

  • dedup: fix #5194 dedup mlock_max incorrectly read ‘GB’ as ‘PB’

  • vss: Fix #5264 VSS plugin not working with 12.0

  • bcloud: Request #5197 add favicon to BCloud interface

  • bcloud: Request #5197 add new BCloud Service logo prepared by Philippe Chauvat

  • bweb: Add to check configuration tests to see if SELinux is enabled and provide information if it is

  • bweb: Fix #4762 eject media and clear I/O slots buttons that caused broken autochanger page

  • bweb: Fix #4891 display more information in users table on manage users page

  • bweb: Fix #5236 fileset client file browser to show proper file/directory names for root directory on Windows hosts

  • bweb: Fix #5245 director setting error in new client wizard if autocommit function is turned on

  • bweb: Fix #5245 error about setting director in config part

  • bweb: Fix #5275 access to PATH environment variable in BWeb scripts

  • bweb: Fix #5283 disable AllowCompression directive for dedup type devices created by new storage wizard

  • bweb: Fix #5284 error message about unable to find plugin file in plugins directory

  • bweb: Fix #5286 ‘javascript:void(0)’ value in exported table data to CSV file

  • bweb: Fix #5302 wrong sorting by retention time in pool table

  • bweb: Fix #5305 reloading configuration if –commit_and_reload parameter is used with scan_datacenter.pl

  • bweb: Fix #5327 wrong unit in set bandwidth prompt on running job status page

  • bweb: Fix #5346 http error 400 on fileset wizard finish

  • bweb: Fix marking PostgreSQL compatibility test cases as ‘not ok’ if tests fail

  • bweb: Fix sorting object types in data tables

  • bweb: Remove unused natcompare javascript library

  • bweb: Request #1986 add page to show raw Bacula config and use it to display file daemon configuration

  • bweb: Request #3624 add option to hide “Configuration” option in main menu

  • bweb: Request #4934 allow backslash, quote and apostrophe characters in passwords for VMware integration

  • bweb: Request #5063 add header box to status storage page

  • bweb: Request #5250 add checks to scan_datacenter.pl script job to verify resources specified on the command line exist in Bacula configuration

  • cloud: Fix #5251 Make sure skipped parts exist in the cache

  • cloud: Fix #5251 handle Next Marker Warning

  • docker: Add a timeout parameter for volume container

  • docker: Add docker_host plugin config parameter

  • docker: Add remote volume backup skip and warning

  • docker: Add remote volume restore skip and warning

  • docker: Add script to build baculatar docker image

  • docker: Add volume backup support

  • docker: Fix for RegexWhere variable in invalid place

  • docker: Fix hardcoded working directory for Bacula variable

  • docs: Fix #5308 about default Differential/Incremental Max Run Time

  • docs: Fix #5323 about typo in win32 fileset edition

  • mysql: Always log the Percona SD prepare output (no debug setting required)

  • mssql: Fix #5220 add copyonly=full directive

  • mysql: If an error is logged, keep all the xtrabackup tmp files

  • mysql: add comment to explain backup-my use

  • mysql: keep backup log after error

  • mysql: xtrabackup prepare: append extra dirs to default file

  • proxmox: Add support for Proxmox 5.3/5.4

  • registration wizard: support single link registration

  • registration wizard: update to version 6

  • rhv: Fix #5292 about incorrect -Xms64M parameter

  • rhv: [FEAT] Only show end JSON if debug option is activated

  • rhv: [FIX] Add Security time when finalizing imageTransfer

  • rhv: [FIX] Error in list when a VM is not found

  • rpms: Add azure-cli to azure Requires field

  • rpms: Add perl VMware perl spec for Suse

  • rpms: Fix #5241 - BWeb perl dependency issue

  • rpms: Fix BWeb demo package dependencies

  • rpms: Fix VMware perl dependencies package

  • rpms: Fix spec files for rhel8-64

  • rpms: Fix vSphere deps spec file

  • rpms: Make perl module check quiet

  • rpms: Update bacula-enterprise-cloud-storage-azure for new AZURE backend

  • win32: Set publisher name in the installer

  • win32: complete EnterWriteTemplates removal

  • win32: Remove WriteTemplates pages from installers

Bugs fixed/closed since last release: 1986 3624 4601 4762 4891 4934 5063 5131 5194 5197 5220 5236 5241 5245 5250 5251 5264 5275 5283 5284 5286 5292 5302 5305 5308 5327 5346 5323

Release 12.0.1 02 July 2019

12.0.1 is a minor bug fix release.

  • Add filename and digest to message “SHA1 digest not same FileIndex=XXX”

  • Add start_addr#recnum to bls -v output

  • Fix #2289 Display information about the fileset modification time when automatically upgrading to a Full backup

  • Fix #3987 Scrub limit set in the storage{} not taken into account

  • Fix #5036 debug message about missmatch with BlockNumber tracking

  • Fix #5092 about a segfault in bdirjson with Runscripts defined in JobDefs

  • Fix #5168 about issue ‘Second call to startRestoreFile’ with parallel restore jobs with plugins

  • Fix #5173 about incorrect behavior of the “delete pool” command

  • Fix SQL query when ACL directives are not set

  • Fix #2476 – copy/migration jobs fail when waiting for a new Volume

  • Fix hanging issue with Client Initiated Backup when using TLS/PSK

  • dedup: Fix #5115 stop parsing after a “XXX suspect_ref in volume” line in btools.py

  • bvfs: Fix Client ACL SQL translation

  • bvfs: Use ClientACL+RestoreClientACL in bvfs queries

  • bweb: Add Platform Services Controller (PSC) address parameter to VMware integration feature

  • bweb: Fix #4024 add full hpassword support for VMware integration features

  • bweb: Fix #4689 extend allowed characters in username, password and other fields

  • bweb: Fix #4706 about issue with vSphere VM templates

  • bweb: Fix #4948 empty storage overview page if two or more storage daemons used

  • bweb: Fix #5026 add current speed value to running job status

  • bweb: Fix #5051 persistent spinning gears in VMware single item restore wizard

  • bweb: Fix #5061 showing cloud storage status on storage overview page

  • bweb: Fix #5090 showing proper graphs after switching between balloon graphs

  • bweb: Fix #5094 sorting media by online column (inchanger flag) on media page

  • bweb: Fix #5096 add redirect timeout to login page if system auth is used and user isn’t logged in

  • bweb: Fix #5104 HTTP timeout for long starting restore action by restore wizard

  • bweb: Fix #5114 about not fully loaded running job box

  • bweb: Fix #5124 add more debugging to VMware integration feature

  • bweb: Fix #5141 about status client issue if client name contains spaces

  • bweb: Fix settings file and size units on view file usage chart page

  • bweb: On statistics balloon graphs extend job duration axis to show seconds

  • bweb: Request #4838 add job filter and exclude job option on job history page

  • bweb: Request #4974 add to BWeb self test a check for Bacula and BWeb catalog tables version

  • bweb: Request #5006 add wizard to configure Console, FileSet and JobDefs for LinuxBMR

  • bweb: Request #5127 use online/inchanger icons only for tape type media

  • bweb: Fix #5182 show “N/A” value in tooltip for unknown job statuses

  • bweb: Request #5187 sort plugin list alphabetically

  • bweb: Fix #5186 default show empty dropdown list item for plugin selection on fileset edit page

  • bweb: Request #4802 add column names to exported CSV file

  • bweb: Request #4803 do not print top menu in screen printouts

  • cloud: Fix jobmedia issue after multiple incomplete jobs

  • cloud: Start drivers and log into the working directory

  • cloud: Apply multi-part select to get_cloud_volumes_list

  • cloud: Forward bandwidth limit to generic driver

  • cloud: Improve was_cloud_driver

  • cloud: improve close_bpipe messaging

  • cloud: generic-based drivers create a log file when CLOUD_DEBUG is set

  • cloud: change debug level to 50+tag=cloud

  • cloud: Rework upload retry loop

  • cloud: Simplify error messages on WAS driver

  • docs: Fix #4355 add note about “list files type=<all|deleted>” command

  • docs: Fix #5195 by adding an other FileSet example in the manual

  • ldap: Fix #5074 about ldap/msad backup ignored

  • rest-api: Add missing constant about creating zip file

  • rest-api: Fix fatal error about not available PageManager class if error occurs during adding new director

  • rest-api: Fix setting connectToDirector option for new clients (not reregistered) too

  • rest-api: UseVPN option is no longer required to register client with connectToDirector option

  • rhv: [FEAT] Added performance statistics functions

  • rhv: [FIX] Improvement in RAM use

  • rhv: [FIX] Infinite loop when a snaphot is being removed by RHV engine, and it can’t remove

  • rhv: [FIX] Limit use of RAM to 128M

  • rpms: Add azure-cli to azure Requires field

  • rpms: Fix vSphere for Suse

  • rpms: Update bacula-enterprise-cloud-storage-azure for new AZURE backend

  • sir: Fix small memory leak

  • vsphere: Fix #5067 to force an incr->full upgrade after VM disks size modification

  • vsphere: update vix lib to 6.7.2-13015725

  • traymonitor: Fix restoreclient option

  • cdp: Fix #5085 about wrong windows backlashes

Bugs fixed/closed since last release: 2289 3987 4024 4355 4689 4706 4838 4948 4974 5006 5026 5036 5051 5061 5067 5074 5090 5092 5094 5095 5096 5104 5114 5115 5124 5127 5141 5168 5173 5182 5186 5187

Release 12.0.0 24 May 2019

12.0.0 is a major release.

New Features:

  • Support for Client behind firewalls or NAT

  • Automatic TLS encryption for all network communications

  • Android File Daemon support

  • Linux BMR UEFI Support

Plugin:
  • Docker Plugin

  • Sybase ASE File Daemon Plugin

  • CDP (Continuous Data Protection) File Daemon Plugin

  • vSphere Plugin ESXi 6.7 Support

  • MySQL Percona Plugin enhancements

  • Azure cloud driver update

  • New MSSQL Plugin options to deal with Recovery Models

  • New NDMP history file scanner

BWeb Features:
  • BWeb Management Console Dashboards

  • Proxmox Clustering support

Misc Features:
  • New Swift Cloud Storage driver

  • New global Autoprune directive

  • New AllowIncompleteJobs directive

  • Ability to run a Virtual Job based on a single Job

  • New Storage Daemon file driver directive (SyncOnclose) to use fsync() when a backup job closes the device

  • Ability to specify a program in the Client Address directive

  • New Documentation where external references should be automatically handled in PDF as well as in HTML

Important Changes:
  • New Catalog format 1021

  • All network communications are now encrypted by default using TLS AES256-CBC-SHA. The secret key used for the communication is the password shared between the client and the daemon. If network speed is a key factor, it is possible to deactivate the TLS encryption for a Client.

  • The Copy/Migration/Restore Job performance with a large number of files or with complex BSR files has been greatly improved.

  • The procedure to send a cancel signal to the FileDaemon and the Storage Daemon has been improved. Jobs that are running on FileDaemon/StorageDaemon waiting for a timeout should be more easily canceled by the Director.

  • #2367 The VirtualFull based only on Incremental/Differential issue with Accurate mode is now fixed.

More information and examples may be found in the “New Features” section of the main manual.

Known Issues and Workarounds:

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

    This incompatibility might lead to problems during 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, it is required to select the first occurrence of the hardlink file in the backup manually. The procedure to distinguish hardlinks in the catalog is available from the Bacula Systems support team.

  • #4957 VirtualFull, Copy/Migration jobs based on Incomplete jobs 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 version 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 interupted then restarted to be able to copy/migrate the data. We do not recommend to include an Incomplete Job into a Progressive Virtual Full chain of jobs.

    The automatic rescheduling of Incomplete Jobs can be disabled to avoid restarted Incomplete jobs to finish successfully and be selected to be copied/migrated/consolidated in Virtual Full using the “RescheduleIncompleteJobs=no” Job directive.

    Please contact the support team for more information.