one
one copied to clipboard
Improved Backup Interface
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
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)
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.
:+1: 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.
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.
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.
OpenNebula communicates that it is a tool that can replace VMware but without the possibility of exporting its backup to third-party software, it will be very very complicated to recover many customers. The backup part is too underestimated by the OpenNebula teams. When we see the work that has been done on OLVM / Ovirt / Promox for the addition of incremental backups, OpenNebula is already behind these main competitors. Switching to production on OpenNebula is very complicated for operators.
Hi thanks for your feedback, most of the features mentioned in this issue have been implemented. The new backup interface for OpenNebula uses the datastore abstraction to define multiple backup locations, and common image operations to manage backups, also we implemented a new driver API to provide integration with third party tools. The next release will include a rsync driver for CE and a restic integration for EE that uses incremental backups, deduplication etc...
We just sync one master branch so you can check the details about the implementation (see e433ccb85bc9cf8e05c4740e2b819fe17f0e0675) . Documentation of the feature will be able in the following weeks, and it will be released.
Cheers
Hi Ruben,
Thank you for this answer. When do you think these features will be available to those with enterprise support? I really need these features to switch to production and then order new KVM license.
Today my OpenNebula KVM clusters only contain dev machines, no production machine has gone to OpenNebula without the possibility of backing up the machines incrementally.
Hoping this happens very soon.
Best regards
Yes this is going to be in 6.6. released this quarter :)
Hi Ruben,
i see nothing about the incremental backups and deduplication in your files. Another question, we're on the last version of KVM OpenNebula but i see that we're using a old version of libvirt and qemu ?? Why your are not upgrade the version of libvirt ? With the new version we can use the incremental backup with the feature of snapshot :)
https://libvirt.org/kbase/live_full_disk_backup.html
regard
More things to have in consideration on FSunstone:
- [x] When clicking on the backup image on the backup list of the VM, go to the backup information tab
- [x] Auto-select the first available backup datastore
- [x] Add supported hypervisor settings for live backups.
FSunstone and RSunstone PRs related to this issue:
- https://github.com/OpenNebula/one-ee/pull/2313
- https://github.com/OpenNebula/one-ee/pull/2317
- https://github.com/OpenNebula/one-ee/pull/2325
- https://github.com/OpenNebula/one-ee/pull/2330
- https://github.com/OpenNebula/one-ee/pull/2337
- https://github.com/OpenNebula/one-ee/pull/2341 (Only for v6.4)
- https://github.com/OpenNebula/one-ee/pull/2346
- https://github.com/OpenNebula/one-ee/pull/2347
- https://github.com/OpenNebula/one-ee/pull/2348
- https://github.com/OpenNebula/one-ee/pull/2353
- https://github.com/OpenNebula/one-ee/pull/2355
- https://github.com/OpenNebula/one-ee/pull/2371
- [x] Functionality incremental tests (Pavel)
- [x] Integration tests restic (Dani)
- [x] Integration tests rsync (Neal)
- [x] FSunstone tests (Frederick)
Sunstone PRs:
-
Code:
- https://github.com/OpenNebula/one-ee/pull/2313
- https://github.com/OpenNebula/one-ee/pull/2317
- https://github.com/OpenNebula/one-ee/pull/2325
- https://github.com/OpenNebula/one-ee/pull/2330
- https://github.com/OpenNebula/one-ee/pull/2337
- https://github.com/OpenNebula/one-ee/pull/2341
- https://github.com/OpenNebula/one-ee/pull/2346
- https://github.com/OpenNebula/one-ee/pull/2347
- https://github.com/OpenNebula/one-ee/pull/2348
- https://github.com/OpenNebula/one-ee/pull/2353
- https://github.com/OpenNebula/one-ee/pull/2355
- https://github.com/OpenNebula/one-ee/pull/2371
- https://github.com/OpenNebula/one-ee/pull/2391
-
Test: https://github.com/OpenNebula/development/pull/2148
hi,
is there any documentation available on how to use the new API as a third party backup vendor? Thanks
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.