SAP HANA can be protected by Veeam Availability Suite as The Veeam Plugin for SAP HANA is a certified third party tool for the Backint for SAP HANA Interface. More information on Working with Third-Party Backup Tools can be found in the SAP HANA Administration Guide for SAP HANA Platform.
This knowledge article will highlight the configuration steps to integrate SAP HANA and Veeam Backup and Recovery to create and recover from data backups made using Backint where FlashBlade® is a storage target.
The following prerequisites need to be in place before any further configuration can occur:
- Veeam Backup and Replication 9.5 update 4+ is installed and licensed as per the licensing requirements.
- SAP HANA 2.0 SPS02+ is installed and running on either a Scale Up on or Scale Out instance.
- Any one of the following Veeam backup repositories configured with FlashBlade.
- Ensure that the Access Permissions for the relevant backup Repositories have been set prior to installation and configuration of the Veem SAP HANA plug-in.
All of the above information can be applied to FlashArray//C as well. A Backup Repository can be created using a block volume connected to a host from FlashArray//C and formatted with the XFS filesystem.
Installation and Configuration
To install the Veeam plug-in for SAP HANA the Veeam Backup & Replication ISO needs to be mounted to the SAP HANA system. Once mounted the plugin is installed through either an rpm package or tar.gz bundle.
Mount the ISO File
mount -o loop /veeam/VeeamBackup\&Replication_10.0.0.4461_20200527.iso /mnt
Navigate to the /plugins/sap hana/x64 Folder Where the Relevant SAP HANA Plugins will be Located
cd /mnt/plugins/sap\ hana/x64/
Viewing the files listed in the directory there will be two, one RPM and one tar.gz.
Only one is required for the installation.
-r-xr-xr-x 1 root root 29802040 Feb 12 22:44 veeampluginforsaphana-10.0.0.4461-1.x86_64.rpm -r-xr-xr-x 1 root root 30064110 Feb 12 22:44 veeampluginforsaphana.tar.gz
To Install the RPM
rpm -i veeampluginforsaphana-10.0.0.4461-1.x86_64.rpm
To Install Using the tar.gz Archive
tar -xzvf -i VeeamPluginforSAPHANA.tar.gz -C /opt/veeam
Use the Plug-in Wizard to Configure SAP HANA Backint
The following information will be requested:
|Enter backup server name or IP address:||Give the Veeam Backup Server hostname or IP Address.|
|Enter backup server port number :||Unless the server is listening on a different port, leave this as default.|
|Enter username:||The username of the user with access to the relevant backup repositories.|
|Enter the password for username:||The password of the user with access to the relevant backup repositories.|
|A list of backup repositories will be listed and a selection needs to be made by the user as to which needs to be the target for SAP HANA backups.||Select a backup repository from the list.|
The wizard will automatically create the SAP HANA Backint configuration file.
In a Scale Out landscape the installation and configuration steps need to be repeated on each node, both standby, and worker.
If a different repository needs to be used for log, data, and catalog backups (and even more granular scenarios such as separate tenants and the SystemDB) then copy or change the name of the veeam_config.xml file, and then specify those in the SAP HANA global.ini file in the relevant section.
Set the Mandatory Backup Configuration Parameters
Once the Veeam configuration is completed, SAP HANA needs to be configured to use the correct plugin configuration files when running backups, this can be done using SAP HANA Studio, SAP HANA Cockpit or Native SQL commands. Note that if using the default file generated by the Veeam config wizard, this will be located at "/opt/veeam/VeeamPluginforSAPHANA/veeam_config.xml".
All of the below native SQL configuration examples are setting values for the System layer. When setting System layer parameters all tenants will inherit the property unless otherwise overridden specifically for that tenant. To override the values set at the System layer either connect to the tenant database with the administrative user and set the parameters there, or set the parameter at the Tenant layer.
To set the catalog backup parameter file using native SQL:
ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('backup', 'CATALOG_BACKUP_PARAMETER_FILE') = 'file location' WITH RECONFIGURE"
Note that the catalog backups will need to be set to use Backint as well, this can be done with the following native SQL statement:
ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('backup', 'CATALOG_BACKUP_USING_BACKINT') = 'true' WITH RECONFIGURE"
To set the data backup parameter file using native SQL:
ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('backup', 'DATA_BACKUP_PARAMETER_FILE') = 'file location' WITH RECONFIGURE"
To set the log backup parameter file using native SQL:
ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('backup', 'LOG_BACKUP_PARAMETER_FILE') = 'file location' WITH RECONFIGURE"
Note that the log backups will need to be set to use backint as well.
ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('backup', 'LOG_BACKUP_USING_BACKINT') = 'true' WITH RECONFIGURE"
To view or set parameters in SAP HANA Studio, navigate to the Configuration view and in the Global.ini file find the section for backup:
Set the Optional Backup Configuration Parameters
For the level of granularity required (System, tenant) backup operations can be optimized in terms of performance and recovery strategy. Here are some recommendations:
|catalog_backup_buffer_size||This is the buffer size for creating backups of the backup catalog.||Leave as default.|
|data_backup_buffer_size||Buffer size for copying data backup. It defines the buffer size used to copy data for page into backups. The default value is 512MB.||512-> 4096 depending on paralell_data_backup_backint_channels value. Also consider the increased memory usage with this parameter.|
|es_data_backup_buffer_size||Buffer size for copying data backups. Defines the buffer size used to copy data for page into backups for dynamic tiering/ extended storage systems.||4,32 depending on system requirements.|
|log_backup_interval_mode||Sets how often log backups should be made.||User-specific, can be done as "service" or "immediate". with service it will by default be every 15 minutes, with immediate as soon as the log segment becomes full.|
|log_recovery_resume_point_interval||Resume point interval during log recovery: Sets resume point interval. Setting to 0 will disable the resume points (e.g. due to too high I/O impact during recovery). When the configured interval has passed during a log recovery, the service will attempt to write a resume point. If the recovery should fail after that, it can be resumed starting from the resume point. During the recovery, resume points can only be written when a savepoint is replayed from a log backup.||Leave as default unless otherwise required.|
|max_log_backup_size||Maximum log backup size in gigabytes. Sets the maximum size of the content of log backups.||64 for highly loaded systems, leave as default if the system load is not intensive.|
|max_recovery_backint_channels||Max number of backint channels per request: Defines the maximum number of log backups per backint request during recovery.||Leave as default.|
|parallel_data_backup_backint_channels||Defines the number of backint channels during backup or recovery which will be used in parallel. During a backup this number of channels will be written in parallel. During recovery, the number of channels is used that was used when the backup was made. A backup will need for each channel a buffer with the size data_backup_buffer_size and one additional buffer.||
The Veeam backup repository will be able to sustain up to 32 parallel streams before timeout. If backing up 2 tenants in parallel then the value of this parameter will need to be set to 16, ensuring that not more than 32 streams are working on the backup repository at a time.
The recommendation for a single-tenant without competing streams is 16 parallel backint channels.
To work with multiple tenants and the overall data backup backint channels exceeding 32 streams, then the backup operations should be divided amongst multiple backup repositories.
Running Backups for SAP HANA System and Tenant Databases
There are a number of ways to run backups for the SAP HANA system.
Execute a Backup Using HDBSQL
Executing the following HDBSQL command for a database (either tenant or SystemDB) will trigger a backup being run:
BACKUP DATA for <Database_name> using backint ('BACKUP_PREFIX')
Execute a Backup Using SAP HANA Studio
See the SAP HANA Administration Guide: Reference: Backup Console for details on how to create a backint backup.
Execute a Backup Using SAP HANA Cockpit
SAP HANA Cockpit can be used to schedule and create manual backint backups. More information on using SAP HANA Cockpit can be found in SAP HANA Administration with SAP HANA Cockpit: Backup and Recovery.