...
- createBackup: creates an adhoc backup for a VM
- deleteVMBackupdeleteBackup: deletes a VM backup (not support for per restore point for Veeam, it should use the removeVMFromBackupOffering API)
- listBackups: lists backups
- restoreBackup: restore a previous VM backup in-place of a stopped or destroyed VM
- restoreVolumeFromBackup: restore and attach a backed-up volume (of a VM backup) to a specified VM
...
- createBackupSchedule: creates a backup schedule for a VM
- updateBackupSchedule: updates backup schedule
- listBackupSchedule: returns backup schedule of a VM if defined
- deleteBackupSchedule: deletes backup schedule of a VM
Notes and assumptions:
- The backup schedule defines a CloudStack driven backup schedule where CloudStack will schedule/start adhoc backups based on provided interval/schedule for a VM.
- The backup schedule runs in addition to operator-defined settings for an external backup job/offering which may enforce its own schedule and retention limit (such as the number of backups to keep).
- Constraints:
- VM can only have a single backup container/veeam job, i.e. a single backup offering
- VM with backup offerings/backups not allowed to attach/detach volumes (like VM snapshots)
- For disabled zone, disabled account or missing VM or missing backup offering, backup and backup schedules are skipped
- Only one backup schedule per VM (unlike recurring snapshots that allows for multiple schedules/policies)
Schema
This feature introduces changes in the schema, adding the following entities:
- Backup table: backups
- Backup schedule table: backup_schedule
- Backup Offering: backup_offering
- Backup usage helper table: usage_backup
- Changes in user_vm_view to allow listing of backup offering/name in listVirtualMachines response
Backup and Recovery Providers
...