Directory-level referral method for parallel NFS with multiple metadata servers
First Claim
1. 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,wherein 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;
wherein 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;
wherein each directory in the MDSs has an inode, the inode including an inode number, a mode of “
referral”
for a referral directory and “
normal”
for a directory which is not a referral directory, a file system identifier, and a location entry;
wherein the file system identifier uniquely identifies the referral directory if the mode is referral;
wherein the location entry has an IP address of the MDS in which the real directory is located and a hash value of the inode number if the mode is referral;
wherein the inode of a directory further includes a count which is a number of MDSs to at least some of which sub-directories of the directory are to be distributed, and a MDS-List which is a list of IP addresses of MDSs to at least some of which the sub-directories are to be distributed; and
wherein the count and MDS-List are determined based on depth and width of the directory.
1 Assignment
0 Petitions
Accused Products
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.
26 Citations
20 Claims
-
1. 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,
wherein 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; wherein 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; wherein each directory in the MDSs has an inode, the inode including an inode number, a mode of “
referral”
for a referral directory and “
normal”
for a directory which is not a referral directory, a file system identifier, and a location entry;wherein the file system identifier uniquely identifies the referral directory if the mode is referral; wherein the location entry has an IP address of the MDS in which the real directory is located and a hash value of the inode number if the mode is referral; wherein the inode of a directory further includes a count which is a number of MDSs to at least some of which sub-directories of the directory are to be distributed, and a MDS-List which is a list of IP addresses of MDSs to at least some of which the sub-directories are to be distributed; and wherein the count and MDS-List are determined based on depth and width of the directory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
- having a processor and a memory and storing file system metadata,
-
13. A method of managing directories in a distributed storage system which includes a plurality of MDSs (metadata servers) storing file system metadata and data servers storing file contents, the method comprising:
-
distributing directories of a file system namespace to the MDSs through referral directories referring to real directories using hash value of inode number of each of the referral directories; wherein 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; wherein each directory in the MDSs has an inode, the inode including an inode number, a mode of “
referral”
for a referral directory and “
normal”
for a directory which is not a referral directory, a file system identifier, and a location entry;wherein the file system identifier uniquely identifies the referral directory if the mode is referral; wherein the location entry has an IP address of the MDS in which the real directory is located and a hash value of the inode number if the mode is referral; wherein the inode of a directory further includes a count which is a number of MDSs to at least some of which sub-directories of the directory are to be distributed, and a MDS-List which is a list of IP addresses of MDSs to at least some of which the sub-directories are to be distributed; and wherein the count and MDS-List are determined based on depth and width of the directory. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification