Skip to main content
Version: 31.1.0

a9s Backup Manager

This documentation describes the a9s Backup Manager service. The a9s Backup Manager is responsible for orchestrating the creation, the restoring and the deletion of Backups of Service Instances created by the a9s Data Service Framework.

Backup Manager Worker

Creating, deleting and checking the status of a backup is done in workers. To not block each other, by default there are 4 workers.

One worker for:

  • creating the backups and checking for the status of backups.
  • checking the status of restores.
  • deleting old backups.
  • all tasks.

It is possible to configure these in the manifest with the anynines-backup-manager.workers property. The following options are supported:

  • queues: A comma separated list of queue names whose jobs are to be processed by this worker group.
  • count: Number of workers to process the jobs in the queues. If not set, only one worker will be used.

Example:

[{ queues: "<queue-name-1>, <queue-name-2>" }, { queues: "<queue-name-3>", count: 3 }]

Please see existing queues below.

backup_all_job

This queue initializes a full backup of all Service Instances of all configured Service Brokers. The actual backup is not performed in this queue.

backup_agent_backups

This queue prepared the needed backup information and sends the backup request to the Backup Agent of the Service Instance which should get backed up.

Configurable Attributes

Maximum Attempts

This property represents the maximum attempts the backup_agent_backups job will retry when an error occurs along the jobs processing. This default value is 5 and it must be configured directly in the a9s Backup Manager BOSH release.

Example:

# backup-service.yml

(...)

instance_groups:
- name: backup-manager
(...)
jobs:
- name: anynines-backup-manager
properties:
anynines-backup-manager:
jobs.backup_agent:
max_attempts: 5

(...)

Known Issues

When the max_attempts property value is too high (e.g. 32) the job queues might increase too much, leading to a bottleneck when processing the big amount of jobs.

backup_watcher_job

This queue asks the Backup Agent of the Service Instance for the status of the actual backup. It only talks to Service Instances where a backup is currently performed.

restore_watcher_job

This queue asks the Backup Agent of the Service Instance for the status of the actual restore. It only talks to Service Instances where a restore is currently performed.

initialize_backup_deletion_job

This queue evaluates all Service Instances that have backups which can be deleted.

backup_deleter_job

This queue deletes backups from Service Instances. This happens only if there are a given amount of newer backups available.

update_instance_state_job

This queue asks for all instances that got deleted since the last request. The result is used to delete backups of deleted Service Instances.

Service Broker Configuration

The a9s Backup Manager relies on the a9s Service Brokers of the different Data Services provided by a9s Data Service Framework to have an up-to-date list of deployed Service Instances. Backups can only be created for Service Instances that are known by the a9s Backup Manager.

For further information, please have a look here.