Abstract:
An aspect of the invention is directed to a plurality of MDSs (metadata servers) in a distributed storage system which includes data servers storing file contents, each MDS having a processor and a memory and storing file system metadata. Directories of a file system namespace are distributed to the MDSs through referral directories referring to real directories using hash value of inode number of each of the referral directories. During a process to create a directory in the file system namespace, a first MDS dynamically creates a referral directory in the first MDS, and creates a real directory in a second MDS, the referral directory in the first MDS referring to the real directory in the second MDS by maintaining location information of the real directory in the second MDS, the real directory in the second MDS containing the file system metadata for the directory in the file system namespace.
Abstract:
An MDS (metadata server) in a distributed storage system includes data servers (DSs) storing file contents and one or more MDSs performing metadata operations in response to metadata requests of different types, the MDS including a controller having a processor and a memory, the MDS storing file system metadata. The controller is configured to: classify the metadata operations into different categories, which include a normal category and one or more special categories different from the normal category, the normal category having a primary stage which does not involve communication between the MDS and a component external to the MDS; for each special category, partition each metadata operation into a plurality of stages at least one of which involves communication between the MDS and a component external to the MDS; and dynamically assign resources to each of the partitioned stage based on monitored workloads of the different types of metadata requests.