Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] v2 volume supports volume backup/restore #6138

Closed
9 tasks done
derekbit opened this issue Jun 16, 2023 · 7 comments
Closed
9 tasks done

[FEATURE] v2 volume supports volume backup/restore #6138

derekbit opened this issue Jun 16, 2023 · 7 comments
Assignees
Labels
area/v2-data-engine v2 data engine (SPDK) area/volume-backup-restore Volume backup restore highlight Important feature/issue to highlight kind/feature Feature request, new feature priority/0 Must be fixed in this release (managed by PO) require/auto-e2e-test Require adding/updating auto e2e test cases if they can be automated require/doc Require updating the longhorn.io documentation require/lep Require adding/updating enhancement proposal
Milestone

Comments

@derekbit
Copy link
Member

derekbit commented Jun 16, 2023

Is your feature request related to a problem? Please describe (馃憤 if you like this request)

SPDK volumes support volume incremental/delta backup, and full/incremental (DR) restore.

Sub-tasks

Describe the solution you'd like

A clear and concise description of what you want to happen

Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

Additional context

Add any other context or screenshots about the feature request here.

@derekbit derekbit added kind/feature Feature request, new feature area/volume-backup-restore Volume backup restore area/v2-data-engine v2 data engine (SPDK) labels Jun 16, 2023
@innobead innobead added this to the v1.6.0 milestone Jun 17, 2023
@innobead innobead added the priority/0 Must be fixed in this release (managed by PO) label Jun 17, 2023
@innobead
Copy link
Member

This probably needs to work with @shuo-wu, @DamiaSan or @james-munson .

@longhorn-io-github-bot
Copy link

longhorn-io-github-bot commented Sep 6, 2023

Pre Ready-For-Testing Checklist

  • Where is the reproduce steps/test steps documented?
    The reproduce steps/test steps are at:

Use the UI image (derekbit/longhorn-ui:backup-1) for the following tests

  1. Backup: Test the backup of v2 volumes as v1 volumes
  2. Restore
    • Restore v2 volume's backup to v2 volume
    • Restore v2 volume's backup to v1 volume
    • Restore v1 volume's backup to v1 volume
    • Restore v1 volume's backup to v2 volume
  • Does the PR include the explanation for the fix or the feature?

  • Have the backend code been merged (Manager, Engine, Instance Manager, BackupStore etc) (including backport-needed/*)?
    The PR is at

longhorn/spdk#17
longhorn/spdk#18

longhorn/go-spdk-helper#45
longhorn/go-spdk-helper#46

longhorn/longhorn-spdk-engine#61
longhorn/longhorn-spdk-engine#85
longhorn/longhorn-instance-manager#282
longhorn/longhorn-manager#2137

  • Which areas/issues this PR might have potential impacts on?
    Area: v2 volume backup and full restore
    Issues

  • If labeled: require/LEP Has the Longhorn Enhancement Proposal PR submitted?
    The LEP PR is at

#6480

  • If labeled: area/ui Has the UI issue filed or ready to be merged (including backport-needed/*)?
    The UI issue/PR is at

  • If labeled: require/doc Has the necessary document PR submitted or merged (including backport-needed/*)?
    The documentation issue/PR is at

@innobead innobead added highlight Important feature/issue to highlight require/auto-e2e-test Require adding/updating auto e2e test cases if they can be automated require/doc Require updating the longhorn.io documentation require/lep Require adding/updating enhancement proposal labels Sep 14, 2023
@innobead innobead changed the title [FEATURE] SPDK volumes support volume backup/restore [FEATURE] v2 volume supports volume backup/restore Dec 24, 2023
@yangchiu
Copy link
Member

yangchiu commented Jan 4, 2024

Verified passed on master-head (longhorn-manager 970ba44) following the test plan.

@yangchiu yangchiu closed this as completed Jan 4, 2024
@khushboo-rancher
Copy link
Contributor

@yangchiu Have we tested the below scenarios:
Backup:

  1. Interrupting the v2 backup by deleting the replica responsible for backup when backup is in progress.
  2. Taking two v2 volumes's backups together.
  3. Triggering two v2 backups from two snapshots of same volume together.
  4. v2 Backup creation and backup deletion at same time.
  5. V2 Backup on S3 and NFS backupstore.
  6. Corrupting the backups on backupstore and verifying the state in Longhorn.
  7. Taking Backup after a failed backup creation.
  8. Some similar edge cases as above.

Restore:

  1. Restoring v1 volume backup crated in 1.5.x to v2 volume.
  2. Interrupt v2 restore by crashing the IM or rebooting the attached node.
  3. Restoring of v2 volume and deleting the same backup at same time.
  4. Consequently restoring after the step3.
  5. Restoring backup on another cluster.
  6. Randomly delete some blocks on backup in backupstore and try to restore the corrupted backup and restoring of subsequent backup.

@yangchiu yangchiu reopened this Jan 8, 2024
@yangchiu
Copy link
Member

yangchiu commented Jan 9, 2024

Backup:

1. Interrupting the v2 backup by deleting the replica responsible for backup when backup is in progress.

#7573 #7574 #7575

2. Taking two v2 volumes's backups together.

Pass

3. Triggering two v2 backups from two snapshots of same volume together.

Pass

4. v2 Backup creation and backup deletion at same time.

Pass

5. V2 Backup on S3 and NFS backupstore.

Pass

6. Corrupting the backups on backupstore and verifying the state in Longhorn.

#7583

7. Taking Backup after a failed backup creation.

Pass

8. Some similar edge cases as above.

Restore:

1. Restoring v1 volume backup crated in 1.5.x to v2 volume.

Pass

2. Interrupt v2 restore by crashing the IM or rebooting the attached node.

#7579 #7581

3. Restoring of v2 volume and deleting the same backup at same time.
4. Consequently restoring after the step3.

#7584

5. Restoring backup on another cluster.

Pass

6. Randomly delete some blocks on backup in backupstore and try to restore the corrupted backup and restoring of subsequent backup.

#7583

@innobead
Copy link
Member

innobead commented Jan 9, 2024

@yangchiu For the above tests, if not covered in automation yet, create a ticket for that.

@yangchiu
Copy link
Member

Related issues tracked by #6138 (comment). Close this for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/v2-data-engine v2 data engine (SPDK) area/volume-backup-restore Volume backup restore highlight Important feature/issue to highlight kind/feature Feature request, new feature priority/0 Must be fixed in this release (managed by PO) require/auto-e2e-test Require adding/updating auto e2e test cases if they can be automated require/doc Require updating the longhorn.io documentation require/lep Require adding/updating enhancement proposal
Projects
None yet
Development

No branches or pull requests

5 participants