Veeam versions
The Abiquo integrations supports the following versions of Veeam Backup & Replication with separate plugins.
Each of the following backup plugins require their own license.
Veeam version | Backup plugin |
---|---|
Veeam 9.5 update 4 | Veeam 9.5 update version 4 |
Veeam 10 | Veeam 10 |
Upgrade Veeam version
See Upgrade Veeam v9.5u4 to v11.
To upgrade to the next version of Veeam in Abiquo, follow these general instructions but remember to check for full details in the appropriate documentation:
Obtain the new backup plugin license from Abiquo Customer Service
Check properties for the veeam.properties file and add any new properties, as described below
For example, the hypervisor property, which was added in Abiquo v5.1.1
Also check the API version
Change the optional abiquo.properties to match your Veaam version, as described below
In Abiquo, delete the old backup manager and create a new backup manager
Enter the endpoint for Veeam, for example, for Veeam 10 you should use an HTTPS connection to the default port of 9398, for example:
https://veeam.example.com:9398/api/
To ensure that Veeam selects the correct backup repository, each job name (and policy code) must be used in only ONE instance of Veeam Backup & Replication
If you already have job names (and policy codes) that are used in more than one instance of Veeam Backup & Replication, please contact Abiquo Support
Hypervisors
The Abiquo Veeam backup plugins supports the following hypervisors:
VMware
Hyper-V
Install Veeam
Install the Veeam Enterprise Manager, which is an optional component in Veeam installations. As part of the install process, configure the API ports of the Veeam Enterprise Manager. Enter the HTTP and HTTPS port numbers that the Veeam Backup Restful API service will use. By default, the values are HTTP port 9399 and HTTPS port 9398.
Please make sure that the port 9398 from the Veeam Enterprise Manager server is reachable from all of the Abiquo Remote Services servers.
Create base Veeam resources for Abiquo
The Veeam API cannot be used to create backup and replication jobs. This means that you must create a dummy job for the Abiquo backup plugin to clone, with a base job for each hypervisor you will be using. A job must contain at least one VM, so you will need a placeholder VM on each hypervisor for use in the dummy job.
In your hypervisor, deploy a placeholder VM
Choose the VM name carefully to show that it is a placeholder VM so that it will not get accidentally deleted
In Veeam create a new job for the hypervisor
The default names that the Abiquo backup plugin will detect are "Abiquo Dummy HyperV Job" for HyperV and "Abiquo Dummy VMWare Job" for ESX
Add the placeholder VM
DO NOT set a schedule for the job
Save the job
Do not delete the placeholder VMs and dummy jobs because this could cause problems in the Abiquo backup plugin.
When you display jobs in Veeam, it displays dummy jobs with placeholder VMs at the top of the list. Then it displays jobs created by the Abiquo backup plugin by cloning the dummy jobs below the dummy jobs.
Configure Veeam properties
To configure Veeam backup properties in Abiquo:
Log in to the Abiquo Remote Services server.
Go to /opt/abiquo/config folder and edit the veeam.properties file.
This is the default file location, and you can change it and configure the new location in abiquo.properties as described below
Make sure that this file is owned by the user "tomcat", group "tomcat".
The Abiquo backup plugin is designed to manage one Veeam host for each Abiquo datacenter. To associate a datacenter with its Veeam host, set a property pair for the datacenter name and the Veeam host IP or FQDN.
Set the datacenter name as it appears in the Abiquo UI and get the Veeam host value from the Veeam Enterprise Manager view.If there are hierarchy root, found them with the following command. Then, search for the BackupServerReference URL (this would be the veeamhost property)
curl --silent --insecure --header "${APISESSIONHEADER}" --request GET "https://${APIIP}:9398/api/hierarchyRoots?format=Entity" | xmllint --format - > hierarchyRoots.xml
For example, for two datacenters, called London and Frankfurt, and with the London veeamhost at 10.60.1.82 and the Frankfurt veeamhost at 10.60.1.90, the properties file would look as follows.veeam.infrastructure.datacenter.1=London veeam.infrastructure.veeamhost.1=10.60.1.82 veeam.infrastructure.datacenter.2=Frankfurt veeam.infrastructure.veeamhost.2=10.60.1.90
New in Abiquo 5.1.1. If you have hosts in Veeam that are not in Abiquo, and they contain duplicates of VMs in Abiquo, you must set the hypervisor property to define the hosts in Abiquo, as a comma separated list. The Abiquo backup system will manage VMs on the hypervisors on the list only, to prevent critical errors in the backup system. If the property is empty or not supplied, the platform will use Veeam data from all hypervisors.
veeam.infrastructure.hypervisor=myvCenter1.example.com,myvCenter2.example.com
To control backup expiration times in Veeam, use properties to set maximum restore points. Remember to remove the hash '#' comment mark at the start of the property line.
# Set the maximum restore points of a job for each schedule type veeam.maxrestorepoints=3 veeam.maxrestorepoints.schedule.daily=8 veeam.maxrestorepoints.schedule.monthly=3 # Set the maximum restore points for a specific polity, e.g. "mypolicy", with preference over other properties #veeam.maxrestorepoints.policycode.mypolicy = 5
Set the name of the dummy backup job for your hypervisor
## Veeam api does not allow us to create new jobs, only clone the ## existing jobs. So Veeam needs a dummy job (disabled) on each Veeam ## host in order to clone it to create new jobs. veeam.dummy.vmware.name=Abiquo Dummy VMWare Job
Set the name of the backup repository for the dummy backup job, to match the job's Backup repository configuration on the Veeam server. For example, if you are using a repository called "Default Backup Repository".
veeam.dummy.vmware.repository=Default Backup Repository
If you need to change the backup repository, remember to change this property.
If you have one Entity Manager for two Veeam servers, the repositories in the properties file must exist on each server. You do not have to use them but they must exist. Otherwise, the repository search could fail if each Veeam server uses a different repository name.
For Veeam v11, set the API version
avbc.veeam.restapi.version=v1_5
Optionally set other properties, according to your environment:
# JOBS CONFIGURATION ## Since veeam api does not allow to create new jobs, only clone the ## existent jobs. The veeam needs a dummy job (disabled) in each veeam ## host in order to clone it to create new jobs. ## The following properties define the name of the jobs for each ## virtualization type #veeam.dummy.vmware.name=Abiquo Dummy VMWare Job #veeam.dummy.vmware.repository=Default Backup Repository #veeam.dummy.hyperv.name=Abiquo Dummy HyperV Job #veeam.dummy.hyperv.repository=Default Backup Repository # TASK MANAGEMENT ## Some operations in veeam api causes an asynchronous task that needs ## to be tracked to know the result of the operation. All these properties ## are defined in milliseconds ## Time to wait between each task state retrieve operation. ## Min and Max exists because each operation increase the next interval ## in a half of the last one (nextinterval = currentinterval * 1.50) #veeam.request.async.maxinterval=60000 #veeam.request.async.mininterval=5000 ## Maximum of time spent to retrieve the task result #veeam.request.async.totaltimeout=300000 ## Timeout properties for synchronous request to Veeam api #veeam.client.connect.timeout=6000 #veeam.client.read.timeout=10000 ## Cache expiry time in milliseconds #veeam.cache.expire.duration=1800000
Configure all backup jobs with policy codes
For Veeam 9.5u4 and Veeam 10, you MUST create an Abiquo policy Code for each backup. Abiquo ALWAYS uses the backup policy Code attribute to identify the Veeam job to clone. This enables Abiquo to support retention time but it does not affect previously existing backup jobs of current VMs.
When a user assigns a backup policy to a VM, if Abiquo cannot find the Veeam job to match a backup policy code, then it will not be able to create a new backup job in Veeam and the VM backups will not run.
For each backup policy in Abiquo:
On the Veeam Backup and Replication server for the Abiquo datacenter, clone the original Abiquo dummy job
Rename the new job to a name that will exactly match the policy Code of an Abiquo backup policy in the Abiquo datacenter
To set how many backups should be kept on the server, go to Job → Edit → Storage and set Restore points to keep on disk
In Abiquo, check that the backup policy has the right Code and that it is available to users
When users select this policy, the platform will use the appropriate Veeam job.
Additionally, please edit the backup properties by clicking on the button "Edit properties" from the tab "Backup policies" and consider each one of the presented options, specially the option "Enable update while deployed" to be able to add a backup policy when a VM is on.
Configure Abiquo properties
To configure Abiquo properties for Veeam:
Log in to the Remote Services server
Edit the abiquo.properties file
To activate the backup plugin and define the location of the properties file:
Set the abiquo.backup.veaam.config.path property in the following format
abiquo.backup.veeam.config.path=/opt/abiquo/config/veeam.properties
Make sure that the folder "/opt/abiquo/config/" is owned by the user "tomcat".
Optionally set the other abiquo.properties for your Veeam version.
These properties are set for "veeam95u4" or "veeam10" and there is no change to add VMware Snapshots.abiquo.nars.async.pool.{backupplugin-Version}.max
abiquo.nars.async.pool.{backupplugin-Version}.byvdc
abiquo.virtualfactory.{backupplugin-Version}.backup.openSession
abiquo.virtualfactory.{backupplugin-Version}.backup.openSession.byvdc
See Abiquo configuration properties for more details.
Remember that you will need to restart the Tomcat server for changes to the properties file to take effect.