cloudstack/plugins
Rohit Yadav 85765c3125
backup: simple NAS backup plugin for KVM (#9451)
This is a simple NAS backup plugin for KVM which may be later expanded for other hypervisors. This backup plugin aims to use shared NAS storage on KVM hosts such as NFS (or CephFS and others in future), which is used to backup fully cloned VMs for backup & restore operations. This may NOT be as efficient and performant as some of the other B&R providers, but maybe useful for some KVM environments who are okay to only have full-instance backups and limited functionality.

Design & Implementation follows the `networker` B&R plugin, which is simply:

- Implement B&R plugin interfaces
- Use cmd-answer pattern to execute backup and restore operations on KVM host when VM is running (or needs to be restored) - instead of a B&R API client, relies on answers from KVM agent which executes the operations
- Backups are full VM domain snapshots, copied to a VM-specific folders on a NAS target (NFS) along with a domain XML
- Backup uses libvirt feature: https://libvirt.org/kbase/live_full_disk_backup.html orchestrated via virsh/bash script (nasbackup.sh) as the libvirt-java lacks the bindings
- Supported instance volume storage for restore operations: NFS & local storage

Refer the doc PR for feature limitations and usage details:
https://github.com/apache/cloudstack-documentation/pull/429

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Co-authored-by: Pearl Dsilva <pearl1594@gmail.com>
Co-authored-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>
2024-09-05 22:19:13 +05:30
..
acl Updating pom.xml version numbers for release 4.19.2.0-SNAPSHOT 2024-07-19 10:29:26 +05:30
affinity-group-processors server: do not check affinity groups if no vm group mappings (#9542) 2024-08-21 10:27:33 +02:00
alert-handlers Updating pom.xml version numbers for release 4.19.2.0-SNAPSHOT 2024-07-19 10:29:26 +05:30
api Build: drop EL7 support, support JRE17 for packages and sonar check (#8609) 2024-08-27 16:09:10 +05:30
backup backup: simple NAS backup plugin for KVM (#9451) 2024-09-05 22:19:13 +05:30
ca/root-ca Updating pom.xml version numbers for release 4.19.2.0-SNAPSHOT 2024-07-19 10:29:26 +05:30
database Improvements to quota tariffs APIs and UI (#9225) 2024-08-15 14:16:44 -03:00
dedicated-resources Updating pom.xml version numbers for release 4.19.2.0-SNAPSHOT 2024-07-19 10:29:26 +05:30
deployment-planners Updating pom.xml version numbers for release 4.19.2.0-SNAPSHOT 2024-07-19 10:29:26 +05:30
drs/cluster Updating pom.xml version numbers for release 4.19.2.0-SNAPSHOT 2024-07-19 10:29:26 +05:30
event-bus add domainpath to WebhookResponse 2024-08-26 18:10:32 +02:00
ha-planners/skip-heurestics Updating pom.xml version numbers for release 4.19.2.0-SNAPSHOT 2024-07-19 10:29:26 +05:30
host-allocators/random Updating pom.xml version numbers for release 4.19.2.0-SNAPSHOT 2024-07-19 10:29:26 +05:30
hypervisors backup: simple NAS backup plugin for KVM (#9451) 2024-09-05 22:19:13 +05:30
integrations Shared Network Firewall (Security groups) in Advanced zone without security groups (#9415) 2024-09-05 10:35:05 +02:00
metrics feature: Shared Storage Filesystem as a First Class Feature (#9208) 2024-09-05 17:22:32 +05:30
network-elements framework/db: use HikariCP as default and improvements (#9518) 2024-09-05 09:36:58 +05:30
outofbandmanagement-drivers Updating pom.xml version numbers for release 4.19.2.0-SNAPSHOT 2024-07-19 10:29:26 +05:30
shutdown Updating pom.xml version numbers for release 4.19.2.0-SNAPSHOT 2024-07-19 10:29:26 +05:30
storage storage/object: Add support for Ceph RGW Object Store (#8389) 2024-09-05 17:58:39 +05:30
storage-allocators/random Updating pom.xml version numbers for release 4.19.2.0-SNAPSHOT 2024-07-19 10:29:26 +05:30
user-authenticators Go back to default timestamp on logging (#8925) 2024-09-05 09:13:04 +02:00
user-two-factor-authenticators Updating pom.xml version numbers for release 4.19.2.0-SNAPSHOT 2024-07-19 10:29:26 +05:30
pom.xml backup: simple NAS backup plugin for KVM (#9451) 2024-09-05 22:19:13 +05:30