Managing resources in cluster storage systems
AssigneeHewlett-Packard Development Company, L.P.
InventorsMichael B. Jacobson, Douglas L. Voigt, Ronald D. Rodriguez, Brian L. Patterson, Randy Matthews
Life of this patent
Estimating the term…
Abstract
Embodiments include methods, apparatus, and systems for managing resources in a storage system. One embodiment includes a method that discovers storage resources for arrays in a cluster storage system. A table defines how the resources are divided among the arrays and is provided to the arrays so each array can identify which resources to manage.
Claims18
A method, comprising:
- discovering storage resources for arrays in a cluster storage system, wherein the arrays include respective storage controllers, and the storage controllers are to handle data requests received from host devices over a network;
- filtering the storage resources to define ownership of the storage resources among the arrays;
- providing the filtered storage resources to the arrays so each array in the cluster storage system receives information associated with a different portion of the storage resources;
- hiding a portion of the storage resources from each of the arrays such that storage resources not assigned to a given array are hidden and not visible to firmware of the storage controller of the given array;
- determining, by a given one of the storage controllers, whether a configuration table exists;
- and
- in response to determining that the configuration table does not exist, performing, by the given storage controller, the discovering, the filtering, and creating of the configuration table that defines which of the storage resources are visible to the respective arrays and which of the storage resources are hidden from the respective arrays.
A non-transitory computer-readable storage medium storing instructions that upon execution cause a computer to:
- select a given controller to be a configuration portal for installing a new cluster in a storage system that includes a first array and a second array, wherein each of the first and second arrays includes a respective storage controller, and the storage controllers are to handle data requests received from host devices over a network;
- discover storage resources via the given controller;
- create a table that assigns ownership of the storage resources to the first and second arrays in the cluster, wherein the table determines which of the storage resources each of the first and second arrays sees such that storage resources in the table not assigned to the first array but assigned to the second array are hidden and not visible to firmware of the storage controller of the first array, wherein the table has a plurality of entries, where a first of the entries includes a name of the first array and one or more identifiers of one or more storage resources that are visible to the first array, and a second of the entries includes a name of the second array and one or more identifiers of one or more storage resources that are visible to the second array.
A method, comprising:
- discovering, with a layer in firmware of a controller in an array, storage resources for arrays in a cluster storage system, wherein the arrays include respective controllers, and the controllers are to handle data requests received from host devices over a network;
- generating a table to define how ownership of the storage resources are divided among the arrays, wherein the table determines which of the storage resources each of the arrays sees such that storage resources in the table not assigned to a first array but assigned to a second array are hidden and not visible to firmware of the controller of the first array, wherein the table has a plurality of entries, where a first of the entries includes a name of the first array and one or more identifiers of one or more storage resources that are visible to the first array, and a second of the entries includes a name of the second array and one or more identifiers of one or more storage resources that are visible to the second array;
- and
- providing the table to the arrays so each array can identify which storage resources to manage.
A method, comprising:
- discovering storage resources for arrays in a cluster storage system, wherein the arrays include respective storage controllers, and the storage controllers are to handle data requests received from host devices over a network;
- filtering the storage resources to define ownership of the storage resources among the arrays;
- providing the filtered storage resources to the arrays so each array in the cluster storage system receives information associated with a different portion of the storage resources;
- hiding a portion of the storage resources from each of the arrays such that storage resources not assigned to a given array are hidden and not visible to firmware of the storage controller of the given array;
- generating a table of the storage resources discovered in the cluster storage system, wherein the table has a plurality of entries, and wherein each of the plurality of entries includes a name of a corresponding one of the arrays and one or more identifiers of one or more storage resources that are visible to the corresponding array;
- defining the ownership of the storage resources in the table;
- and
- providing only a portion of the table to the corresponding storage controller in each of the arrays.
A non-transitory computer-readable storage medium storing instructions that upon execution cause a computer to:
- select a given controller to be a configuration portal for installing a new cluster in a storage system that includes a first array and a second array, wherein each of the first and second arrays includes a respective storage controller, and the storage controllers are to handle data requests received from host devices over a network;
- discover storage resources via the given controller;
- create a table that assigns ownership of the storage resources to the first and second arrays in the cluster, wherein the table determines which of the storage resources each of the first and second arrays sees such that storage resources in the table not assigned to the first array but assigned to the second array are hidden and not visible to firmware of the storage controller of the first array;
- determine whether the table exists;
- and
- in response to determining that the table does not exist, perform the discovering and the creating.
Dependencies are inferred from the claim text.