IP Library Granted Patent US 11,853,104
Granted Patent B2
US 11,853,104 · App. 16/856,367 · Granted Dec 26, 2023

Virtual machine backup from computing environment to storage environment

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/065G06F3/0619G06F3/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,853,104
App. No.
16/856,367
Granted
Dec 26, 2023
Kind
B2
Abstract

Techniques are provided for backing up virtual machines from a computing environment to a storage environment. A virtual machine agent is utilized to generate a snapshot of the virtual machine. Metadata comprising a snapshot identifier of the snapshot and virtual disk information of virtual disks captured by snapshot is generated at the computing environment. The metadata is retrieved and used to create a metafile that is transferred to the storage environment within which snapshots of the virtual machine are to be stored. The snapshot is retrieved from the computing environment and is packaged into a snapshot package having a protocol format used by the storage environment. The snapshot package is transferred to the storage environment.

Claims (51)

1. A method comprising:

generating, by a virtual machine stateless agent, a first snapshot of a virtual machine of a computing environment and metadata associated with the first snapshot in a first format used by the computing environment, the metadata comprising a snapshot identifier identifying the first snapshot and virtual storage layout used by the virtual machine to store information captured by the first snapshot;

temporarily storing the first snapshot and the metadata in the computing environment;

transforming, by the virtual machine stateless agent, the metadata to a second format for storage in a storage environment, and wherein a storage stateless agent transfers the metadata in the second format to the storage environment;

generating, by the storage stateless agent, a snapshot package by converting, the first snapshot from the first format to a storage format, the storage format utilized by a snapshot management service of the storage environment for storing the first snapshot within the storage environment; and

transferring the snapshot package to the storage environment, upon transfer of the metadata in the second format;

retrieving, by the storage stateless agent, the snapshot identifier from the metadata stored in the storage environment as an extracted snapshot identifier to take a second snapshot of the virtual machine for incrementally backing up the virtual machine to the storage environment; and

providing, by the storage stateless agent, the extracted snapshot identifier to the virtual machine stateless agent for taking the second snapshot identified by a second snapshot identifier.

2. The method of claim 1 , comprising:

utilizing, by the computing environment, the snapshot identifier for identifying incremental data of the virtual machine to include within the second snapshot, the incremental data not included in the first snapshot;

generating, by the storage stateless agent, an incremental backup package for storage in the storage environment by converting the second snapshot to the storage format; and

transferring, by the storage stateless agent, the incremental backup package to the storage environment.

3. The method of claim 2 , comprising:

generating, by the virtual machine stateless agent, updated metadata for the second snapshot based upon the second snapshot identifier and transferring, by the storage stateless agent, the updated metadata in the second format to the storage environment.

4. The method of claim 1 , comprising:

hosting a set of storage stateless agents configured to manage incremental backup transfers of snapshots at a virtual machine granularity from the computing environment to the storage environment, wherein the incremental backup transfers are load balanced amongst the set of storage stateless agents.

5. The method of claim 1 , wherein the metadata comprises at least one of a disk layout of virtual disks captured by the first snapshot, disk attributes of the virtual disks, file information of files within the virtual disks, or a list of inodes of the files.

6. The method of claim 1 , wherein the snapshot identifier is a universal snapshot identifier mapped to an identifier used by the computing environment to refer to the first snapshot.

7. The method of claim 1 , comprising:

hosting a set of storage stateless agents to perform backups of virtual machine data from the computing environment to the storage environment.

8. The method of claim 1 , wherein the metadata comprises a volume attribute of a volume.

9. The method of claim 1 , comprising:

verifying that the metadata in the second format is accessible to the storage environment before transferring snapshot package to the storage environment.

10. The method of claim 1 , comprising:

retrieving, by the virtual machine stateless agent, the metadata as a volume attribute.

11. The method of claim 1 , wherein the metadata is serialized by the computing environment into a metadata image transmitted as volume attributes.

12. The method of claim 1 , comprising:

reading, by the virtual machine stateless agent, the metadata from an active file system of the computing environment.

13. The method of claim 1 , wherein snapshots of virtual machines are transmitted to the storage environment for storage within folders maintained by the storage environment for storing snapshots of virtual machines, and wherein snapshots of virtual disks of a target virtual machine are stored as individual files within a folder for the target virtual machine.

14. The method of claim 1 , comprising:

restoring the virtual machine at the computing environment using one or more snapshots at the storage environment for the virtual machine.

15. The method of claim 1 , comprising:

sending a set of metadata to the computing environment to be deserialized into a stream for storage within a cache of the computing environment.

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

generate, by a virtual machine stateless agent, a first snapshot of a virtual machine of a computing environment and metadata associated with the first snapshot in a first format used by the computing environment, the metadata comprising a snapshot identifier identifying the first snapshot and virtual storage layout used by the virtual machine to store information captured by the first snapshot;

temporarily store the first snapshot and the metadata in the computing environment;

transform, by the virtual machine stateless agent, the metadata to a second format for storage in a storage environment, and wherein a storage stateless agent transfers the metadata in the second format to the storage environment;

generate, by the storage stateless agent, a snapshot package by converting, the first snapshot from the first format to a storage format, the storage format utilized by a snapshot management service of the storage environment for storing the first snapshot within the storage environment; and

transfer the snapshot package to the storage environment, upon transfer of the metadata in the second format;

retrieve, by the storage stateless agent, the snapshot identifier from the metadata stored in the storage environment as an extracted snapshot identifier to take a second snapshot of the virtual machine for incrementally backing up the virtual machine to the storage environment; and

provide, by the storage stateless agent, the extracted snapshot identifier to the virtual machine stateless agent for taking the second snapshot identified by a second snapshot identifier.

17. 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:

generate, by a virtual machine stateless agent, a first snapshot of a virtual machine of a computing environment and metadata associated with the first snapshot in a first format used by the computing environment, the metadata comprising a snapshot identifier identifying the first snapshot and virtual storage layout used by the virtual machine to store information captured by the first snapshot;

temporarily store the first snapshot and the metadata in the computing environment;

transform, by the virtual machine stateless agent, the metadata to a second format for storage in a storage environment, and wherein a storage stateless agent transfers the metadata in the second format to the storage environment;

generate, by the storage stateless agent, a snapshot package by converting, the first snapshot from the first format to a storage format, the storage format utilized by a snapshot management service of the storage environment for storing the first snapshot within the storage environment; and

transfer the snapshot package to the storage environment, upon transfer of the metadata in the second format;

retrieve, by the storage stateless agent, the snapshot identifier from the metadata stored in the storage environment as an extracted snapshot identifier to take a second snapshot of the virtual machine for incrementally backing up the virtual machine to the storage environment;

provide, by the storage stateless agent, the extracted snapshot identifier to the virtual machine stateless agent for taking the second snapshot identified by a second snapshot and identifier.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2020
From: NAIDU, ABHISHEK; MATHEW, JOSE; ZHENG, LING; KURAMKOTE, RAVINDRA
To: NETAPP INC.
Reel/Frame 052476/0792 →
Continuity (2)
Provisional Application 62867504 · Jun 27, 2019
Related Publication 20200409738A1 · Dec 31, 2020
Cited By (17)
US 12,298,867 US 12,373,313 US 12,373,398 US 12,386,714 US 12,393,356 US 12,499,083 US 12,500,754 US 12,505,019 US 12,554,597 US 12,566,567 US 12,591,493 US 12,604,006 US 12,632,347 US 12,632,349 US 12,688,154 US 12,693,943 US 12,711,025