Method and system for managing metadata for a virtualization environment
First Claim
Patent Images
1. A computer implemented method for managing metadata in a virtualization system, comprising:
- identifying metadata to track data within storage devices for the virtualization system, the virtualization system comprising a plurality of nodes that includes at least a first node having a first local storage device and a first service virtual machine and a second node having a second local storage device and a second service virtual machine, the first local storage device and the second local storage device forming part of a global storage pool such that any of the first node and the second node can access virtual disks on both the first local storage device and the second local storage device, with the first node and the second node concurrently accessing the metadata through their respective service virtual machines to manage the virtual disks within the global storage pool the virtual disks being virtual structures implemented by the metadata managed by the first and second service virtual machines;
performing a compare and swap operation to manage an update to the metadata maintained by service virtual machines on each of the plurality of nodes in the virtualization system, the compare and swap operation addressing possible data inconsistencies caused by multiple update operations generated by the plurality of nodes when concurrently updating the metadata for the data in the global storage pool having the first local storage device and the second local storage device that are accessible by both the first node and the second node through their respective service virtual machines, wherein validation information for the metadata is processed by the first or second service virtual machines to perform the update;
receiving, from a node from among the plurality of nodes, an instruction to perform a read operation;
before performing the read operation, determining whether the plurality of nodes comprises a downed node;
if the plurality of nodes comprises the downed node, then incrementing a current consensus instance to a new instance count and choosing a value for a prior instance to be associated with the new instance count; and
invalidating a write operation for the downed node if the downed node comes back up, wherein the write operation for the downed node is invalidated as a result of a consensus instance corresponding to the write operation being different than the new instance count.
3 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is an improved approach for managing updates to metadata for a virtualization environment. According to some embodiments, a compare and swap approach is taken to manage updates and to handle possible inconsistencies.
-
Citations
49 Claims
-
1. A computer implemented method for managing metadata in a virtualization system, comprising:
-
identifying metadata to track data within storage devices for the virtualization system, the virtualization system comprising a plurality of nodes that includes at least a first node having a first local storage device and a first service virtual machine and a second node having a second local storage device and a second service virtual machine, the first local storage device and the second local storage device forming part of a global storage pool such that any of the first node and the second node can access virtual disks on both the first local storage device and the second local storage device, with the first node and the second node concurrently accessing the metadata through their respective service virtual machines to manage the virtual disks within the global storage pool the virtual disks being virtual structures implemented by the metadata managed by the first and second service virtual machines; performing a compare and swap operation to manage an update to the metadata maintained by service virtual machines on each of the plurality of nodes in the virtualization system, the compare and swap operation addressing possible data inconsistencies caused by multiple update operations generated by the plurality of nodes when concurrently updating the metadata for the data in the global storage pool having the first local storage device and the second local storage device that are accessible by both the first node and the second node through their respective service virtual machines, wherein validation information for the metadata is processed by the first or second service virtual machines to perform the update; receiving, from a node from among the plurality of nodes, an instruction to perform a read operation; before performing the read operation, determining whether the plurality of nodes comprises a downed node; if the plurality of nodes comprises the downed node, then incrementing a current consensus instance to a new instance count and choosing a value for a prior instance to be associated with the new instance count; and invalidating a write operation for the downed node if the downed node comes back up, wherein the write operation for the downed node is invalidated as a result of a consensus instance corresponding to the write operation being different than the new instance count. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer program product embodied on a non-transitory computer readable medium, the non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor causes the processor to execute a method for managing metadata in a virtualization system, the method comprising:
- identifying metadata to track data within storage devices for the virtualization system, the virtualization system comprising a plurality of nodes that includes at least a first node having a first local storage device and a first service virtual machine and a second node having a second local storage device and a second service virtual machine, the first local storage device and the second local storage device forming part of a global storage pool such that any of the first node and the second node can access virtual disks on both the first local storage device and the second local storage device, with the first node and the second node concurrently accessing the metadata through their respective service virtual machines to manage the virtual disks within the global storage pool the virtual disks being virtual structures implemented by the metadata managed by the first and second service virtual machines;
performing a compare and swap operation to manage an update to the metadata maintained by service virtual machines on each of the plurality of nodes in the virtualization system, the compare and swap operation addressing possible data inconsistencies caused by multiple update operations generated by the plurality of nodes when concurrently updating the metadata for the data in the global storage pool having the first local storage device and the second local storage device that are accessible by both the first node and the second node through their respective service virtual machines, wherein validation information for the metadata is processed by the first or second service virtual machines to perform the update; receiving, from a node from among the plurality of nodes, an instruction to perform a read operation; before performing the read operation, determining whether the plurality of nodes comprises a downed node; if the plurality of nodes comprises the downed node, then incrementing a current consensus instance to a new instance count and choosing a value for a prior instance to be associated with the new instance count; and invalidating a write operation for the downed node if the downed node comes back up, wherein the write operation for the downed node is invalidated as a result of a consensus instance corresponding to the write operation being different than the new instance count. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
- identifying metadata to track data within storage devices for the virtualization system, the virtualization system comprising a plurality of nodes that includes at least a first node having a first local storage device and a first service virtual machine and a second node having a second local storage device and a second service virtual machine, the first local storage device and the second local storage device forming part of a global storage pool such that any of the first node and the second node can access virtual disks on both the first local storage device and the second local storage device, with the first node and the second node concurrently accessing the metadata through their respective service virtual machines to manage the virtual disks within the global storage pool the virtual disks being virtual structures implemented by the metadata managed by the first and second service virtual machines;
-
35. A storage system comprising storage devices in a virtualization system, comprising:
-
a processor to handle computing instructions to access the storage devices; and
computer readable medium comprising identifying metadata to track data within storage devices for the virtualization system, the virtualization system comprising a plurality of nodes that includes at least a first node having a first local storage device and a first service virtual machine and a second node having a second local storage device and a second service virtual machine, the first local storage device and the second local storage device forming part of a global storage pool such that any of the first node and the second node can access virtual disks on both of the first local storage device and the second local storage device, with the first node and the second node concurrently accessing the metadata through their respective service virtual machines to manage the virtual disks within the global storage pool, the virtual disks being virtual structures implemented by the metadata managed by the first and second service virtual machines,where a compare and swap operation is performed to manage an update to the metadata maintained by service virtual machines on each of the plurality of nodes in the virtualization system, the compare and swap operation addressing possible data inconsistencies caused by multiple update operations generated by the plurality of nodes when concurrently updating the metadata for the data in the global storage pool having the first local storage device and the second local storage device that are accessible by both the first node and the second node through their respective service virtual machines, wherein validation information for the metadata is processed by the first or second service virtual machines to perform the update; receiving, from a node from among the plurality of nodes, an instruction to perform a read operation; before performing the read operation determining whether the plurality of nodes comprises a downed node; if the plurality of nodes comprises the downed node, then incrementing a current consensus instance to a new instance count and choosing a value for a prior instance to be associated with the new instance count; and invalidating a write operation for the downed node if the downed node comes back up, wherein the write operation for the downed node is invalidated as a result of a consensus instance corresponding to the write operation being different than the new instance count. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49)
-
Specification