IP Library Granted Patent US 12,229,010
Granted Patent B2
US 12,229,010 · App. 17/730,899 · Granted Feb 18, 2025

Volume group restore from remote object store

Inventors: Rakesh Bhargava M. R. (Karnataka, IN); Murali Subramanian (Karnataka, IN); Tijin George (Sunnyvale, CA); Ching-Yuk Paul Ngan (Redwood City, CA)
Assignee: NetApp, Inc.
G06F11/1448G06F2201/84
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,229,010
App. No.
17/730,899
Granted
Feb 18, 2025
Kind
B2
Abstract

Techniques are provided for volume group backup, volume group restore, and volume group garbage collection for volume groups backed up to an object store. A volume group workflow is implemented to orchestrate individual consistent volume workflows that are separately and individually implemented by nodes hosting constituent volumes of a volume group. The volume group workflow and the individual consistent volume workflows are performed to back up the volume group to the object store, restore a volume group backup from the object store to a restore destination, and/or perform garbage collection on slots of objects storing data unique to a volume group backup to delete.

Claims (66)

1. A method comprising:

receiving a request to perform a restore operation for a volume group backed up to an object store as a volume group backup composed of a plurality of constituent volume backups of a set of constituent volumes forming the volume group;

evaluating a metafile to identify geometry information describing how the volume group is composed of the set of constituent volumes backed up to the object store as the plurality of constituent volume backups;

generating a restore volume group comprising a set of restore constituent volumes according to the geometry information;

utilizing the metafile, comprising information related to the plurality of constituent volume backups and the volume group backup, to generate constituent volume restore workflows;

creating a group restore workflow to track and manage the constituent volume restore workflows;

executing, by a plurality of nodes, the constituent volume restore workflows to restore backup data from the plurality of constituent volume backups to the set of restore constituent volumes of the restore volume group, wherein a first node executes a first constituent volume restore workflow to restore a first consistent volume and a second node executes a second constituent volume restore workflow to restore a second constituent volume; and

in response to determining that the plurality of nodes successfully completed all constituent volume restore workflows to restore all restore constituent volumes of the restore volume group, indicating that the restore volume group has been successfully restored.

2. The method of claim 1 , comprising:

in response the set of restore constituent volumes being successfully restored by the nodes executing the constituent volume restore workflows, updating the group restore workflow to indicate that the restore volume group has been restored.

3. The method of claim 1 , comprising:

evaluating the metafile to identify a group root info object representing a volume group endpoint within the object store; and

utilizing the group root info object to generate constituent volume restore workflows.

4. The method of claim 1 , comprising:

evaluating the metafile to identify a constituent volume root info object per constituent volume endpoint within the object store; and

utilizing the constituent volume root info objects to generate constituent volume restore workflows.

5. The method of claim 1 , comprising:

evaluating the metafile to identify a group snapinfo object per constituent volume backup in the object store, wherein the group snapinfo objects are populated with group properties of the volume group backup; and

utilizing the group snapinfo objects to generate constituent volume restore workflows.

6. The method of claim 1 , wherein each node independently restores constituent volumes of the restore volume group, wherein the constituent volumes are restored upon in parallel.

7. A non-transitory machine readable medium comprising instructions for performing a method, which when executed by a machine, causes the machine to:

receive a request to perform a restore operation for a volume group backed up to an object store as a volume group backup composed of a plurality of constituent volume backups of a set of constituent volumes forming the volume group;

evaluate a metafile to identify geometry information describing how the volume group is composed of the set of constituent volumes backed up to the object store as the plurality of constituent volume backups;

generate a restore volume group comprising a set of restore constituent volumes according to the geometry information;

utilize the metafile, comprising information related to the plurality of constituent volume backups and the volume group backup, to generate constituent volume restore workflows;

create a group restore workflow to track and manage the constituent volume restore workflows;

execute, by a plurality of nodes, the constituent volume restore workflows to restore backup data from the plurality of constituent volume backups to the set of restore constituent volumes of the restore volume group, wherein a first node executes a first constituent volume restore workflow to restore a first consistent volume and a second node executes a second constituent volume restore workflow to restore a second constituent volume; and

in response to determining that the plurality of nodes successfully completed all constituent volume restore workflows to restore all restore constituent volumes of the restore volume group, indicate that the restore volume group has been successfully restored.

8. The non-transitory machine readable medium of claim 7 , wherein the instructions cause the machine to:

in response the set of restore constituent volumes being successfully restored by the nodes executing the constituent volume restore workflows, update the group restore workflow to indicate that the restore volume group has been restored.

9. The non-transitory machine readable medium of claim 7 , wherein the instructions cause the machine to:

evaluate the metafile to identify a group root info object representing a volume group endpoint within the object store; and

utilize the group root info object to generate constituent volume restore workflows.

10. The non-transitory machine readable medium of claim 7 , wherein the instructions cause the machine to:

evaluate the metafile to identify a constituent volume root info object per constituent volume endpoint within the object store; and

utilize the constituent volume root info objects to generate constituent volume restore workflows.

11. The non-transitory machine readable medium of claim 7 , wherein the instructions cause the machine to:

evaluate the metafile to identify a group snapinfo object per constituent volume backup in the object store, wherein the group snapinfo objects are populated with group properties of the volume group backup; and

utilize the group snapinfo objects to generate constituent volume restore workflows.

