DATA DISTRIBUTION THROUGH CAPACITY LEVELING IN A STRIPED FILE SYSTEM
First Claim
1. A method for capacity leveling in a clustered computer system supporting a striped file system comprising:
- assigning a capacity value associated with each node of a plurality of nodes organized as the clustered computer system to support the striped file system;
iteratively adjusting, by a volume striping module executing on a processor of one of the plurality of nodes, a number of occurrences of a node within a striping data structure to generate a capacity leveled striping data structure based on the capacity value associated with each node; and
utilizing the capacity leveled striping data structure to perform data allocation in the striped file system in response to data access requests.
1 Assignment
0 Petitions
Accused Products
Abstract
A data distribution technique is configured to provide capacity leveling in a striped file system. When a new node is added to a striped volume set, the striping table is evolved to accommodate the newly added node. Each node of a cluster is illustratively associated with a capacity value that takes into account, e.g., processor speed, number of processors, hardware configuration and/or software available for the node. During the evolution process of the striping table, the technique apportions stripes of the SVS among the nodes in a manner so that they are optimally assigned to the nodes in accordance with each node'"'"'s capacity value. By utilizing the evolutionary striping table that incorporates capacity values, heterogeneous nodes may be utilized to their maximum capacity within a striped volume set, thereby reducing underutilized processing resources.
-
Citations
21 Claims
-
1. A method for capacity leveling in a clustered computer system supporting a striped file system comprising:
-
assigning a capacity value associated with each node of a plurality of nodes organized as the clustered computer system to support the striped file system; iteratively adjusting, by a volume striping module executing on a processor of one of the plurality of nodes, a number of occurrences of a node within a striping data structure to generate a capacity leveled striping data structure based on the capacity value associated with each node; and utilizing the capacity leveled striping data structure to perform data allocation in the striped file system in response to data access requests. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for generating a capacity leveled striping data structure for use in a clustered computer system supporting a striped file system comprising:
-
assigning a capacity value associated with each node of a plurality of nodes organized as the clustered computer system to support the striped file system, wherein the capacity value reflects a determination of processing speed associated with a node as compared to other nodes of the plurality of nodes; iteratively adjusting, by a volume striping module executing on a processor of one of the plurality of nodes, a number of occurrences of a node within a striping data structure to generate the capacity leveled striping data structure based on the capacity value associated with each node wherein the capacity leveled striping data structure contains each node in proportion to the node'"'"'s capacity value divided by a sum of the capacity values of all nodes in the clustered computer system; and utilizing, by the volume striping module, the capacity leveled striping data structure to allocate data among the nodes of the clustered computer system.
-
-
11. A system comprising:
a set of nodes, each comprising a processor, organized as a cluster configured to support a striped file system comprising a striped volume set apportioned among volumes stored on the set of nodes, wherein each of the set of nodes is associated with a capacity value; and a volume striping module, executing on one of the processors, configured to apportion stripes of the striped volume set among the volumes stored on the set of nodes so that each node appears in a striping data structure in approximate proportion to the node'"'"'s capacity value divided by a total of all capacity values of the set of nodes, wherein the striped file system is further configured to utilize the striping data structure to perform data allocation on the striped file system in response to data access requests. - View Dependent Claims (12, 13, 14, 15, 16)
-
17. A method comprising:
-
adding a new node to a set of nodes configured as a cluster to support a striped file system of a storage system; evolving a striping data structure associated with the striped file system to incorporate the new node, wherein the evolved striping data structure comprises entries for each of the set of nodes and the new node in approximate proportion to a capacity value associated with each of the nodes divided by a total of all of the capacity values of the set of nodes and the new node; and utilizing the capacity leveled striping data structure to perform data allocation on the striped file system in response to data access requests. - View Dependent Claims (18, 19, 20, 21)
-
Specification