-
Task
-
Resolution: Unresolved
-
Undefined
-
None
-
None
-
None
-
Quality / Stability / Reliability
-
False
-
-
False
-
Not Selected
-
ToDo
-
-
-
Very Likely
-
0
-
None
-
Unset
-
Unknown
-
None
VolumeGroupSnapshot Support Design Implementation
Based on Velero PR: #8778
Related Issue: #8447
Overview
This epic implements VolumeGroupSnapshot (VGS) support in OADP/Velero, extending the platform to support grouped snapshots using the Kubernetes VolumeGroupSnapshot API. This feature allows users to group PVCs by specifying a label key, ensuring that all related PVCs are snapshotted together for data consistency.
Key Features
Grouped PVC Snapshots
- Group PVCs using label-based selection
- Ensure atomic snapshot operations for related volumes
- Maintain data consistency across grouped volumes
- Support for application-aware backup strategies
Workflow Integration
- Updates existing backup workflows to handle VGS objects
- Seamless integration with current Velero backup processes
- Enhanced backup plugins for VGS support
- Restore workflow compatibility (VGS not required on restore)
Technical Implementation
Backup Workflow Updates
- Detection and grouping of PVCs based on specified labels
- Creation of VolumeGroupSnapshot objects during backup
- Integration with existing volume snapshot mechanisms
- Plugin architecture enhancements for VGS handling
Plugin Development
- New backup plugins for VGS object processing
- Updates to existing volume snapshot plugins
- Restore plugin compatibility considerations
- Backwards compatibility with non-VGS environments
Design Considerations
Label-Based Grouping
- Flexible label key specification for PVC grouping
- Support for multiple grouping strategies
- Validation of grouped PVC relationships
- Error handling for incomplete groups
Data Consistency
- Atomic snapshot operations across grouped volumes
- Point-in-time consistency guarantees
- Handling of cross-volume dependencies
- Application quiescing considerations
Backwards Compatibility
- Non-breaking changes to existing workflows
- Graceful degradation in environments without VGS support
- Migration path for existing backup configurations
- Compatibility with older Kubernetes versions
Performance and Requirements
Performance Considerations
- Optimized snapshot creation for grouped volumes
- Reduced backup time through parallel operations
- Resource utilization optimization
- Scalability with large volume groups
Requirements
- Kubernetes VolumeGroupSnapshot API availability
- Compatible CSI drivers with VGS support
- Appropriate RBAC permissions for VGS operations
- Storage backend support for grouped snapshots
Testing Strategy
- Unit tests for VGS workflow components
- Integration tests with various CSI drivers
- End-to-end testing with real applications
- Performance benchmarking for grouped operations
- Backwards compatibility validation
Target Release
- Implementation target: OADP 1.6.0
- Merged upstream: June 4, 2025
Benefits
- Enhanced data consistency for multi-volume applications
- Improved backup reliability for complex workloads
- Simplified backup configuration for grouped resources
- Better support for stateful applications with multiple volumes
- relates to
-
OADP-6581 VolumeGroupSnapshot Support Implementation
-
- In Progress
-