IP Library Granted Patent US 9,170,831
Granted Patent B2
US 9,170,831 · App. 13/974,331 · Granted Oct 27, 2015

Cloning virtual machines

Inventors: Matthew Douglas Robinson (Katonah, NY); Peter R. Learmonth (San Jose, CA); Michael Vaughn Stewart (Hillsborough, NC); Eric Paul Forgette (Mechanicsville, VA)
Assignee: NETAPP, INC.
G06F9/45533G06F9/485G06F9/5077G06F17/30088G06F9/45558G06F11/1469
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,170,831
App. No.
13/974,331
Granted
Oct 27, 2015
Kind
B2
Abstract

While current solutions for cloning virtual machines can involve copying and duplicating files associated to a virtual machine (VM), systems and techniques can be devised to create thin clones of a VM using the VM's associated storage system to copy and deduplicate storage for the VMs. One can create a base VM in a directory of a storage container attached to a hypervisor, and then map the storage container to a volume on a storage system. One can clone the base VM using a snapshot of respective files associated to the base VM, which can comprise creating metadata that identified a physical storage location of the files. Further, the metadata can then be copied to a desired location on the storage container, to create a VM clone. Once copied, the cloned VM can be customized and registered within the hypervisor.

Claims (52)

1. A method for virtual machine cloning, comprising:

identifying a storage container comprising a base virtual machine;

generating storage container metadata identifying a storage location used by the storage container to store base virtual machine data associated with the base virtual machine;

generating a cloned storage container comprising a cloned virtual machine that is a thin clone of the base virtual machine;

providing the cloned storage container with access to the storage location using the storage container metadata; and

providing the cloned virtual machine, using the storage container metadata, with access to operating system data comprised within the base virtual machine data for use as an operating system for the cloned virtual machine, the cloned virtual machine not comprising the operating system data.

2. The method of claim 1 , comprising:

presenting the cloned storage container to a hypervisor as a network file system (NFS) export.

3. The method of claim 1 , comprising:

presenting the cloned storage container to a hypervisor as a common internet file system (NFS) share.

4. The method of claim 1 , comprising:

refreshing a storage host bus adapter to discover the cloned storage container based upon a scan for new block-based storage objects.

5. The method of claim 1 , the generating a cloned storage container comprising:

generating the cloned the storage container to comprise a plurality of cloned virtual machines that are thin clones of the base virtual machine.

6. The method of claim 1 , the storage container comprising a storage server.

7. The method of claim 1 , comprising:

using configuration data comprised within the cloned virtual machine to execute the operating system using the operating system data comprised within the base virtual machine data.

8. The method of claim 1 , comprising:

providing the cloned virtual machine, using the storage container metadata, with access to application data comprised within the base virtual machine data for execution of an application by the cloned virtual machine, the cloned virtual machine not comprising the application data.

9. The method of claim 8 , comprising:

using configuration data comprised within the cloned virtual machine to execute the application using the application data comprised within the base virtual machine data.

10. The method of claim 1 , comprising:

modifying a virtual machine parameter of the cloned virtual machine to customize the cloned virtual machine as distinguishable from the base virtual machine.

11. The method of claim 1 , comprising:

registering the cloned virtual machine within a hypervisor environment.

12. A system for virtual machine cloning, comprising:

a storage container cloner configured to:

identify a storage container comprising a base virtual machine;

generate storage container metadata identifying a storage location used by the storage container to store base virtual machine data associated with the base virtual machine;

generate a cloned storage container comprising a cloned virtual machine that is a thin clone of the base virtual machine;

provide the cloned storage container with access to the storage location using the storage container metadata; and

provide the cloned virtual machine, using the storage container metadata, with access to application data comprised within the base virtual machine data for execution of an application by the cloned virtual machine, the cloned virtual machine not comprising the application data.

13. The system of claim 12 , the storage container cloner configured to:

provide the cloned virtual machine, using the storage container metadata, with access to operating system data comprised within the base virtual machine data for use as an operating system for the cloned virtual machine, the cloned virtual machine not comprising the operating system data.

14. The system of claim 13 , the storage container cloner configured to:

use configuration data comprised within the cloned virtual machine to execute the operating system using the operating system data comprised within the base virtual machine data.

15. The system of claim 12 , the storage container cloner configured to:

use configuration data comprised within the cloned virtual machine to execute the application using the application data comprised within the base virtual machine data.

16. The system of claim 12 , the storage container cloner configured to:

present the cloned storage container to a hypervisor as at least one of a network file system (NFS) export or a common internet file system (NFS) share.

17. A computer-readable device comprising processor-executable instructions that when executed perform a method for virtual machine cloning, comprising:

identifying a storage container comprising a base virtual machine;

generating storage container metadata identifying a storage location used by the storage container to store base virtual machine data associated with the base virtual machine;

generating a cloned storage container comprising a cloned virtual machine that is a thin clone of the base virtual machine;

providing the cloned storage container with access to the storage location using the storage container metadata; and

modifying a virtual machine parameter of the cloned virtual machine to customize the cloned virtual machine as distinguishable from the base virtual machine.

18. The computer-readable device of claim 17 , the method comprising:

providing the cloned virtual machine, using the storage container metadata, with access to operating system data comprised within the base virtual machine data for use as an operating system for the cloned virtual machine, the cloned virtual machine not comprising the operating system data.

19. The computer-readable device of claim 17 , the method comprising:

providing the cloned virtual machine, using the storage container metadata, with access to application data comprised within the base virtual machine data for execution of an application by the cloned virtual machine, the-cloned virtual machine not comprising the application data.

20. The computer-readable device of claim 17 , the method comprising:

providing the cloned virtual machine with access to the base virtual machine data for execution by the cloned virtual machine while stored at the storage location and associated with the base virtual machine.

Continuity (2)
Continuation 12268690 · Nov 11, 2008
Related Publication 20130346976A1 · Dec 26, 2013