Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improved Backup Interface #5516

Closed
1 of 7 tasks
rsmontero opened this issue Aug 31, 2021 · 15 comments
Closed
1 of 7 tasks

Improved Backup Interface #5516

rsmontero opened this issue Aug 31, 2021 · 15 comments

Comments

@rsmontero
Copy link
Member

rsmontero commented Aug 31, 2021

Description
Improve Backup interface to add additional functionality including:

  • Retention time. How long or how many backups are kept. Automatically clean older backups
  • Adapt restore interface to manage multiple backups
  • Adapt one-shot backups to add a new entry in the backup list
  • Add a new quota to limit the number of backups or number of VMs with backups
  • Adapt Sunstone interface to previous modifications
  • Allow backups to be performed live if possible (e.g. configurable per VM or hypervisor)

Use case
Improve backup experience

Interface Changes
VM metadata needs to be changed to accommodate more backups. Possible new Quota. Possible new API operations.

Additional Context
NaN

Progress Status

  • Branch created
  • Code committed to development branch
  • Testing - QA
  • Documentation
  • Release notes - resolved issues, compatibility, known issues
  • Code committed to upstream release/hotfix branches
  • Documentation committed to upstream release/hotfix branches
@rene-bayer
Copy link
Contributor

Further improvements:

  • It should be possible, that a user can configure and control the backup on its own
  • add the possibility to do "dirty" backups (don't poweroff the vm for snapshoting)

@abbbi
Copy link

abbbi commented Sep 2, 2021

Please think about third party backup vendors,.. It would be really good to have sort of an backup API available that could be used by external software components to create off-site backups, store them on Tape, etc. Recent Libvirt/QEMU versions already support incremental backup via NBD. RHEV and other HV solutions already provide an API interface for third party vendors.

@atodorov-storpool
Copy link
Contributor

👍 second to both additions
Also, the "backend" (a.k.a. the private marketplace) drivers should be opened for external drivers too. The current three ones are hard-coded on too many places leading to difficult if not impossible to create an additional one.

@loizo-hk
Copy link

Off-site backup is very important for our Disaster Recovery plan.

We are working on pull mod, the backup server gets the data from the production server. If our production server is infected by a ransomware or hacked or destroyed, we absolutely need to keep it back alive quickly from a trusted source. The private marketplace is not sufficient for us.

A real backup interface with snapshot date and a local dedicated datastore with all the vm information (name / id / disk / xml files) and the possibility to decide if we want a full or incremental backup and the retention delay (every day snapshot + weekly full backup or blockcommit for example) could be really great.

And please the most important thing allow us to use a datastore and not only the private marketplace.

rsmontero added a commit that referenced this issue Nov 22, 2022
* By default use cache mode none and io native
* Option to choose from async io for read commands
* Create a single io script for qemu-io
* Fix error in ceph prebackup
rsmontero pushed a commit that referenced this issue Nov 22, 2022
rsmontero pushed a commit that referenced this issue Nov 22, 2022
* Dummy drivers for backup/restore
* Sync backup ADMIN rights with oned.conf
rsmontero added a commit to OpenNebula/docs that referenced this issue Dec 1, 2022
rsmontero added a commit to OpenNebula/docs that referenced this issue Dec 1, 2022
rsmontero added a commit to OpenNebula/docs that referenced this issue Dec 1, 2022
rsmontero added a commit to OpenNebula/docs that referenced this issue Dec 1, 2022
rsmontero added a commit to OpenNebula/docs that referenced this issue Dec 5, 2022
rsmontero pushed a commit that referenced this issue Dec 5, 2022
rsmontero added a commit that referenced this issue Dec 12, 2022
- Qemu will terminate VMs with system snapshots and checkpoints, example:

libvirtd[7446]: internal error: qemu unexpectedly closed the monitor: 2022-12-07T16:06:59.603678Z qemu-kvm-one: Device has active dirty bitmaps.

- Also disk snapshots may render inconsistent bitmaps, example:

'virsh --connect qemu:///system checkpoint-delete 45d76e5f-25fa-416a-97fd-1624380d5e02 one-191-0':   error: Failed to delete checkpoint one-191-0 error: internal error: unable to execute QEMU command 'query-named-block-nodes': Bitmap '' doesn't satisfy the constraints Error preparing disk files

This commits prevents snapshot operations when increment backups are configured, and vice versa.
onenhansen added a commit to OpenNebula/docs that referenced this issue Dec 15, 2022
dann1 added a commit to dann1/docs that referenced this issue Dec 20, 2022
dann1 added a commit to dann1/docs that referenced this issue Dec 20, 2022
@tinova tinova modified the milestones: Release 6.6, Release 6.6.1 Dec 21, 2022
@abbbi
Copy link

abbbi commented Feb 8, 2023

hi,

is there any documentation available on how to use the new API as a third party backup vendor? Thanks

@dann1
Copy link
Contributor

dann1 commented Feb 8, 2023

hi,

is there any documentation available on how to use the new API as a third party backup vendor? Thanks

You can take a look at the backup driver devel documentation and create your own driver considering the arguments and the outputs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment