Uploaded image for project: 'OpenShift API for Data Protection'
  1. OpenShift API for Data Protection
  2. OADP-6717

[Documentation for] VolumeGroupSnapshot Support Implementation

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • OADP 1.6.0
    • None
    • None
    • None
    • Quality / Stability / Reliability
    • False
    • Hide

      None

      Show
      None
    • 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

              rhn-support-anarnold A Arnold
              talayan@redhat.com Tareq Alayan
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: