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 that includes a plurality of metadata volumes, comprising:
- receiving a request with respect to a file, the request identifying an absolute pathname of the file in the aggregated file system;
accessing a plurality of mount entries, wherein each mount entry is associated with a respective metadata volume as a parent metadata volume and identifies a respective distinct child metadata volume and an relative pathname associated with the child metadata volume; and
identifying a target metadata volume among the metadata volumes in accordance with the request and the mount entries, including recursively identifying a mount entry, if any, associated with a current metadata volume, wherein the mount entry identifies a relative pathname matching a respective portion of the absolute pathname, and resetting the current metadata volume to the child metadata volume identified by the identified mount entry, until no mount entry associated with the current metadata volume is found that matches a respective portion of the absolute pathname;
the target metadata volume comprising the last child metadata volume so identified.
2 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.
48 Citations
21 Claims
-
1. A method of handling a file processing request in an aggregated file system that includes a plurality of metadata volumes, comprising:
-
receiving a request with respect to a file, the request identifying an absolute pathname of the file in the aggregated file system;
accessing a plurality of mount entries, wherein each mount entry is associated with a respective metadata volume as a parent metadata volume and identifies a respective distinct child metadata volume and an relative pathname associated with the child metadata volume; and
identifying a target metadata volume among the metadata volumes in accordance with the request and the mount entries, including recursively identifying a mount entry, if any, associated with a current metadata volume, wherein the mount entry identifies a relative pathname matching a respective portion of the absolute pathname, and resetting the current metadata volume to the child metadata volume identified by the identified mount entry, until no mount entry associated with the current metadata volume is found that matches a respective portion of the absolute pathname;
the target metadata volume comprising the last child metadata volume so identified. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. 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 mount entry is associated with a respective metadata volume 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;
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; and
instructions for identifying a target metadata volume among the metadata volumes in accordance with the request and the mount entries, including instructions for recursively identifying a mount entry, if any, associated with a current metadata volume, wherein the mount entry identifies a relative pathname matching a respective portion of the absolute pathname, and resetting the current metadata volume to the child metadata volume identified by the identified mount entry, until no mount entry associated with the current metadata volume is found that matches a respective portion of the absolute pathname;
the target metadata volume comprising the last child metadata volume so identified. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. 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, metadata volumes and client computers, the information exchanged including information concerning a specified file;
a plurality of mount entries, wherein each mount entry is associated with a respective metadata volume 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; and
instructions for identifying a target metadata volume among the metadata volumes in accordance with the request and the mount entries, including instructions for recursively identifying a mount entry, if any, associated with a current metadata volume, wherein the mount entry identifies a relative pathname matching a respective portion of the absolute pathname, and resetting the current metadata volume to the child metadata volume identified by the identified mount entry, until no mount entry associated with the current metadata volume is found that matches a respective portion of the absolute pathname;
the target metadata volume comprising the last child metadata volume so identified. - View Dependent Claims (18)
-
-
19. An aggregated file system, comprising:
-
a plurality of file servers, wherein at least one of them is a self-sustained file server; and
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;
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 (20, 21)
-
Specification