12. The non-transitory machine readable medium of claim 7 , wherein each node independently restores constituent volumes of the restore volume group, wherein the constituent volumes are restored upon in parallel.

13. A computing device comprising:

a memory comprising machine executable code for performing a method; and

a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to:

receive a request to perform a restore operation for a volume group backed up to an object store as a volume group backup composed of a plurality of constituent volume backups of a set of constituent volumes forming the volume group;

evaluate a metafile to identify geometry information describing how the volume group is composed of the set of constituent volumes backed up to the object store as the plurality of constituent volume backups;

generate a restore volume group comprising a set of restore constituent volumes according to the geometry information;

utilize the metafile, comprising information related to the plurality of constituent volume backups and the volume group backup, to generate constituent volume restore workflows;

create a group restore workflow to track and manage the constituent volume restore workflows;

execute, by a plurality of nodes, the constituent volume restore workflows to restore backup data from the plurality of constituent volume backups to the set of restore constituent volumes of the restore volume group, wherein a first node executes a first constituent volume restore workflow to restore a first consistent volume and a second node executes a second constituent volume restore workflow to restore a second constituent volume; and

in response to determining that the plurality of nodes successfully completed all constituent volume restore workflows to restore all restore constituent volumes of the restore volume group, indicate that the restore volume group has been successfully restored.

14. The computing device of claim 13 , wherein the machine executable code causes the processor to:

in response the set of restore constituent volumes being successfully restored by the nodes executing the constituent volume restore workflows, update the group restore workflow to indicate that the restore volume group has been restored.

15. The computing device of claim 13 , wherein the machine executable code causes the processor to:

evaluate the metafile to identify a group root info object representing a volume group endpoint within the object store; and

utilize the group root info object to generate constituent volume restore workflows.

16. The computing device of claim 13 , wherein the machine executable code causes the processor to:

evaluate the metafile to identify a constituent volume root info object per constituent volume endpoint within the object store; and

utilize the constituent volume root info objects to generate constituent volume restore workflows.

17. The computing device of claim 13 , wherein the machine executable code causes the processor to:

evaluate the metafile to identify a group snapinfo object per constituent volume backup in the object store, wherein the group snapinfo objects are populated with group properties of the volume group backup; and

utilize the group snapinfo objects to generate constituent volume restore workflows.

18. The computing device of claim 13 , wherein each node independently restores constituent volumes of the restore volume group, wherein the constituent volumes are restored upon in parallel.

19. The computing device of claim 13 , wherein the machine executable code causes the processor to:

utilize a group root info object to generate constituent volume restore workflows.

20. The computing device of claim 13 , wherein the machine executable code causes the processor to:

utilize a group snapinfo objects to generate constituent volume restore workflows.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2022
From: BHARGAVA M.R., RAKESH; SUBRAMANIAN, MURALI; GEORGE, TIJIN; NGAN, CHING-YUK PAUL
To: NETAPP INC.
Reel/Frame 059752/0794 →
Continuity (1)
Related Publication 20230350758A1 · Nov 2, 2023
References Cited (23)
US 10409692B1 · Brenner et al. · 2019 [cited by applicant]
US 10852976B2 · George et al. · 2020 [cited by applicant]
US 11016943B2 · George et al. · 2021 [cited by applicant]
US 11144498B2 · George et al. · 2021 [cited by applicant]
US 11188500B2 · Kushwah et al. · 2021 [cited by applicant]
US 11907116B2 · Bhargava M. R. et al. · 2024 [cited by applicant]
US 20130262800A1 · Goodman et al. · 2013 [cited by applicant]
US 20150278034A1 · Barnes · 2015 [cited by examiner]
US 20200019620A1 · Sarda et al. · 2020 [cited by applicant]
US 20200128024A1 · Kuramkote · 2020 [cited by examiner]
US 20200285410A1 · George · 2020 [cited by examiner]
US 20200285611A1 · George et al. · 2020 [cited by applicant]
US 20200285613A1 · George et al. · 2020 [cited by applicant]
US 20200285614A1 · George et al. · 2020 [cited by applicant]
US 20210406216A1 · Komatsu et al. · 2021 [cited by applicant]
US 20230350573A1 · Bhargava M. R. et al. · 2023 [cited by applicant]
US 20230350801A1 · Bhargava M. R. et al. · 2023 [cited by applicant]
Final Office Action mailed Aug. 28, 2023 for U.S. Appl. No. 17/730,643, filed Apr. 27, 2022, 17 pages. [cited by applicant]
Notice of Allowance mailed on Oct. 12, 2023 for U.S. Appl. No. 17/733,078, filed Apr. 29, 2022, 9 pages. [cited by applicant]
Co-pending U.S. Appl. No. 17/730,643, inventors Rakesh; Bhargava M.R. et al., filed on Apr. 27, 2022. [cited by applicant]
Co-pending U.S. Appl. No. 17/730,938, inventors Rakesh; Bhargava M.R. et al., filed on Apr. 27, 2022. [cited by applicant]
Co-pending U.S. Appl. No. 17/733,078, inventors Rakesh; Bhargava M.R. et al., filed on Apr. 29, 2022. [cited by applicant]
Non-Final Office Action mailed on May 3, 2023 for U.S. Appl. No. 17/730,643, filed Apr. 27, 2022, 15 pages. [cited by applicant]