Bacula Enterprise 12.6.x. New Features. VMware Instant Recovery, BWeb Tags, New Faster Dedup Engine

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.

Bacula Enterprise 12.6.x. New Features. VMware Instant Recovery, BWeb Tags, New Faster Dedup Engine 1

Web FileSet Edition Box


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).

 Bacula Enterprise 12.6.x. New Features. VMware Instant Recovery, BWeb Tags, New Faster Dedup Engine 2

Tag Management via BWeb Filters

 Bacula Enterprise 12.6.x. New Features. VMware Instant Recovery, BWeb Tags, New Faster Dedup Engine 3

Tag Management via BWeb Tables


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.

 Bacula Enterprise 12.6.x. New Features. VMware Instant Recovery, BWeb Tags, New Faster Dedup Engine 4

BWeb VM Dashboard

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: pt-brPortuguês (Portuguese (Brazil))enEnglishesEspañol (Spanish)

Leave a Reply