Patent ID: 9047238
Filing Date: 2015-06-02
Classification: G06F

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