SCALABLE SYSTEM FOR PARTITIONING AND ACCESSING METADATA OVER MULTIPLE SERVERS
First Claim
1. A method of handling a file processing request in an aggregated file system, comprising:
- receiving a request with respect to a file, the request identifying an absolute pathname of the file in the aggregated file system;
identifying a target metadata volume that hosts metadata of the file among the metadata volumes in accordance with the request and one or more mount entries each associated with a respective one of a plurality of metadata volumes, including recursively identifying a mount entry when associated with a current metadata volume, wherein the mount entry identifies a relative pathname matching a respective portion of the absolute pathname, the identified relative pathname further comprising pathname sub-components of sizes ranging from one pathname component to a size of the identified relative pathname; and
selecting at least one of the pathname sub-components is selected using the identified mount entry based upon a number indicated in a list entry pointed to by the identified mount entry in response to the request to a file switch for assembling the file.
0 Assignments
0 Petitions
Accused Products
Abstract
In an aggregated file system, metadata is partitioned into multiple metadata volumes. On receipt of a file processing request, a file switch examines its mount entry cache to identify a target metadata volume that hosts the metadata of the requested file. The identification begins with mount entries at a root volume and continues recursively by examining a portion of the absolute pathname of the file until the target metadata volume is identified. Finally, the file switch forwards the request to a metadata server managing the target metadata volume. Since the identification process is carried out completely within the file switch, there is no need for multiple expensive network accesses to different metadata servers.
-
Citations
30 Claims
-
1. A method of handling a file processing request in an aggregated file system, comprising:
-
receiving a request with respect to a file, the request identifying an absolute pathname of the file in the aggregated file system; identifying a target metadata volume that hosts metadata of the file among the metadata volumes in accordance with the request and one or more mount entries each associated with a respective one of a plurality of metadata volumes, including recursively identifying a mount entry when associated with a current metadata volume, wherein the mount entry identifies a relative pathname matching a respective portion of the absolute pathname, the identified relative pathname further comprising pathname sub-components of sizes ranging from one pathname component to a size of the identified relative pathname; and selecting at least one of the pathname sub-components is selected using the identified mount entry based upon a number indicated in a list entry pointed to by the identified mount entry in response to the request to a file switch for assembling the file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. An aggregated file system, comprising:
-
a plurality of file servers; a plurality of metadata servers that manage a plurality of metadata volumes; and a plurality of file switches, each file switch including a plurality of mount entries, wherein each of the plurality of mount entries is associated with a respective one of the plurality of metadata volumes as a parent metadata volume and identifies a respective distinct child metadata volume and an associated relative pathname; at least one interface for exchanging information with the file servers, the metadata volumes and client computers; and at least one processing unit for executing stored instructions comprising; instructions for receiving a request with respect to a specified file, the request including an absolute pathname of the specified file in the aggregated file system, instructions for identifying a target metadata volume that hosts metadata of the file among the metadata volumes in accordance with the request and one or more mount entries each associated with a respective one of a plurality of metadata volumes, including instructions for recursively identifying a mount entry when associated with a current metadata volume, wherein the mount entry identifies a relative pathname matching a respective portion of the absolute pathname, the identified relative pathname further comprising pathname sub-components of sizes ranging from one pathname component to a size of the identified relative pathname; and instructions for selecting at least one of the pathname sub-components is selected using the identified mount entry based upon a number indicated in a list entry pointed to by the identified mount entry in response to the request to a file switch for assembling the file. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A file switch for use in a computer network having a plurality of file servers, a plurality of metadata volumes and a plurality of client computers, the file switch comprising:
-
at least one processing unit for executing computer programs; at least one interface for exchanging information with the file servers, the metadata volumes and the client computers, the information exchanged including information concerning a specified file; and a plurality of mount entries, wherein each of the plurality of mount entries is associated with a respective one of the plurality of metadata volumes as a parent metadata volume and identifies a respective distinct child metadata volume and an associated relative pathname, instructions for receiving a request with respect to the specified file, the request including an absolute pathname of the specified file in the aggregated file system, instructions for identifying a target metadata volume that hosts metadata of the file among the metadata volumes in accordance with the request and one or more mount entries each associated with a respective one of a plurality of metadata volumes, including instructions for recursively identifying a mount entry when associated with a current metadata volume, wherein the mount entry identifies a relative pathname matching a respective portion of the absolute pathname, the identified relative pathname further comprising pathname sub-components of sizes ranging from one pathname component to a size of the identified relative pathname; and instructions for selecting at least one of the pathname sub-components is selected using the identified mount entry based upon a number indicated in a list entry pointed to by the identified mount entry in response to the request to a file switch for assembling the file. - View Dependent Claims (24, 25, 26, 27)
-
-
28. An aggregated file system, comprising:
-
a plurality of file servers, wherein at least one of them is a self-sustained file server configured to be insulated from striping and mirroring strategy implemented in the aggregated file system; a plurality of file switches, each file switch including a plurality of mount entries, wherein at least one of the mount entries references the self-sustained file server; and at least one of the plurality of file switches having at least one processing unit for executing stored instructions comprising; instructions for receiving a request with respect to a specified file, the request including an absolute pathname of the specified file in the aggregated file system, instructions for identifying the mount entry referencing the self-sustained file server in accordance with the absolute pathname of the specified file, and instructions for transferring the request to the self-sustained file server through the identified mount entry. - View Dependent Claims (29, 30)
-
Specification