IP Library Granted Patent US 11,977,461
Granted Patent B2
US 11,977,461 · App. 18/190,172 · Granted May 7, 2024

Incremental restore of a virtual machine

Inventors: Abhishek Naidu (San Jose, CA); Jose Mathew (Santa Clara, CA); Ling Zheng (Saratoga, CA); Ravindra Kuramkote (San Jose, CA)
Assignee: NetApp, Inc.
G06F11/1469G06F3/0619G06F3/065G06F3/0664G06F3/0673G06F9/45558G06F11/1451G06F11/1458G06F11/1464G06F11/1484G06F2009/45562G06F2009/45575G06F2201/80G06F2201/815G06F2201/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 11,977,461
App. No.
18/190,172
Granted
May 7, 2024
Kind
B2
Abstract

Techniques are provided for incrementally restoring a virtual machine hosted by a computing environment. In response to receiving an indication that the virtual machine is to be incrementally restored, a snapshot of the virtual machine may be created while the virtual machine is shut down into an off state. The snapshot is transmitted to a storage environment as a common snapshot. The snapshot and the common snapshot are common snapshots comprising a same representation of the virtual machine. The common snapshot and a prior snapshot of the virtual machine are evaluated to identify a data difference of the virtual machine between the common snapshot and the prior snapshot. An incremental restore is performed of the virtual machine by transmitting the data difference from the storage environment to the computing environment to restore the virtual machine to a state represented by the prior snapshot.

Claims (65)

1. A method comprising:

performing, by a first agent component, a backup process for backing up a virtual machine as a snapshot in a storage environment, the virtual machine hosted within a computing environment, wherein the first agent component comprises a virtual machine agent that formats commands for the backup process into a computing environment compatible format and comprises a storage agent that packages the snapshot into the storage environment supported protocol format;

wherein performance of the backup process by the first agent component comprises:

populating state information with a backup state corresponding to progress of the backup process; and

populating a metafile with information that includes at a snapshot identifier of the snapshot and virtual machine disk information of a virtual machine disk captured by the snapshot;

in response to unsuccessful performance of the backup process, using creating a second agent component for resuming the backup process based upon a determination that the first agent component failed to successfully perform the backup process for backing up the virtual machine as the snapshot; and

resuming, by the second agent component, the backup process using the state information and the metafile, wherein the state information is used to re-issue the backup process through the second agent component to resume, from a point where the first agent component left off, using the snapshot identifier and the virtual machine disk information within the metafile.

2. The method of claim 1 , comprising:

hosting the first agent component as a first stateless component; and

in response to detecting the unsuccessful performance of the backup process by the first agent, creating the second agent component as a second stateless component.

3. The method of claim 1 , comprising:

performing, by the first agent component using the metafile, a subsequent backup process for the virtual machine, wherein the subsequent backup process is performed subsequent the second agent component completing the backup process.

4. The method of claim 1 , comprising:

utilizing the metafile to perform an incremental backup of the virtual machine subsequent the second agent component completing the backup process.

5. The method of claim 1 , wherein the second agent component is created as a stateless component in response to the first agent component filing to successfully perform the backup process.

6. The method of claim 1 , wherein the second agent component resumes the backup process by restarting the backup process.

7. The method of claim 1 , comprising

retrieving new metadata for the snapshot from the computing environment;

generating an updated metafile based upon the new metadata; and

storing the updated metafile within the storage environment.

8. The method of claim 1 , comprising

identifying, from the computing environment, a list of inodes of files within the virtual machine disk; and

generating and storing within the storage environment an updated metafile based upon the list of inodes of the files within the virtual machine disk.

9. The method of claim 1 , comprising

identifying, from the computing environment, file information of files within the virtual machine disk; and

generating and storing within the storage environment an updated metafile based upon the file information of the files within the virtual machine disk.

10. The method of claim 1 , comprising:

performing, by a third agent component using the metafile, a subsequent backup process for the virtual machine, wherein the subsequent backup process is performed subsequent the second agent component completing the backup process.

