IP Library › Granted Patent US 9,047,238
Granted Patent B2
US 9,047,238 · App. 13/687,475 · Granted Jun 2, 2015

Creating a virtual machine from a snapshot

Inventors: Yair Zaslavsky (Netanya, IL); Omer Frenkel (Tel Aviv, IL); Mike Kolesnik (Ramat-Gan, IL)
Assignee: Red Hat Israel, Ltd.
G06F12/16G06F9/455G06F11/1438G06F11/1451G06F11/1461G06F2201/815G06F9/45558G06F2009/45562
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 9,047,238
App. No.
13/687,475
Granted
Jun 2, 2015
Kind
B2
Abstract

A computer system generates a clone of a virtual machine from a point-in-time snapshot backup by collapsing metadata snapshots and storage snapshots into a virtual machine image. The computer system identifies a clone request for a virtual machine, the clone request comprising a point-in-time reference, retrieves at least one metadata snapshot and at least one storage snapshot based on the point-in-time reference, combines the at least one metadata snapshot and the at least one storage snapshot into a virtual machine image, and provisions a new virtual machine based on the virtual machine image.

Claims (35)

1. A method comprising:

identifying, by a processing device a clone request for a virtual machine, the clone request comprising a point-in-time reference;

retrieving a metadata snapshot in view of the point-in-time reference, wherein the metadata snapshot is one of a plurality of metadata snapshots forming a point-in-time chain of metadata snapshots, wherein each of the plurality of metadata snapshots comprises data elements that have changed from a previous metadata snapshot and references to preexisting data elements in one or more previous metadata snapshots;

retrieving a storage snapshot in view of the point-in-time reference, wherein the storage snapshot is one of a plurality of incremental storage snapshots forming a point-in-time chain of incremental storage snapshots, wherein each of the plurality of incremental storage snapshots comprises data elements of one or more virtual storage devices used by the virtual machine that have changed from a previous storage snapshot and references to preexisting data elements in one or more previous storage snapshots;

collapsing, by the processing device, the plurality of metadata snapshots into a single metadata image, the collapsing comprising writing each of the data elements from the metadata snapshot and the preexisting data elements from the one or more previous metadata snapshots into the single metadata image while discarding incremental snapshot information identifying which of the plurality of metadata snapshots each of the preexisting data elements is from;

collapsing the plurality of incremental storage snapshots into a single storage image, the collapsing comprising writing each of the data elements from the storage snapshot and the preexisting data elements from the one or more previous storage snapshots into the single storage image while discarding incremental snapshot information identifying which of the plurality of storage snapshots each of the preexisting data elements is from;

combining, by the processing device, the metadata image and the storage image into a virtual machine image; and

provisioning a new virtual machine in view of the virtual machine image.

2. The method of claim 1 , wherein the clone request further comprises an identifier indicative of a specific snapshot based upon a timestamp.

3. The method of claim 1 , wherein the virtual machine comprises a virtual appliance comprising a preconfigured operating system environment and a single application.

4. The method of claim 1 , wherein the virtual machine is a component of a composite application that comprises the virtual machine and one or more additional virtual machines.

5. A non-transitory computer-readable storage medium having instructions that, when executed by a processing device, cause the processing device to:

identify, by the processing device, a clone request for a virtual machine, the clone request comprising a point-in-time reference;

retrieve, by the processing device, a metadata snapshot in view of the point-in-time reference, wherein the metadata snapshot is one of a plurality of metadata snapshots forming a point-in-time chain of metadata snapshots, wherein each of the plurality of metadata snapshots comprises data elements that have changed from a previous metadata snapshot and references to preexisting data elements in one or more previous metadata snapshots;

retrieve a storage snapshot in view of the point-in-time reference, wherein the storage snapshot is one of a plurality of incremental storage snapshots forming a point-in-time chain of incremental storage snapshots, wherein each of the plurality of incremental storage snapshots comprises data elements of one or more virtual storage devices used by the virtual machine that have changed from a previous storage snapshot and references to preexisting data elements in one or more previous storage snapshots;

collapse, by the processing device, the plurality of metadata snapshots into a single metadata image, the collapsing comprising writing each of the data elements from the metadata snapshot and the preexisting data elements from the one or more previous metadata snapshots into the single metadata image while discarding incremental snapshot information identifying which of the plurality of metadata snapshots each of the preexisting data elements is from;

collapse the plurality of incremental storage snapshots into a single storage image, the collapsing comprising writing each of the data elements from the storage snapshot and the preexisting data elements from the one or more previous storage snapshots into the single storage image while discarding incremental snapshot information identifying which of the plurality of storage snapshots each of the preexisting data elements is from;

combine the metadata image and the storage image into a virtual machine image; and

provision a new virtual machine in view of the virtual machine image.

6. The non-transitory computer-readable medium of claim 5 , wherein the clone request further comprises an identifier indicative of a specific snapshot based upon a timestamp.

7. The non-transitory computer-readable storage medium of claim 5 , wherein the virtual machine comprises a virtual appliance comprising a preconfigured operating system environment and a single application.

8. A computing apparatus comprising:

a memory; and

a processing device coupled to the memory, wherein the processing device is to:

identify a clone request for a virtual machine, the clone request comprising a point-in-time reference;

retrieve a metadata snapshot in view of the point-in-time reference, wherein the metadata snapshot is one of a plurality of metadata snapshots forming a point-in-time chain of metadata snapshots, wherein each of the plurality of metadata snapshots comprises data elements that have changed from a previous metadata snapshot and references to preexisting data elements in one or more previous metadata snapshots;

retrieve a storage snapshot in view of the point-in-time reference, wherein the storage snapshot is one of a plurality of incremental storage snapshots forming a point-in-time chain of incremental storage snapshots, wherein each of the plurality of incremental storage snapshots comprises data elements of one or more virtual storage devices used by the virtual machine that have changed from a previous storage snapshot and references to preexisting data elements in one or more previous storage snapshots;

collapse the plurality of metadata snapshots into a single metadata image, the collapsing comprising writing each of the data elements from the metadata snapshot and the preexisting data elements from the one or more previous metadata snapshots into the single metadata image while discarding incremental snapshot information identifying which of the plurality of metadata snapshots each of the preexisting data elements is from;

collapse the plurality of incremental storage snapshots into a single storage image, the collapsing comprising writing each of the data elements from the storage snapshot and the preexisting data elements from the one or more previous storage snapshots into the single storage image while discarding incremental snapshot information identifying which of the plurality of storage snapshots each of the preexisting data elements is from;

combine the metadata image and the storage image into a virtual machine image; and

provision a new virtual machine in view of the virtual machine image.

9. The computing apparatus of claim 8 , wherein the clone request further comprises an identifier indicative of a specific snapshot based upon a timestamp.

10. The computing apparatus of claim 8 , wherein the virtual machine is a component of a composite application that comprises the virtual machine and one or more additional virtual machines.

11. The computing apparatus of claim 8 , wherein the virtual machine comprises a virtual appliance comprising a preconfigured operating system environment and a single application.

12. The computing apparatus of claim 8 , wherein the virtual machine is a component of a composite application that comprises the virtual machine and one or more additional virtual machines.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2012
From: ZASLAVSKY, YAIR; FRENKEL, OMER; KOLESNIK, MIKE
To: RED HAT ISRAEL, LTD.
Reel/Frame 029368/0305 →
Continuity (1)
Related Publication 20140149695A1 · May 29, 2014