Automated generation of cloned production environments
First Claim
1. A method for generating a cloned virtual machine environment, comprising:
- identifying an application running on a first virtual machine at a particular point in time;
determining a set of dependent applications that the application depends on for operation;
determining an ordering of the set of dependent applications using a dependency mapping table such that every application that a particular application of the set of dependent applications depends on precedes the particular application in the ordering;
determining a set of virtual machines that ran the set of dependent applications at the particular point in time;
acquiring a set of snapshots of the set of virtual machines, the set of snapshots corresponds with states of the set of virtual machines at the particular point in time;
generating a second set of virtual machines using the set of snapshots, each virtual machine of the second set of virtual machines is generated in an order that satisfies the ordering of the set of dependent applications;
identifying a first full image associated with the first virtual machine;
generating a first signature using a first full image of the first virtual machine;
identifying a third virtual machine based on a comparison of the first signature associated with the first virtual machine and a third signature associated with the third virtual machine;
identifying one or more incremental files corresponding with one or more snapshots of the first virtual machine; and
generating a second virtual machine corresponding with the first virtual machine subsequent to generating the second set of virtual machines, the generating the second virtual machine includes acquiring the one or more incremental files corresponding with the one or more snapshots of the first virtual machine from a second storage device with a second read speed in parallel with acquiring a third full image of the third virtual machine different from the first virtual machine from a first storage device with a first read speed less than the second read speed, the generating the second virtual machine includes generating the second virtual machine using the third full image of the third virtual machine different from the first virtual machine and the one or more incremental files corresponding with the one or more snapshots of the first virtual machine.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for managing, storing, and serving data within a virtualized environment are described. In some embodiments, a data management system may manage the extraction and storage of virtual machine snapshots, provide near instantaneous restoration of a virtual machine or one or more files located on the virtual machine, and enable secondary workloads to directly use the data management system as a primary storage target to read or modify past versions of data. The data management system may allow a virtual machine snapshot of a virtual machine stored within the system to be directly mounted to enable substantially instantaneous virtual machine recovery of the virtual machine.
-
Citations
20 Claims
-
1. A method for generating a cloned virtual machine environment, comprising:
-
identifying an application running on a first virtual machine at a particular point in time; determining a set of dependent applications that the application depends on for operation; determining an ordering of the set of dependent applications using a dependency mapping table such that every application that a particular application of the set of dependent applications depends on precedes the particular application in the ordering; determining a set of virtual machines that ran the set of dependent applications at the particular point in time; acquiring a set of snapshots of the set of virtual machines, the set of snapshots corresponds with states of the set of virtual machines at the particular point in time; generating a second set of virtual machines using the set of snapshots, each virtual machine of the second set of virtual machines is generated in an order that satisfies the ordering of the set of dependent applications; identifying a first full image associated with the first virtual machine; generating a first signature using a first full image of the first virtual machine; identifying a third virtual machine based on a comparison of the first signature associated with the first virtual machine and a third signature associated with the third virtual machine; identifying one or more incremental files corresponding with one or more snapshots of the first virtual machine; and generating a second virtual machine corresponding with the first virtual machine subsequent to generating the second set of virtual machines, the generating the second virtual machine includes acquiring the one or more incremental files corresponding with the one or more snapshots of the first virtual machine from a second storage device with a second read speed in parallel with acquiring a third full image of the third virtual machine different from the first virtual machine from a first storage device with a first read speed less than the second read speed, the generating the second virtual machine includes generating the second virtual machine using the third full image of the third virtual machine different from the first virtual machine and the one or more incremental files corresponding with the one or more snapshots of the first virtual machine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for generating a cloned virtual machine environment, comprising:
-
a memory configured to store a dependency mapping table that includes dependency information of applications; and one or more processors configured to; identify an application running on a first virtual machine at a particular point in time; determine a set of dependent applications that the application depends on for operation; determine an ordering of the set of dependent applications using the dependency mapping table, the ordering of the set of dependent applications is arranged such that every application that a particular application of the set of dependent applications depends on precedes the particular application in the ordering; determine a set of virtual machines that ran the set of dependent applications at the particular point in time and acquire a set of snapshots of the set of virtual machines, the set of snapshots corresponds with states of the set of virtual machines at the particular point in time; generate a second set of virtual machines using the set of snapshots, each virtual machine of the second set of virtual machines is generated in an order that satisfies the ordering of the set of dependent applications; identify a first full image associated with the first virtual machine; generate a first signature using the first full image associated with the first virtual machine; identify a third virtual machine based on a comparison of the first signature associated with the first virtual machine and a third signature associated with the third virtual machine; identify one or more incremental files corresponding with one or more snapshots of the first virtual machine; and generate a second virtual machine corresponding with the first virtual machine subsequent to generating the second set of virtual machines, the one or more processors configured to acquire the one or more incremental files corresponding with the one or more snapshots of the first virtual machine from a second storage device with a second read speed in parallel with acquiring a third full image of the third virtual machine different from the first virtual machine from a first storage device with a first read speed less than the second read speed, the one or more processors configured to generate the second virtual machine using the third full image of the third virtual machine different from the first virtual machine and the one or more incremental files corresponding with the one or more snapshots of the first virtual machine. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. One or more storage devices containing processor readable code for programming one or more processors to perform a method for generating a cloned virtual machine environment, the processor readable code comprising:
-
processor readable code configured to identify an application running on a first virtual machine at a particular point in time; processor readable code configured to determine a set of dependent applications that the application depends on for operation; processor readable code configured to determine an ordering of the set of dependent applications using a dependency mapping table such that every application that a particular application of the set of dependent applications depends on precedes the particular application in the ordering; processor readable code configured to determine a set of virtual machines that ran the set of dependent applications at the particular point in time; processor readable code configured to acquire a set of snapshots of the set of virtual machines, the set of snapshots corresponds with states of the set of virtual machines at the particular point in time; processor readable code configured to generate a second set of virtual machines using the set of snapshots, each virtual machine of the second set of virtual machines is brought up in an order that satisfies the ordering of the set of dependent applications; processor readable code configured to identify a first full image associated with the first virtual machine; processor readable code configured to generate a first signature using a first full image of the first virtual machine; processor readable code configured to identify a third virtual machine based on a comparison of the first signature associated with the first virtual machine and a third signature associated with the third virtual machine; processor readable code configured to identify one or more incremental files corresponding with one or more snapshots of the first virtual machine; processor readable code configured to acquire the one or more incremental files corresponding with the one or more snapshots of the first virtual machine from a second storage device comprising a solid-state storage device with a second read speed in parallel with acquiring a third full image of the third virtual machine different from the first virtual machine from a first storage device comprising a magnetic storage device with a first read speed less than the second read speed; and processor readable code configured to generate a second virtual machine corresponding with the first virtual machine subsequent to bringing up the second set of virtual machines, the generating the second virtual machine includes generating the second virtual machine using the third full image of the third virtual machine different from the first virtual machine and the one or more incremental files corresponding with the one or more snapshots of the first virtual machine.
-
Specification