11. The method of claim 1 , comprising

identifying, from the computing environment, disk attributes of the virtual machine disk; and

generating and storing within the storage environment an updated metafile based upon the disk attributes of the virtual machine.

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

performing, by a first agent component, a backup process for backing up a virtual machine as a snapshot in a storage environment, the virtual machine hosted within a computing environment, wherein the first agent component comprises a virtual machine agent that formats commands for the backup process into a computing environment compatible format and comprises a storage agent that packages the snapshot into the storage environment supported protocol format;

wherein performance of the backup process by the first agent component comprises:

populating state information with a backup state corresponding to progress of the backup process; and

populating a metafile with information that includes a snapshot identifier of the snapshot and virtual machine disk information of a virtual machine disk captured by the snapshot;

in response to unsuccessful performance of the backup process, creating a second agent component for resuming the backup process based upon a determination that the first agent component failed to successfully perform the backup process for backing up the virtual machine as the snapshot; and

resuming, by the second agent component, the backup process using the state information and the metafile, wherein the state information is used to re-issue the backup process through the second agent component to resume, from a point where the first agent component left off, using the snapshot identifier and the virtual machine disk information within the metafile.

13. The non-transitory machine readable medium of claim 12 , wherein the operations comprise:

retrieving, from the computing environment, a list of inodes of files within the virtual machine disk; and

populating the metafile with the list of inodes of files within the virtual machine disk.

14. The non-transitory machine readable medium of claim 12 , wherein the operations comprise:

retrieving, from the computing environment, file information of files within the virtual machine disk; and

populating the metafile with the file information of the files within the virtual machine disk.

15. The non-transitory machine readable medium of claim 12 , wherein the operations comprise:

retrieving, from the computing environment, disk attributes of the virtual machine disk; and

populating the metafile with the disk attributes of the virtual machine disk.

16. A computing device comprising:

a memory comprising instructions; and

a processor coupled to the memory, the processor configured to execute the instructions to perform operations comprising:

performing, by a first agent component, a backup process for backing up a virtual machine as a snapshot in a storage environment, the virtual machine hosted within a computing environment, wherein the first agent component comprises a virtual machine agent that formats commands for the backup process into a computing environment compatible format and comprises a storage agent that packages the snapshot into the storage environment supported protocol format;

wherein performance of the backup process by the first agent component comprises:

populating state information with a backup state corresponding to progress of the backup process; and

populating a metafile with information that includes a snapshot identifier of the snapshot and virtual machine disk information of a virtual machine disk captured by the snapshot;

in response to unsuccessful performance of the backup process, using creating a second agent component for resuming the backup process based upon a determination that the first agent component failed to successfully perform the backup process for backing up the virtual machine as the snapshot; and

resuming, by the second agent component, the backup process using the state information and the metafile, wherein the state information is used to re-issue the backup process through the second agent component to resume, from a point where the first agent component left off, using the snapshot identifier and the virtual machine disk information within the metafile.

17. The computing device of claim 16 , wherein the operations comprise:

performing, by the first agent component using the metafile, a subsequent backup process for the virtual machine, wherein the subsequent backup process is performed subsequent the second agent component completing the backup process.

18. The computing device of claim 16 , wherein the operations comprise:

retrieving new metadata for the snapshot from the computing environment;

generating an updated metafile based upon the new metadata; and

storing the updated metafile within the storage environment.

19. The computing device of claim 16 , wherein the second agent component is created as a stateless component in response to the first agent component filing to successfully perform the backup process.

20. The computing device of claim 16 , wherein the operations comprise:

utilizing the metafile to perform an incremental backup of the virtual machine subsequent the second agent component completing the backup process.

Continuity (3)
Continuation 16856322 · Apr 23, 2020
Provisional Application 62867504 · Jun 27, 2019
Related Publication 20230229568A1 · Jul 20, 2023
Cited By (2)
US 12,373,313 US 12,554,597