Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The Abiquo integrations supports the following versions of Veeam Backup & Replication with separate plugins.

Note

Each of the following Veeam backup plugins require their requires its own license.

...

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

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

Veeam version

Backup plugin

Veeam 9.5 update 4

Veeam 9.5 update version 4

Veeam 10

Veeam 10

Veeam 11

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

  1. For example, the hypervisor property, which was added in Abiquo v5.1.1

  2. 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:

Code Block
https://veeam.example.com:9398/api/

See also Steps to upgrade Veeam below.

...

Prepare and maintain Veeam storage

Warning

Your backup administrator should prepare and maintain Veeam storage because Abiquo does not delete backups.

Abiquo supports the use of retention policies to set the number of backups to keep but does not control how long to keep the backups.

When a user deletes a backup policy from a VM, Abiquo changes the name to disable and remove it from the next run. However, Abiquo does not detach the backup from the disabled job, so the backup will remain on the disk forever.

...

Hypervisors

The Abiquo Veeam backup plugins supports the following hypervisors: VMware

...

and Hyper-V.

...

Install Veeam

  1. Install Veeam with the Veeam Enterprise Manager, which is an optional component

...

  1. During the install

...

  1. , configure the API ports of the Veeam Enterprise Manager

...

  1. for the Veeam Backup

...

  1. RESTful API service

...

  1. to use. By default, the values are HTTP

...

  1. port 9399 and HTTPS port 9398.

...

  1. Ensure that the HTTPS port

...

  1. 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 , so this means that that you must create a dummy job placeholder jobs 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 use. You will also need a placeholder VM on each hypervisor for use in the dummy job. 

...

, because each job must contain at least one VM.

  1. On each hypervisor, deploy a placeholder VM

...

    • Name the VM

...

    • to show that it is a placeholder VM so that it will not get accidentally deleted

  1. In Veeam create a new job for the hypervisor

    • The default names that the Abiquo backup plugin will detect

...

    • are Abiquo dummy VMWare Job for ESXi and Abiquo dummy HyperV Job for HyperV

  1. Add the placeholder VM

  2. DO NOT set a schedule for the job

  3. Save the job

Do not delete the placeholder VMs and dummy placeholder jobs because this could cause problems in the Abiquo backup plugin.

When you display jobs in Veeam, it displays dummy placeholder jobs with placeholder VMs at the top of the list. Then it displays jobs created by the Abiquo backup plugin by cloning the dummy placeholder jobs below the dummy placeholder jobs.

...

Configure Veeam properties

To configure Veeam backup properties in Abiquo:

  1. Log in to the Abiquo Remote Services server

...

  1. Go to /opt/abiquo/config folder and edit or create the veeam.properties file.

    • This is the default file

...

    • and folder, to configure a new one, use abiquo.properties as described below

...

    • Ensure that

...

    • the file owner is

...

    • the tomcat user

...

    • in the tomcat

...

    • group

...

    • .

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

...

  1. the backup server reference, which may be the 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 roots, find them with the following command.

...

  1. (warning) You must use the same backup server reference/s that the Veeam manager uses to identify the host/s

    1. Get the datacenter name with one of these options:

      1. Abiquo UI: InfrastructureDatacenter

      2. API: Get datacenter names and IDs: https://wiki.abiquo.com/api/latest/DatacentersResource.html#list-datacenter-names-and-ids, and List public cloud regions: https://wiki.abiquo.com/api/latest/PublicCloudRegionsResource.html#list-public-cloud-regions

    2. Get the Veeam host value with one of these options to find the backup server reference:

      1. Veeam Enterprise Manager UI: DashboardSummaryBackup servers

      2. CLI: To find the Veeam host value, run these commands on the Abiquo Remote services server.

        Code Block
        # Set variables
        export APIUSERNAME=administrator && export APIPASSWORD='XXXXXXXXXX' && export APIIP=10.10.X.X
        
        # Obtain authentication token 
        export APISESSIONHEADER=$(curl --insecure --verbose --user ${APIUSERNAME}:${APIPASSWORD} --request POST "https://${APIIP}:9398/api/sessionMngr/?v=latest" --header "Content-Length: 0" 2>&1 | grep --only-matching --extended-regexp 'X-RestSvcSessionId: ([[:alnum:]])*')
        
        # Obtain hierarchy roots
        curl --silent --insecure --header "${APISESSIONHEADER}" --request GET "https://${APIIP}:9398/api/hierarchyRoots?format=Entity" | xmllint --format - > hierarchyRoots.xml

...

      1. In the response, look for the

...

      1. Link entity with a Type of BackupServerReference. In this case it is veeam01.london.example.com

        Code Block
                    <Link Href="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" Name="veeam01.london.example.com" Rel="Up" Type="BackupServerReference"/>
  1. So as an example, consider two Abiquo datacenters, called London and Frankfurt

...

  1. . The London Veeam host has a backup server reference of veeam01.london.example.com. And the Frankfurt Veeam host has a reference of veeam02.frankfurt.example.com. So the properties file would look as follows.

    Code Block
    veeam.infrastructure.datacenter.1=London
    veeam.infrastructure.veeamhost.1=

...

  1. veeam01.

...

  1. london.

...

  1. example.

...

  1. com
    
    veeam.infrastructure.datacenter.2=Frankfurt
    veeam.infrastructure.veeamhost.2=

...

  1. veeam02.

...

  1. frankfurt.

...

  1. example.

...

  1. com
  2. 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.

    Code Block
    veeam.infrastructure.hypervisor=myvCenter1.example.com,myvCenter2.example.com
  3. To control backup expiration times in Veeam, use properties to set maximum restore points.

...

  1. Code Block
    languagejs

...

  1. ## Set the default maximum restore points

