Technical Overview and How-To Configure Bacula Enterprise SQL Database Backup Plugin with BWeb
Enterprise IT is constantly evolving, bringing new trends and new ways of approaching the delivery of critical services and data. From virtualization to cloud, from containers to converged infrastructure, one thing has remained constant. Database servers remain a key component of most organizations, and often contain the most critical information for the continuity of operations. In the end, no matter how virtualized and highly available the infrastructure, being able to backup and recover critical databases to a point in time remains a necessary part of a fully realized disaster recovery, business continuity, and security strategy.
Bacula Enterprise Edition provides the ability to protect many mission-critical databases, including Oracle, MSSQL, SAP HANA, MySQL, and Postgresql, providing the much-needed point in time, offline recovery option that is there when it is needed most. The guide that follows will show you how to backup SQL database using Microsoft’s Linux virtual device interface.
SQL Database Backup Configuration with BWeb Management Suite
1. From the Bweb configuration page, click ‘Add a new Backup’
2. This brings up the wizard to add a new SQL database backup job. First give the job a name and description. It’s also possible here to select common defaults with other backup jobs, called JobDefs in Bacula, if appropriate. Ideally the job name will match the hostname along with a descriptor for the service being backed up on that host, in order to make log parsing easier.
3. Next, the client on which the SQL database resides is selected from the client drop-down list.
4. After choosing the client, BWeb will ask what SQL database is to be backed up. This is known as the Fileset in Bacula. There is no existing template for this particular type of SQL backup, so it will have to be created by clicking the ‘now’ link in the description.
5. The new fileset will need a name, and in this case the name is specific to this backup job. The same fileset can also be shared among many SQL database backup jobs that share the same parameters. After giving the fileset a name, clicking on “Add include list” brings up the next configuration window where the data to be backed up is configured.
6. Choose the client, and BWeb will connect and display the filesystem available for backup. Rather than backing up files in this example, the configuration is of a plugin to back up a database. Clicking “Edit Plugins” brings up the plugin list.
7. From this list the SQL database backup plugin is chosen, bringing up the configuration screen.
8. On the configuration screen are the various options available to the SQL Server backup plugin. By default, the plugin will authenticate via the local service account under which the Bacula File Daemon is running on the SQL server (see configuration screenshot for one possible way to permit Bacula to access the databases), and then back up all databases on the server. The options in the list allow the plugin to be configured to use alternative authentication, backup only specific databases or exclude databases matching a pattern, as well as other options. Please refer to the Bacula Enterprise SQL database backup plugin whitepaper for more details about all the configuration options available. In this example, the defaults are used to back up all databases on the server.
9. Finally, the plugin is added to the fileset and configure any final options, such as enabling deduplication for any job that uses this fileset. The Bacula Enterprise main manual covers each of the available configuration options in detail, and Bacula Systems support can assist in optimizing fileset options.
10. After applying changes and saving the fileset, a schedule must be chosen from the available list of configured backup schedules, or a new schedule can be created. If no schedule is chosen, the job will only run manually.
11. Finally, the job is ready to be saved. Any advanced options can be changed, added, or modified now. For the example here, no additional changes need to be made and the job can be saved, and then committed and the director must be reloaded. Reloading the director configuration does not affect running jobs.
12. The new job is ready to go. A manual run will verify that everything is set up as desired.
13. After a manual run of the job, a review of the job log shows the databases and related files backed up, any errors or warnings, and the total job statistics and Bacula status. In this case the SQL backup job is OK, so the configuration task here is complete.
Final notes on how to backup SQL database:
- This is a basic setup guide; please refer to Bacula Enterprise documentation and support for more details and advanced configuration options
- Verifying and documenting the restore process is an important next step.
- Configuration instructions using text editor and Bacula configuration files is available in the MSSQL-VDI Plugin documentation.