Integration of SAP HANA and Veeam Plug-in requires additional environment planning. When you deploy the plug-in, keep in mind the following requirements and limitations:
- Backup File Naming
- Veeam Backup Job Name
- Veeam Backup Repositories
- Veeam Scale-Out Backup Repository
- SAP HANA Backup Channels and Veeam Repository Task Slots
- SAP HANA Encryption
- SAP HANA Catalog Backup with Backint
- SAP HANA Backint Parameter File
- SAP HANA Scale-out Cluster
- SAP HANA System Replication Failover
- Hosting Environments
- Additional Files to Back Up
Veeam Plug-in uses built-in compression functionality of Veeam Backup & Replication. If you want to disable the compression, do the following:
- Open the /opt/veeam/VeeamPluginforSAPHANA/veeam_config.xml file with a text editor.
- Find the <AgentParams /> line and add the following parameter:
<AgentParams compression="NoCompression" />
- Veeam Plug-in forwards the backups created by SAP HANA integrated backup application to a Veeam backup repository. You can schedule backup operations with all SAP HANA relevant scheduling options like SAP HANA Cockpit (HANA Cockpit 2.0 SPS 06 or later version), SAP DB13 (NW 7.02 SP17 or later version) or external schedulers like cron, UC4, TWS and others.
- You can schedule and run existing SAP HANA backup scripts within an image-level or file-level backup job of Veeam Backup & Replication or Veeam Agent for Linux. For details, see the Pre-Freeze and Post-Thaw Scripts section in the Veeam Backup & Replication User Guide.
For SAP Management Software, make sure SAP HANA 2.0 systems are configured in the Multi-Container mode. Otherwise, backups will fail with the following error:  Invalid path selection for data backup using backint.
The Veeam Plug-in backup files are stored in the .VAB format. This extension helps to identify backup files on a Veeam backup repository and enable the Veeam repository import and other related features.
Veeam Plug-in matches the SAP HANA created external backup ID's (EBID) with Veeam Plug-in filenames.
Veeam backup jobs visible in the Veeam Backup & Replication console are created automatically at first backup run.
Standalone SAP HANA Server (Scale-Up): The backup job object name in Veeam Backup & Replication is created automatically based on the names of the HANA server and selected repository.
Scale-Out SAP HANA Cluster: When you run the Veeam Plug-in configuration wizard for the first time in one of the SAP HANA cluster members, the wizard asks for the cluster name. The cluster name will be used in the backup job object name together with the repository name.
Veeam Plug-in supports the following Veeam backup repositories:
- Windows Server
- Linux Server
- CIFS (SMB) Share
- Dell EMC Data Domain
- HPE StoreOnce. If you plan to use HPE StoreOnce as a backup repository for Veeam Plug-in for SAP HANA, the total number of stored files (data and metadata) must not exceed 1,000,000 per storage system.
- Quantum DXi
- NFS File Share
- ExaGrid. Mind the following:
- Follow the requirements in the ExaGrid section of the Veeam Backup & Replication User Guide.
- In the global.ini of SAP HANA, set the max_recovery_backint_channels parameter value to a number lower than the repository task slots. ExaGrid recommends setting it to 1, and adjust gradually if needed.
- You can also use scale-out backup repositories that contain supported repository types.
Due to specific design of SAP HANA backups, Veeam Plug-in does not use enhanced ReFS options such as block cloning. Backups transferred to repositories that use ReFS as a file system are processed the same way as with NTFS repositories.
- For Veeam Plug-in backups, the warning which indicates that free space on a storage device has reached a specified threshold is configured in the veeam_config.xml file of Veeam Plug-in. The warning settings in the Veeam Backup & Replication console does not affect this setting.
To configure the warning settings, add the following parameter in the/opt/veeam/VeeamPluginforSAPHANA/veeam_config.xml file.
<PluginParameters repositoryFreeSpacePercentWarning="10" />
- The plug-in configuration wizard will not show repositories where the Encrypt backups stored in this repository option is enabled. To learn how to disable the encryption option, see Access and Encryption Settings on Repositories.
- Make sure Veeam backup repositories have enough free space to store database backups and transaction log backups. If required, you can use a scale-out backup repository.
- If you use Veeam Plug-in for SAP HANA version 9.5 Update 4, Veeam Backup & Replication backup copy jobs does not process and copy the backups created by the plug-in.
- Veeam extract utility cannot extract backup files created by Veeam Plug-in.
- For security reasons, it is recommended to use separate repositories for different users and grant access to backup repositories only for required users.
You can use scale-out backup repositories that contain supported repository types.
- Veeam Capacity Tier does not support processing of Veeam Plug-in backups.
- For Veeam Plug-in backups and backup copies, the Performance policy of a scale-out repository will function a little differently:
- Veeam Backup & Replication will check if there are extents without warning on free space insufficiency. If all extents have the warning, Veeam Backup & Replication will use an extent with the largest amount of free space that has a free task slot.
- If there are extents without the warning, Veeam Backup & Replication checks if there are incremental extents with free task slots. If there are no incremental extents with free task slots, Veeam Backup & Replication uses a full extent with least amount of used task slots.
- If there are incremental extents with free task slots, Veeam Backup & Replication will send backup files to an incremental extent with least amount of used task slots. If the amount of used tasks is the same, an extent with the most amount of free space.
- If a scale-out repository is configured in Localty policy, repository extents will be selected according to the amount of free space for each SAP HANA Backint connection. If there are two extents with one slot on each extent, the backup will be launched on two streams (one on each extent).
- If you want to add repositories as extents to a scale-out backup repository, and Veeam Plug-in backups are present on the source repository, you must do the following:
- Copy the Veeam Plug-in job folder (the whole folder) to an existing scale-out backup repository extent.
- Delete the backups from the source repository.
- Rescan the source repository.
- Add the repository as an extent to the scale-out repository.
- Rescan the scale-out repository.
- Set the scale-out repository as target in the Veeam Plug-in settings.
- Map the imported backups using the following command:
sudo SapBackintConfigTool --map-backup
Veeam Plug-in for SAP HANA uses the Windows authentication methods of the Veeam Backup & Replication server to establish a connection to this server and to the backup target. It is recommended to create one specific user for each Veeam Plug-in server or for each scale-out cluster.
If this user will be later changed manually, the new user must have at least the Veeam Backup Operator and Veeam Restore Operator rights within the Veeam Backup & Replication user management. To learn how to assign Veeam Backup & Replication roles, see the Roles and Users section of the Veeam Backup & Replication Guide.
By default, SAP HANA uses one channel for data backups. If required, you can configure SAP HANA to use additional channels. When multiple channels are used, SAP HANA distributes the data equally across the available channels.
To control the number of parallel channels used for each SAP HANA Backint instance, you can edit the parallel_data_backup_backint_channels parameter in the SAP HANA global.ini file. For instructions, see the Multistreaming Data Backups with Third-Party Backup Tools section of the SAP HANA Administration Guide
The number of multistreaming channels applies to all data backup services larger than 128GB. Data backup services smaller than 128GB use only one channel.
Basically, the more channels used in parallel, the faster is the data flow between SAP HANA and the source Veeam Transport Agent. However, the more channels used in parallel, the more resources are used on the SAP HANA server, network, Veeam backup repository, backup source and target disk systems. You should find the right mix between performance and resource allocation for your specific business need.
The following hardware resources are recommended based on tests on Skylake processors:
- SAP HANA server: 1 CPU core and 200 MB of RAM per currently used channel.
- Backup repository server: 1 CPU core and 1 GB of RAM per 5 currently used channels.
These resources are recommended only if you use a separate backup repository for Veeam Plug-in backups. If you use the same backup repository for backups of Veeam Plug-ins and VM backups and/or backups of Veeam Agents by Veeam Backup & Replication, see the requirements for backup repository servers in the Release Notes of Veeam Backup & Replication.
We recommend to contact your Veeam system engineer to optimize the channel settings and resource allocation. Also, mind the following recommendations:
- It is not recommended to use more than 64 channels in parallel as the overhead will reduce individual channel performance. Set the max_recovery_backint_channels setting in global.ini to 64 or below depending on available hardware resources.
- It is recommended to use a separate backup repository for Veeam Plug-in backups.
- If you want to improve backup performance, the SAP HANA buffer must be increased for additional used channels. For details, consult with your SAP HANA database administrator.
- SAP HANA can back up individual databases and/or tenants in parallel. To optimize resources, you can back up databases sequentially.
If there are not enough available repository task slots, SAP HANA waits till repository a slot becomes available.
During restore, the order of repository task slots is ignored, and channels are used as requested by SAP HANA.
You can use the following examples as reference:
- Example 1: Backing up all databases in parallel
In this example, there is a system with 2 tenant databases, each database has 4 services. The databases are backed up in parallel. The SAP HANA channel setting is 6. The following maximum repository task slots and SAP channels are used:
- Up to 4 task slots/channels are used by SYSTEMDB and its 4 services (all below 128 GB)
- Up to 6 task slots/channels are used for the index service of the tenant database 1 (the database is bigger than 128 GB)
- Up to 3 task slots/channels are used for the rest of the 3 remaining services of the tenant database 1 (all below 128 GB)
- Up to 6 task slots/channels are used for the index service of the tenant database 2 (the database is bigger than 128 GB)
- Up to 3 task slots/channels are used for the rest of the 3 remaining services of the tenant database 2 (all below 128 GB)
- If the log backups are below 128GB, you must reserve at least 3 channels for the log backup of SYSTEMDB, tenant database 1, and tenant database 2. These log backups are started automatically on their own schedule or when the maximum file size of the log file is reached.
In total, for backup processes of all databases started in parallel you need up to 27 available task slots.
- Example 2: Backup of all databases sequentially
In this example, there is system with 2 tenant databases, each database has 4 services. The databases are backed up sequentially. The SAP HANA channel setting is 6. The following maximum repository task slots and SAP channels are used:
- Up to 6 task slots/channels are used for the index service of a tenant database (the database is bigger than 128 GB).
- Up to 3 task slots/channels are used for the rest of the 3 remaining services of the same tenant database (all below 128 GB).
- If the log backups are below 128GB, you must reserve at least 3 channels for the log backup of SYSTEMDB, tenant database 1, and tenant database 2. These log backups are started automatically on their own schedule or when the maximum file size of the log file is reached. Assuming that the log file backups are below 128 GB and do not use additional channels.
In total, for backup processes of sequential started database backups, 12 task slots must be available.
Veeam Plug-in supports SAP HANA integrated encryption. The encryption processes are performed on the SAP HANA side. Veeam Plug-in is not involved in encryption processing.
Plan the protection of the encryption environment carefully. In case the encryption keys are lost, Veeam Plug-in can only provide an access to the encrypted backup file. You will have to decrypt data in SAP HANA. For details, see the Managing Data Encryption section of the SAP HANA Administration Guide.
To back up the SAP HANA catalog using Backint, change the settings of the catalog_backup_using_backint parameter in the backup section of the global.ini.
Veeam Plug-in does not use the Backint parameter file. Leave these fields empty when asked for.
Veeam Plug-in supports SAP HANA scale-out clusters with the following limitations:
- Due to design of SAP HANA databases, the same Veeam Plug-in configuration must be set on all scale-out cluster members, including stand-by nodes.
- On all cluster nodes, Veeam Plug-in must be configured to transfer backups to the same repository.
- Each cluster node must use the same credentials to connect to Veeam Backup & Replication server and repositories.
- All backup tasks across the SAP HANA scale-out cluster are performed in parallel.
SAP HANA does not allow you to back up from replicas. You can back up these databases only after a failover. To prepare the replication target system for backups after the failover, you can configure Veeam Plug-in as usual for a new scale-up or scale-out system. The Veeam backup job object will be created at first backup run and reflect the hostname of each system.
You must perform full database backup at least once after each failover or failback, so that SAP HANA starts to create automatic log backups.
After the failover, if you want to restore backups created before the failover, you must configure the plug-in to be able to access the backup files from the original source system:
- Go to /opt/veeam/VeeamPluginforSAPHANA and run the Veeam Plug-in configuration tool with the following parameter.
VM2ADM:/opt/veeam/VeeamPluginforSAPHANA> SapBackintConfigTool --set-restore-server
- Select the original source server.
Select source SAP HANA plug-in server to be used for system copy restore:
Enter server number: 1
- Specify the backup repository where the required source server backup is stored.
Available backup repositories:
Enter repository number: 1
- Perform system copy restore. For instructions, see Recovering Databases to Other Servers.
- Later, if you want to restore from the new backup chain created from the system replication server, you must run the command again and select the system replication server as a source for restore.
By default, Veeam Plug-in uses a hostname to create the Veeam Backup & Replication job object and a folder where the backups will be stored. If server names match, you can set the following entry in the Veeam configuration XML file (/opt/veeam/VeeamPluginforSAPHANA/veeam_config.xml) to be able to distinguish servers:
<PluginParameters customServerName="hostname.domain.tld" />
If your servers in multiple environments have the name sap1 and the domains for the 2 environments are customer1.local and customer2.local you have to set the following entries:
<PluginParameters customServerName="sap1.customer1.local" />
<PluginParameters customServerName="sap1.customer2.local" />
SAP HANA INI Files
SAP HANA does not back up the SAP configuration stored in INI files. Contact your SAP HANA database administrator to discuss the backup of the following files:
Also, to backup SAP HANA configuration files, you can use file or image-level backup options of Veeam Backup & Replication or Veeam Agent for Linux.
SAP HANA Server for Disaster Recovery
You can use Veeam Backup & Replication or Veeam Agent to create an image-level backup of the SAP HANA server. Note that to create transaction-consistent backups, you must use pre-freeze and post-thaw scripts.
Veeam Plug-in Configuration File
To back up the configuration file of Veeam Plug-in, back up the following file: /opt/veeam/VeeamPluginforSAPHANA/veeam_config.xml