a9s Backup Manager BOSH Properties
Backup Manager Worker
The a9s Backup Manager employs workers to manage a backup's creation, deletion and overall status monitoring. To ensure that tasks do not block another one, the a9s Backup Manager has a minimum of 4 workers by default:
- One to create backups and monitor their status.
- One to monitor the status of restores.
- One to delete old backups.
- One to all tasks.
It is possible to configure these workers in the manifest using 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. Please see Queues for further information.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 }]
Queues
You can find the existing a9s Backup Manager worker queues below.
Name | Purpose |
---|---|
backup_all_job | 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 | Prepares the necessary backup information and sends the backup request to the Backup Agent of the Service Instance which should be backed up. |
backup_watcher_job | Requests the status of the current backup from the Service Instance's Backup Agent. It only talks to Service Instances where a backup is currently performed. |
restore_watcher_job | Requests the status of the current restore from the Service Instance's Backup Agent. It only talks to Service Instances where a restore is currently performed. |
initialize_backup_deletion_job | Evaluates all Service Instances that have backups which can be deleted. |
backup_deleter_job | Deletes backups from Service Instances. This only happens if there is a given amount of newer backups available. |
update_instance_state_job | Asks for all instances that got deleted since the last request. The result is used to delete backups of deleted Service Instances. |
Configurable Properties
The following table lists the configurable properties of the a9s Backup Manager. These properties must be configured directly in the a9s Backup Manager BOSH release.
Name | Type | Default Value | Description |
---|---|---|---|
max_attempts | Integer | 5 | Maximum attempts the backup_agent_backups job will retry when an error occurs along the jobs processing. |
parallel_manual_backup_tasks | Integer | -2 | Maximum number of parallel manually triggered backup tasks. The accepted values are: >= 1 as a limit, -1 to disable the limitation and -2 follows the same limitations as the automatic backups |
shared_parallel_backup_tasks | Integer | 5 | Default global maximum number of parallelly running backup tasks |
backups.cleanup_table_waiting_time | Integer | 180 | The number of days after which deleted backups are removed from the database. |
The limits of the automatic backups are related to the following properties:
shared_parallel_backup_tasks
, which acts as a global limitparallel_backups_limit
, which is a per Data Service limit, and part of theService Broker Configuration
hash. When set,shared_parallel_backup_tasks
is ignored in favor of it. For more details on how to set this property see here.
Example:
# backup-service.yml
(...)
instance_groups:
- name: backup-manager
(...)
jobs:
- name: anynines-backup-manager
properties:
anynines-backup-manager:
shared_parallel_backup_tasks: 5
parallel_manual_backup_tasks: -2
jobs.backup_agent:
max_attempts: 5
(...)
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.
Service Broker Configuration
The a9s Backup Manager relies on the a9s Service Brokers of the different Data Services that are provided by the 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.
TLS Configuration
The a9s Backup Manager comes with TLS (HTTPS) enabled for its API by default.
The a9s Backup Manger is configured to listen to HTTP and HTTPS by default since some components still rely on HTTP communication with this service. HTTP will be disabled by default in coming releases.
anynines-backup-manager.protocols
For more details on this property, please refer to the a9s Framework TLS configuration documentation.