...

  1.  for the system
    veeam.maxrestorepoints=3
    
    ## Set the maximum restore points for each schedule type
    veeam.maxrestorepoints.schedule.daily=

...

  1. 8
    veeam.maxrestorepoints.schedule.

...

  1. weekly=

...

  1. 5
    veeam.maxrestorepoints.schedule.monthly=3
    
    

...

  1. ## Set the maximum restore points for a specific 

...

  1. policy, e.g. "

...

  1. MYPOLICY", 
    ## with preference over other properties
    

...

  1. veeam.maxrestorepoints.policycode.

...

  1. MYPOLICY = 5
  2. Set the name of the

...

  1. placeholder backup job for your hypervisor

    Code Block
    ## Veeam api does not allow us to create new jobs, only clone the
    ## existing jobs. So Veeam needs a 

...

  1. placeholder job (disabled) on each Veeam
    ## host in order to clone it to create new jobs.
    
    veeam.dummy.vmware.name=Abiquo 

...

  1. dummy VMWare Job
  2. Set the name of the backup repository for the

...

  1. placeholder backup job, to match the job's Backup repository configuration on the Veeam server. For example, if you are using a repository called

...

  1. Default Backup Repository

...

  1. .

    Code Block
    veeam.dummy.vmware.repository=Default Backup Repository

    If you need to change the backup repository, remember to change this property.

    (warning) If you have one Entity Manager for two Veeam servers, the backup repositories in the veeam.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.

  2. For Veeam v11, set the API version

    Code Block
    avbc.veeam.restapi.version=v1_5
  3. Optionally, set other properties, according to your environment:

    Code Block
    languagejs
    # JOBS CONFIGURATION
    
    ## Since veeam api does not allow to create new jobs, only clone the
    ## existent jobs. The veeam needs a 

...

  1. placeholder 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
    
    

...

  1. veeam.dummy.vmware.name=Abiquo 

...

  1. dummy VMWare Job
    

...

  1. veeam.dummy.vmware.repository=Default Backup Repository
    
    #veeam.dummy.hyperv.name=Abiquo 

...

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

...

  1. veeam.request.async.maxinterval=60000
    

...

  1. veeam.request.async.mininterval=5000
    
    ## Maximum of time spent to retrieve the task result
    

...

  1. veeam.request.async.totaltimeout=300000
    
    ## Timeout properties for synchronous request to Veeam api
    

...

  1. veeam.client.connect.timeout=6000
    

...

  1. veeam.client.read.timeout=10000
    
    ## Cache expiry time in milliseconds
    

...

  1. 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 In Abiquo, you will create backup policies for users to assign to their VMs. Abiquo will use the Code of the policy to identify which Veeam job to clone . This enables Abiquo to support retention time but it does not affect previously existing backup jobs of current VMs.

...

to create the backup. So create a backup job for each policy that you will create in Abiquo.

...

Warning

Backup policy code must match Veeam job

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.

Warning

Disabled backups remain on disk
When a user removes a backup policy from a VM, Abiquo changes the name to disable and remove it from the next run. However, Abiquo does not detach the backup from the disabled job, so the backups stay on the disk forever.

For each backup policy you will create in Abiquo:

  1. On the Veeam Backup and Replication server for the Abiquo datacenter, clone the original Abiquo dummy placeholder job

  2. Rename the new job to a name that will exactly match the

...

  1. policy Code of an Abiquo backup policy in the Abiquo datacenter

  2. To set how many backups should be kept on the server, go to Job → Edit → Storage and set Restore points to keep on disk

...

  1. Note the code and details to enter in your backup policy in Abiquo

Later, in Abiquo, after you create a Backup manager, create your backup policies with the right Code and

...

make them available to users. See Backup and Create a backup policy

When users select this a policy with the code, the platform will use the appropriate Veeam job.

See Create a backup policy

...

Configure backup properties for Veeam

In Abiquo configure backup policies

  1. Go to to InfrastructureBackupBackup policies

  2. Click the Edit properties button

  3. Select the required options.
    We recommend Enable update while deployed

...

  1. to be able to add a backup policy when a VM is on.

  2. Click Save

...

Configure Abiquo properties

To configure Abiquo properties for Veeam:

  1. Log in to the Remote Services server

  2. Edit the abiquo.properties file

  3. To activate the backup plugin and define the location of the properties file:

    1. Set

...

    1. the abiquo.backup.veaam.config.path property in the following format

      Code Block
      languagejs
      abiquo.backup.veeam.config.path=/opt/abiquo/config/veeam.properties
  1. Make sure that the folder

...

  1. /opt/abiquo/config/

...

  1. is owned by the tomcat user

...

  1. Optionally, set the other abiquo.properties for your Veeam plugin version

...

  1. of veeam95u4 (Veeam 9.5u4) or veeam10 (Veeam 10, Veeam 11).

    1. abiquo.nars.async.pool.{backupplugin-Version}.max

    2. abiquo.nars.async.pool.{backupplugin-Version}.byvdc

    3. abiquo.virtualfactory.{backupplugin-Version}.backup.openSession

    4. 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 abiquo.properties file to take effect..

...

Upgrade Veeam version

See also 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:

  1. Obtain the new backup plugin license from Abiquo Customer Service

  2. Check properties for the veeam.properties file and add any new properties, as described below

    1. For example, the hypervisor property, which was added in Abiquo v5.1.1

    2. Also check the API version

  3. Change the optional abiquo.properties to match your Veaam version, as described below

  4. In Abiquo, delete the old backup manager and create a new backup manager

    1. Enter the endpoint for Veeam, for example, for Veeam 10 you should use an HTTPS connection to the default port of 9398, for example:

      Code Block
      https://veeam.example.com:9398/api/

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

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