The NAS Backup and Recovery Plugin was introduced in Apache CloudStack 4.20 to provide a native backup and restore mechanism for Instances using NAS-based repositories. Since its initial release, the plugin has evolved to support additional storage types, improve operational flexibility, and address real-world backup and recovery requirements observed in production environments.
This article summarises the key improvements introduced since CloudStack 4.20, with a focus on functionality added in versions 4.21 and 4.22.
Create a new Instance from Backup
The ability to create a new Instance from an existing backup was introduced in CloudStack 4.21.0 for the following backup providers:
- Dummy
- NAS (NFS Storage)
- Veeam Backup and Replication
Administrators can navigate to Storage > Backups, Select a backup, and Create a new Instance directly from it.
Starting with CloudStack 4.22.0, a new Instance can also be created in a different Zone. To enable this:
- The Backup Repository must have the cross-Zone Instance creation flag enabled.
- The repository must be accessible to Hosts in the target Zone.
Additionally, it is possible to reuse the original IP address during Instance creation if the Instance associated with the backup has already been expunged.
Remove a Backup Offering without affecting existing backups
From CloudStack 4.21.0, a Backup Offering can be removed from an Instance without impacting existing backups.
After removal:
- A new Backup Offering can be assigned to the Instance, or
- The Instance can be expunged entirely
In both cases, previously created backups remain intact and usable. Backups associated with the removed Backup Offering can still be used to create new instances.
Improved backup usage tracking
Starting with CloudStack 4.21.0, backup usage is tracked per Instance-Backup Offering pair, rather than only per Instance.
This allows:
- A single instance to have backups associated with multiple Backup Offerings
- Usage tracking and billing to be calculated independently for each offering
This improvement enables more accurate accounting and flexible commercial models for backup services.
Quiesce Instances during backup operations
The option to quiesce an Instance during backup was added in CloudStack 4.21.0. This option is available:
- When taking manual backups
- When defining backup schedules
To use this feature, the instance must have the QEMU Guest Agent installed. The Instance is frozen only during the checkpointing phase of the backup, which is brief. This ensures file system consistent backups.
For application-consistent backups, administrators can use QEMU Guest Agent freeze and thaw hook scripts to integrate application-level logic.
Support for Shared Mount Point Primary Storage
In CloudStack 4.20.2, the NAS backup provider was enhanced to support backup and restore operations for Instances using Shared Mount Point Primary Storage.
This improvement expands the range of storage that can be protected using the NAS Backup and Recovery Plugin.
Support for Ceph-based Primary Storage
In CloudStack 4.22.0, the NAS backup provider gained support for Ceph-based primary storage. This includes:
- Restoring volumes from NAS backups to Ceph storage pools
- Taking backups of stopped instances whose volumes reside on Ceph storage pools
Instance backups are full disk backups exported in qcow2 format. During restore operations, volumes on Ceph primary storage pools that use the raw format are converted from qcow2 to raw using the qemu-img convert command.
Backup Repository view relocated in the UI
In CloudStack 4.22.0, the Backup Repository UI view was moved from the Configuration section to the Infrastructure section.
Additionally:
- The listInfrastructure API now returns the number of configured Backup Repositories
- This information is displayed in the Infrastructure Summary page, improving visibility of backup resources at a glance
Conclusion
Since its introduction in CloudStack 4.20, the NAS Backup and Recovery Plugin has matured significantly. Improvements delivered in versions 4.21 and 4.22 extend support to additional storage backends, improve usage tracking and billing accuracy, and add practical features such as cross-Zone restores and Instance quiescing.
Together, these enhancements make the plugin more suitable for production environments that require reliable, flexible, and scalable Backup and Recovery capabilities across diverse storage architectures.
Suresh Anaparti has over 15 years of end-to-end product development experience in Cloud Infrastructure, Telecom and Geospatial technologies. He is an active Apache CloudStack committer. He has been working on CloudStack development for more than 5 years.
You can learn more about Suresh and his background by reading his Meet The Team blog.