Mechanism for providing load balancing to an external node utilizing a clustered environment for storage management
First Claim
1. A method for providing load balancing to a client node external to a clustered environment for storage management, comprising:
- identifying a clustered environment having a plurality of nodes, wherein at least some of the plurality of nodes comprise a controller virtual machine functioning as a storage controller for virtual machines hosted at respective nodes, the controller virtual machine working with other controller virtual machines to form a distributed system within the clustered environment to manage a storage pool comprising a plurality of storage resources spread across the at least some of the plurality of nodes;
deploying a load balancing component at the client node, wherein the client node is external to the clustered environment and the client node hosts virtual machines;
receiving I/O requests issued by the virtual machines hosted at the client node by the load balancing component;
performing a hashing algorithm on content of the I/O requests by the load balancing component to identify one or more controller virtual machines at the clustered environment for handling the I/O requests; and
dynamically distributing the I/O requests from the load balancing component to the one or more controller virtual machines at the clustered environment for storage management, wherein the load balancing component maintains metadata related to I/O requests issued by the virtual machines hosted at the client node, the metadata including information pertaining to which controller virtual machines at the clustered environment previously handled I/O requests for virtual machines hosted at the client node.
3 Assignments
0 Petitions
Accused Products
Abstract
A method for providing load balancing to a client node external to a clustered environment for storage management, includes deploying a lightweight load balancing component at the client node, receiving I/O requests issued by virtual machines hosted at the client node by the lightweight load balancing component, performing a hashing algorithm on content of the I/O requests by the lightweight load balancing component to identify one or more controller virtual machines at the clustered environment for handling the I/O requests and dynamically distributing the I/O requests from the lightweight load balancing component to the one or more controller virtual machines at the clustered environment for storage management.
18 Citations
39 Claims
-
1. A method for providing load balancing to a client node external to a clustered environment for storage management, comprising:
-
identifying a clustered environment having a plurality of nodes, wherein at least some of the plurality of nodes comprise a controller virtual machine functioning as a storage controller for virtual machines hosted at respective nodes, the controller virtual machine working with other controller virtual machines to form a distributed system within the clustered environment to manage a storage pool comprising a plurality of storage resources spread across the at least some of the plurality of nodes; deploying a load balancing component at the client node, wherein the client node is external to the clustered environment and the client node hosts virtual machines; receiving I/O requests issued by the virtual machines hosted at the client node by the load balancing component; performing a hashing algorithm on content of the I/O requests by the load balancing component to identify one or more controller virtual machines at the clustered environment for handling the I/O requests; and dynamically distributing the I/O requests from the load balancing component to the one or more controller virtual machines at the clustered environment for storage management, wherein the load balancing component maintains metadata related to I/O requests issued by the virtual machines hosted at the client node, the metadata including information pertaining to which controller virtual machines at the clustered environment previously handled I/O requests for virtual machines hosted at the client node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. 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 providing load balancing to a client node external to a clustered environment for storage management, comprising:
-
identifying a clustered environment having a plurality of nodes, wherein at least some of the plurality of nodes comprise a controller virtual machine functioning as a storage controller for virtual machines hosted at respective nodes, the controller virtual machine working with other controller virtual machines to form a distributed system within the clustered environment to manage a storage pool comprising a plurality of storage resources spread across the at least some of the plurality of nodes; deploying a load balancing component at the client node, wherein the client node is external to the clustered environment and the client node hosts virtual machines; receiving I/O requests issued by the virtual machines hosted at the client node by the load balancing component; performing a hashing algorithm on content of the I/O requests by the load balancing component to identify one or more controller virtual machines at the clustered environment for handling the I/O requests; and dynamically distributing the I/O requests from the load balancing component to the one or more controller virtual machines at the clustered environment for storage management, wherein the load balancing component maintains metadata related to I/O requests issued by the virtual machines hosted at the client node, the metadata including information pertaining to which controller virtual machines at the clustered environment previously handled I/O requests for virtual machines hosted at the client node. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A system, comprising:
-
a processor; and a memory comprising computer code executed using the processor, in which the computer code implements a method for providing load balancing to a client node external to a clustered environment for storage management, the method comprising; identifying a clustered environment having a plurality of nodes, wherein at least some of the plurality of nodes comprise a controller virtual machine functioning as a storage controller for virtual machines hosted at respective nodes, the controller virtual machine working with other controller virtual machines to form a distributed system within the clustered environment to manage a storage pool comprising a plurality of storage resources spread across the at least some of the plurality of nodes; deploying a load balancing component at the client node, wherein the client node is external to the clustered environment and the client node hosts virtual machines; receiving I/O requests issued by the virtual machines hosted at the client node by the load balancing component; performing a hashing algorithm on content of the I/O requests by the load balancing component to identify one or more controller virtual machines at the clustered environment for handling the I/O requests; and dynamically distributing the I/O requests from the load balancing component to the one or more controller virtual machines at the clustered environment for storage management, wherein the load balancing component maintains metadata related to I/O requests issued by the virtual machines hosted at the client node, the metadata including information pertaining to which controller virtual machines at the clustered environment previously handled I/O requests for virtual machines hosted at the client node. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
Specification