Method and system to share data with snapshots in a virtualization environment
First Claim
1. A method for implementing decentralized access to data in a virtualization environment, comprising:
- maintaining a virtualization environment that comprises at least a plurality of virtualization nodes, the plurality of virtualization nodes each comprising physical components including at least a processor and one or more storage devices, two or more of the plurality of virtualization nodes each comprising at least a hypervisor and a service virtual machine (SVM) running as a virtual machine above the hypervisor, wherein the SVM manages at least a portion of one of the one or more storage devices as part of a storage pool;
receiving a plurality of requests for access to data from the plurality of virtualization nodes including at least a first virtualization node and a second virtualization node;
identifying the data that corresponds to a virtual disk structured from the one or more storage devices in the storage pool, wherein the data is owned by the first virtualization node of the plurality of virtualization nodes; and
sharing the data with the plurality of virtualization nodes using snapshots by;
creating a first snapshot corresponding to the data at the first virtualization node of the plurality of virtualization nodes and a second snapshot corresponding to the data at the second virtualization node of the plurality of virtualization nodes, the first snapshot and the second snapshot each comprising metadata that points to an actual data of the virtual disk corresponding to the data,for the second virtualization node that does not own the data, the SVM on the second virtualization node manages access to the data locally using a resource of the second virtualization node to access the second snapshot on the second virtualization node that corresponds to the actual data of the virtual disk, andfor the first virtualization node that does own the data, the SVM on the first virtualization node manages access to the data using a resource of the first virtualization node to access the first snapshot on the first virtualization node that corresponds to the actual data of the virtual disk.
3 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is an improved approach to optimize link-based cloning in a virtualization architecture. In some approaches, each of the remote nodes is allowed to maintain its own snapshot of the linked/shared image. In this way, the processing power of each remote node can be used in a decentralized manner to administratively handle access to the shared data, rather than requiring the CPU resources of only the host node to centrally handle administrative access to the data. In addition, each of nodes can maintain copies of the shared image in a local cache. This allows the caching resources to also be decentralized, as each of the nodes can use its own caching resources to hold the shared data.
-
Citations
21 Claims
-
1. A method for implementing decentralized access to data in a virtualization environment, comprising:
-
maintaining a virtualization environment that comprises at least a plurality of virtualization nodes, the plurality of virtualization nodes each comprising physical components including at least a processor and one or more storage devices, two or more of the plurality of virtualization nodes each comprising at least a hypervisor and a service virtual machine (SVM) running as a virtual machine above the hypervisor, wherein the SVM manages at least a portion of one of the one or more storage devices as part of a storage pool; receiving a plurality of requests for access to data from the plurality of virtualization nodes including at least a first virtualization node and a second virtualization node; identifying the data that corresponds to a virtual disk structured from the one or more storage devices in the storage pool, wherein the data is owned by the first virtualization node of the plurality of virtualization nodes; and sharing the data with the plurality of virtualization nodes using snapshots by; creating a first snapshot corresponding to the data at the first virtualization node of the plurality of virtualization nodes and a second snapshot corresponding to the data at the second virtualization node of the plurality of virtualization nodes, the first snapshot and the second snapshot each comprising metadata that points to an actual data of the virtual disk corresponding to the data, for the second virtualization node that does not own the data, the SVM on the second virtualization node manages access to the data locally using a resource of the second virtualization node to access the second snapshot on the second virtualization node that corresponds to the actual data of the virtual disk, and for the first virtualization node that does own the data, the SVM on the first virtualization node manages access to the data using a resource of the first virtualization node to access the first snapshot on the first virtualization node that corresponds to the actual data of the virtual disk. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer program product embodied on a non-transitory computer readable medium, the computer readable medium having stored thereon a sequence of instructions which, when executed by a processor causes the processor to execute a method for implementing decentralized access to data in a virtualization environment, comprising:
-
maintaining a virtualization environment that comprises at least a plurality of virtualization nodes, the plurality of virtualization nodes each comprising physical components including at least a processor and one or more storage devices, two or more of the plurality of virtualization nodes each comprising at least a hypervisor and a service virtual machine (SVM) running as a virtual machine above the hypervisor, wherein the SVM manages at least a portion of one of the one or more storage devices as part of a storage pool; receiving a plurality of requests for access to data from the plurality of virtualization nodes including at least a first virtualization node and a second virtualization node; identifying the data that corresponds to a virtual disk structured from the one or more storage devices in the storage pool, wherein the data is owned by the first virtualization node of the plurality of virtualization nodes; and sharing the data with the plurality of virtualization nodes using snapshots by; creating a first snapshot corresponding to the data at the first virtualization node of the plurality of virtualization nodes and a second snapshot corresponding to the data at the second virtualization node of the plurality of virtualization nodes, the first snapshot and the second snapshot each comprising metadata that points to an actual data of the virtual disk corresponding to the data, for the second virtualization node that does not own the data, the SVM on the second virtualization node manages access to the data locally using a resource of the second virtualization node to access the second snapshot on the second virtualization node that corresponds to the actual data of the virtual disk, and for the first virtualization node that does own the data, the SVM on the first virtualization node manages access to the data using a resource of the first virtualization node to access the first snapshot on the first virtualization node that corresponds to the actual data of the virtual disk. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A system, comprising:
-
a processor; a memory comprising computer code executed using the processor, in which the computer code implements a method for implementing decentralized access to data in a virtualization environment, the method comprising; maintaining a virtualization environment that comprises at least a plurality of virtualization nodes, the plurality of virtualization nodes each comprising physical components including at least a processor and one or more storage devices, two or more the plurality of virtualization nodes each comprising at least a hypervisor and a service virtual machine (SVM) running as a virtual machine above the hypervisor, wherein the SVM manages at least a portion of one of the one or more storage devices as part of a storage pool; receiving a plurality of requests for access to data from the plurality of virtualization nodes including at least a first virtualization node and a second virtualization node; identifying the data that corresponds to a virtual disk structured from the one or more storage devices in the storage pool, wherein the data is owned by the first virtualization node of the plurality of virtualization nodes; and sharing the data with the plurality of virtualization nodes using snapshots by; creating a first snapshot corresponding to the data at the first virtualization node of the plurality of virtualization nodes and a second snapshot corresponding to the data at the second virtualization node of the plurality of virtualization nodes, the first snapshot and the second snapshot each comprising metadata that points to an actual data of the virtual disk corresponding to the data; for the second virtualization node that does not own the data, the SVM on the second virtualization node manages access to the data locally using a resource of the second virtualization node to access the second snapshot on the second virtualization node that corresponds to at least the actual data of the virtual disk; and for the first virtualization node that does own the data, the SVM on the first virtualization node manages access to the data using a resource of the first virtualization node to access the first snapshot on the first virtualization node that corresponds to the actual data of the virtual disk. - View Dependent Claims (17, 18, 19, 20, 21)
-
Specification