Bacula Enterprise Edition is currently the backup system with the most innovative features and the most support of applications and platforms worldwide, in both the Windows, MacOS, Linux, Unix, Android and iOS families.
See the most important released features for the 12.6.x update, as follows.
Bacula Enterprise 12.6.x
VMware Instant Recovery
It is now possible to recover a vSphere Virtual Machine in a matter of minutes by running it directly from a Bacula Volume.
Any changes made to the Virtual Machine’s disks are virtual and temporary. This means that the disks remain in a read-only state. The users may write to the Virtual Machine’s disks without the fear of corrupting their backups. Once the Virtual Machine is started, it is then possible via VMotion to migrate the temporary Virtual Machine to a production datastore.
Please see the Single Item Restore whitepaper and the vSphere Plugin whitepaper for more information.
New Features in BWeb Management Suite
New FileSet Edition Box
A new FileSet editing window is available. It is now possible to configure the different plugins with dynamic controls within BWeb.
Tag Support
BWeb has now a support for user’s tags. It is possible to assign tags to various catalog records (such as Jobs, Clients, Objects, Volumes).
Virtual Machine Dashboard
A new Virtual Machine dashboard is available in Job / Virtual Machines menu. From this dashboard, all Virtual Machines are listed and it is possible to directly backup or restore one of them from this new interface.
New Global Endpoint Deduplication Storage System (BETA)
A new Dedup engine comes with a new storage format for the data on disk. The new format keeps the data of a backup grouped together. It significantly increases both the speed of the ibackup and restore operations. The new dedup vacuum command integrates a procedure that compacts the data that are scattered in order to clear large and contiguous areas for the new data and also reduce fragmentation. Please contact the Bacula Systems Customer Success team if you are interested to join the beta program.
VSS Plugin Enhancements
The VSS Plugin has been improved to detect automatically the volumes to include in the Snapshot Set depending on the Writers and the Components that are included/excluded during the Backup job. The alldrives plugin or the use of a dummy file is no longer needed.
See the VSS whitepaper for more information.
HyperV Cluster Support
The new VSS Plugin supports the HyperV Cluster mode using Cluster Shared Volumes (CSV).
See the VSS whitepaper for more information.
Windows Cluster Volume Support
The Bacula FileDaemon now supports the Cluster Shared Volumes (CSV) natively. Note that due to a Microsoft restriction with the Snapshot Sets, it is not possible to mix standard volumes with CSV volumes within a single Job.
External LDAP Console Authentication
The new Bacula Plugable Authentication Module (BPAM) API framework introduced in Bacula Enterprise 12.6 comes with the first plugin which handles user authentication against any LDAP Directory Server (including OpenLDAP and Active Directory).
# bconsole *status director ... Plugin: ldap-dir.so ...
When the LDAP plugin is loaded you can configure a named console resource to use LDAP to authenticate users. BConsole will prompt for a User and Password and it will be verified by the Director. TLS PSK (activated by default) is recommended. To use this plugin, you have to specify the PluginDirectory Director resource directive, and add a new console resource directive Authentication Plugin as shown below:
Director { ... Plugin Directory = /opt/bacula/plugins } Console { Name = "ldapconsole" Password = "xxx" # New directive Authentication Plugin = "ldap:<parameters>" ... }
where parameters are the space separated list of one or more plugin parameters:
- url
- – LDAP Directory service location, i.e. “url=ldap://10.0.0.1/”
- binddn
- – DN used to connect to LDAP Directory service to perform required query
- bindpass
- – DN password used to connect to LDAP Directory service to perform required query
- query
- – A query performed on LDAP Directory serice to find user for authentication. The query string is composed as <basedn>/<filter>. Where `<basedn> is a DN search starting point and <filter> is a standard LDAP search object filter which support dynamic string substitution: %u will be replaced by credential’s username and %p by credential’s password, i.e. query=dc=bacula,dc=com/(cn=%u).
- starttls
- – Instruct the BPAM LDAP Plugin to use the **StartTLS** extension if the LDAP Directory service will support it and fallback to no TLS if this extension is not available.
- starttlsforce
- – Does the same as the `starttls` setting does but reports error on fallback.
Working configuration examples:
bacula-dir.conf – Console resource configuration for BPAM LDAP Plugin with OpenLDAP authentication example.
Console { Name = "bacula_ldap_console" Password = "xxx" # New directive (on a single line) Authentication Plugin = "ldap:url=ldap://ldapsrv/ binddn=cn=root,dc=bacula,dc=com bindpass=secret query=dc=bacula,dc=com/(cn=%u) starttls" ... }
bacula-dir.conf – Console resource configuration for BPAM LDAP Plugin with Active Directory authentication example.
Console { Name = "bacula_ad_console" Password = "xxx" # New directive (on a single line) Authentication Plugin = "ldap:url=ldaps://ldapsrv/ binddn=cn=bacula,ou=Users,dc=bacula,dc=com bindpass=secret query=dc=bacula,dc=com/(&(objectCategory=person)(objectClass=user)(sAMAccountName=%u))" ... }
Object Support
In Bacula Enterprise 12.6.0, File Daemon Plugins will generate Objects recorded in the Catalog to easily find and restore plugin Objects such as databases or virtual machines. The Objects are easy to list, count and manage. Objects can be restored without knowing any details about the Job, the Client, or the Fileset. Each plugin can create multiple Objects of the specific type.
As of now, the following plugins support Object Management:
- PostgreSQL (in dump mode)
- MySQL (in dump mode)
- MSSQL VDI
- vSphere
- VSS HyperV
- Xenserver
- Proxmox
*list objects Automatically selected Catalog: MyCatalog Using Catalog "MyCatalog" +----------+-------+-----------------+------------+-------------------+ | objectid | jobid | objectcategory | objecttype | objectname | +----------+-------+-----------------+------------+-------------------+ | 1 | 1 | Database | PostgreSQL | postgres | | 2 | 1 | Database | PostgreSQL | template1 | | 3 | 1 | Virtual Machine | VMWare | VM_1 | +----------+-------+-----------------+------------+-------------------+ *list objects category="Database" Automatically selected Catalog: MyCatalog Using Catalog "MyCatalog" +----------+-------+----------------+------------+------------+ | objectid | jobid | objectcategory | objecttype | objectname | +----------+-------+----------------+------------+------------+ | 2 | 1 | Database | PostgreSQL | template1 | | 4 | 1 | Database | PostgreSQL | database1 | +----------+-------+----------------+------------+------------+
Objects can be easily deleted:
*delete In general it is not a good idea to delete either a Pool or a Volume since they may contain data. You have the following choices: 1: volume 2: pool 3: jobid 4: snapshot 5: client 6: tag 7: object Choose catalog item to delete (1-7): 7 Enter ObjectId to delete: 1
It is also possible to delete specified groups of objects:
*delete object objectid=2,3-7,9
There is a new item in the restore menu to restore Objects easily:
*restore objectid=2 OR *restore Automatically selected Catalog: MyCatalog Using Catalog "MyCatalog" First you select one or more JobIds that contain files to be restored. You will be presented several methods of specifying the JobIds. Then you will be allowed to select which files from those JobIds are to be restored. To select the JobIds, you have the following choices: 1: List last 20 Jobs run 2: List Jobs where a given File is saved ... 11: Enter a list of directories to restore for found JobIds 12: Select full restore to a specified Job date 13: Select object to restore <----------- 14: Cancel Select item: (1-14): 13 List of the Object Types: 1: PostgreSQL Database 2: VMWare Virtual Machine Select item: (1-2): 1 Automatically selected : database1 Objects available: +----------+------------+--------------+-------------------+---------------------+------------+ | objectid | objectname | client | objectsource | starttime | objectsize | +----------+------------+--------------+-------------------+---------------------+------------+ | 2 | template1 | 127.0.0.1-fd | PostgreSQL Plugin | 2020-10-15 13:10:15 | 10240 | | 4 | database1 | 127.0.0.1-fd | PostgreSQL Plugin | 2020-10-15 13:10:17 | 10240 | +----------+------------+--------------+-------------------+---------------------+------------+ Enter ID of Object to be restored: 2 Automatically selected Client: 127.0.0.1-fd Bootstrap records written to /opt/bacula/working/127.0.0.1-dir.restore.1.bsr The Job will require the following (*=>InChanger): Volume(s) Storage(s) SD Device(s) =========================================================================== TestVolume001 File1 FileStorage1 Volumes marked with "*" are in the Autochanger. 1 file selected to be restored. Using Catalog "MyCatalog" Run Restore job JobName: RestoreFiles ... Catalog: MyCatalog Priority: 10 Plugin Options: *None* OK to run? (yes/mod/no): yes Job queued. JobId=5
Objects can easily be managed from various BWeb Management Suite screens.
Support for MariaDB 10 in the MySQL Plugin’s Binary Backup Mode
Starting with MariaDB 10, the MariaDB team has introduced new backup tools based on the Percona backup tools. The MySQL FileDaemon Plugin now can determine dynamically which backup tool to use during a binary backup.
Tag Support
It is now possible to assign custom Tags to various catalog records in Bacula such as:
- Volume
- Client
- Job
*tag Automatically selected Catalog: MyCatalog Using Catalog "MyCatalog" Available Tag operations: 1: Add 2: Delete 3: List Select Tag operation (1-3): 1 Available Tag target: 1: Client 2: Job 3: Volume Select Tag target (1-3): 1 The defined Client resources are: 1: 127.0.0.1-fd 2: test1-fd 3: test2-fd 4: test-rst-fd 5: test-bkp-fd Select Client (File daemon) resource (1-5): 1 Enter the Tag value: test1 1000 Tag added *tag add client=127.0.0.1-fd name=#important" 1000 Tag added *tag list client +--------------+----------+--------------+ | tag | clientid | client | +--------------+----------+--------------+ | #tagviamenu3 | 1 | 127.0.0.1-fd | | test1 | 1 | 127.0.0.1-fd | | #tagviamenu2 | 1 | 127.0.0.1-fd | | #tagviamenu1 | 1 | 127.0.0.1-fd | | #important | 1 | 127.0.0.1-fd | +--------------+----------+--------------+ *tag list client name=#important +----------+--------------+ | clientid | client | +----------+--------------+ | 1 | 127.0.0.1-fd | +----------+--------------+
It is possible to assign Tags to a Job record with the new ‘Tag’ directive in a Job resource.
Job { Name = backup ... Tag = "#important", "#production" }
*tag list job +--------------+-------+-------------+ | tag | jobid | job | +--------------+-------+-------------+ | #important | 2 | backup | | #production | 2 | backup | +--------------+-------+-------------+
The Tags are also accessible from various BWeb Management Suite screens.
Support for SHA256 and SHA512 in FileSet
The support for strong signature algorithms SHA256 and SHA512 has been added to Verify Jobs. It is now possible to check if data generated by a Job that uses an SHA256 or SHA512 signature is valid.
FileSet { Options { Signature = SHA512 Verify = pins3 } File = /etc }
In the FileSet Verify option directive, the following code has been added:
- 3
- for SHA512
- 2
- for SHA256
Misc
Support for MySQL Cluster Bacula Catalog
The Bacula Director Catalog service can now use MySQL in cluster mode with the replication option sql_require_primary_key=ON. The support is dynamically activated.
Support of Windows Operating System in bee_installation_manager
Bacula Enterprise can now be installed in a very simple and straight forward way with the bee_installation_manager procedure on Windows operating system. The program will use the Customer Download Area information to help users to install Bacula Enterprise in just a few seconds.
The procedure to install Bacula Enterprise on Windows can now be automatised with the following procedure:
# wget https://baculasystems.com/ml/bee_installation_manager.exe # bee_installation_manager.exe
Please see the BEE Installation Manager whitepaper for more information.
Windows Installer Silent Mode Enhancement
The following command line options can be used to control the regular Bacula installer values in silent mode:
- -ConfigClientName
- -ConfigClientPort
- -ConfigClientPassword
- -ConfigClientMaxJobs
- -ConfigClientInstallService
- -ConfigClientStartService
- -ConfigStorageName
- -ConfigStoragePort
- -ConfigStorageMaxJobs
- -ConfigStoragePassword
- -ConfigStorageInstallService
- -ConfigStorageStartService
- -ConfigDirectorName
- -ConfigDirectorPort
- -ConfigDirectorMaxJobs
- -ConfigDirectorPassword
- -ConfigDirectorDB
- -ConfigDirectorInstallService
- -ConfigDirectorStartService
- -ConfigMonitorName
- -ConfigMonitorPassword
The following options control the installed components:
- -ComponentFile
- -ComponentStorage
- -ComponentTextConsole
- -ComponentBatConsole
- -ComponentTrayMonitor
- -ComponentAllDrivesPlugin
- -ComponentWinBMRPlugin
- -ComponentCDPPlugin
Example
bacula-enterprise-win64-12.4.0.exe /S -ComponentFile -ConfigClientName \ foo -ConfigClientPassword bar
Will install only file deamon with bacula-fd.conf configured.
bacula-enterprise-win64-12.4.0.exe /S -ComponentStorage \ -ComponentFile-ConfigClientName foo \ -ConfigClientPassword bar -ConfigStorageName foo2 \ -ConfigStoragePassword bar2
Will install the Storage Deamon plus File Deamon with bacula-sd.conf and bacula-fd.conf configured.
Disponível em: Português (Portuguese (Brazil))EnglishEspañol (Spanish)