Distributing lookup operations in a striped storage system
First Claim
1. A method for distributing lookup operations in a cluster comprising one or more N-blades connected to one or more D-blades, the method comprising:
- maintaining a D-blade storing, at one or more storage devices, mappings between a data container attribute that defines a data container and an inode number associated with the data container;
at the D-blade storing the mappings, performing the following steps;
determining an identification (ID) of a D-blade in the cluster for caching the data container attribute on a storage device to which a lookup request for the data container will be directed by an N-blade, andselecting an inode number for the data container attribute so that a D-blade that serves a lookup request has a same ID as a D-blade that serves a metadata request;
at a D-blade selected to cache metadata and the data container attribute, is performing;
in response to receiving a metadata request from the N-blade, caching the metadata and the data container attribute and providing the metadata to a client,in response to receiving, from the N-blade, the lookup request for the data container based on the data container attribute, satisfying the received lookup request without the lookup request for the data container being sent by the N-blade to the D-blade that stores the mappings.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a mechanism for storing and accessing attributes of a data container (e.g., characteristics such as a name of a data container used to perform a lookup operation against the data container) in cache memory within storage systems in a cluster of storage systems. Further, a mechanism is provided so that an attribute of a data container is inserted into a cache memory of preferably one storage system (in the cluster) that caches metadata of the data container (e.g., information describing the data container). As a result, a lookup operation for a data container is directed to and served by the storage system that caches the metadata and the attribute of the data container.
70 Citations
11 Claims
-
1. A method for distributing lookup operations in a cluster comprising one or more N-blades connected to one or more D-blades, the method comprising:
-
maintaining a D-blade storing, at one or more storage devices, mappings between a data container attribute that defines a data container and an inode number associated with the data container; at the D-blade storing the mappings, performing the following steps; determining an identification (ID) of a D-blade in the cluster for caching the data container attribute on a storage device to which a lookup request for the data container will be directed by an N-blade, and selecting an inode number for the data container attribute so that a D-blade that serves a lookup request has a same ID as a D-blade that serves a metadata request; at a D-blade selected to cache metadata and the data container attribute, is performing; in response to receiving a metadata request from the N-blade, caching the metadata and the data container attribute and providing the metadata to a client, in response to receiving, from the N-blade, the lookup request for the data container based on the data container attribute, satisfying the received lookup request without the lookup request for the data container being sent by the N-blade to the D-blade that stores the mappings. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for distributing lookup operations in a cluster of nodes, the method comprising:
-
maintaining a D-blade storing, on one or more storage devices, mappings between a data container attribute and an inode number associated with a data container; distributing a cache of the data container attribute that defines a data container in the cluster so that the data container attribute is cached by one D-blade in the cluster comprising one or more N-blades connected to one or more D-blades; receiving, at the D-blade storing the mappings, a request to create a data container, from an N-blade, and creating a data container based on the data container attribute; determining, at the D-blade storing the mappings, using a first function, an identification (ID) of the D-blade in the cluster to cache the data container attribute on a storage device and to which a lookup request for a data container will be directed by an N-blade that will receive a lookup request from a client; allocating, at the D-blade storing the mappings, an inode number for the data container attribute so a lookup request and a request for metadata are directed to the D-blade that caches the data container attribute; caching, by the D-blade having the ID, the data container attribute and metadata; determining using the first function, by an N-blade receiving a lookup request for the data container based on the a data container attribute, the ID of the D-blade that caches the data container attribute and forwarding the received lookup request to the D-blade that caches the data container attribute without sending the received lookup request to the D-blade that stores the mappings.
-
-
11. A non-transitory computer-program product comprising:
-
a computer-readable medium having computer program code embodied thereon for distributing lookup operations in a cluster comprising one or more N-blades connected to one or more D-blades, the computer program code configured to; maintain a D-blade storing, at one or more storage devices, mappings between a data container attribute that defines a data container and an inode number associated with the data container; at the D-blade storing the mappings, configured to; determine an identification (ID) of a D-blade in the cluster for caching the data container attribute on a storage device to which a lookup request for the data container will be directed by an N-blade, and select an inode number for the data container attribute so that a D-blade that serves the lookup request has a same ID as a D-blade that serves a metadata request; and is at a D-blade selected to cache metadata and the data container attribute, configured to; in response to receiving a metadata request from an N-blade of the one or more N-blades, cache the metadata and the data container attribute and providing the metadata to a client, and in response to receiving, from an N-blade of the one or more N-blades, a lookup request for the data container based on the data container attribute, satisfying the received lookup request without sending the received lookup request from an N-blade to the D-blade that stores the mappings
-
Specification