Claims
- 1. A computer network file system, comprising:
a first file server operably connected to a network fabric; a file system comprising first file system information loaded on said first file server, said file system configured to create second file system information on a second file server that comes online sometime after said first file server has begun servicing file requests, said file system configured to allow a requester to locate files stored by said first file server and files stored by said second file server without prior knowledge as to which file server stores said files.
- 2. The computer network file system of claim 1, wherein said first file system information comprises directory information that describes a directory structure of a portion of the network file system whose directories are stored on disks accessible by said first file server, said directory information comprising location information for a first file, said location information comprising a server id that identifies at least said first file server or said second file server.
- 3. The computer network file system of claim 2, wherein said first directory information comprises directory location information for said second directory information, said directory location information comprising a server id that identifies said second file server.
- 4. The computer network file system of claim 2, wherein said first directory information comprises a root directory.
- 5. The computer network file system of claim 2, wherein said location information further comprises a disk id that identifies a disk drive attached to a file server corresponding to said server id.
- 6. The computer network file system of claim 5, wherein a Gnid-string comprises a collection of gnids.
- 7. The computer network file system of claim 1, wherein said file system comprises file attributes that include at least one of a file id, a file access time, a file creation time, and a file modification time.
- 8. The computer network file system of claim 1, wherein said file system comprises information to specify a first logical disk block of a first file and information to specify a disk that contains said first logical block.
- 9. The computer network file system of claim 1, wherein said file system comprises information regarding location of parity data corresponding to one or more blocks of a first file.
- 10. The computer network file system of claim 1, wherein said file system comprises information to specifying a length of a first parity group, said first parity group comprising one or more data blocks and an associated parity block.
- 11. The computer network file system of claim 10, wherein each block of data and parity in said parity group is stored on a separate disk drive such that no single disk drive contains data from two blocks, whether data or parity, of said first parity group.
- 12. The computer network file system of claim 10, wherein said length of said first parity group is independent of a length of a second parity group.
- 13. The computer network file system of claim 1, wherein said first file system information is mirrored on said second file server.
- 14. The computer network file system of claim 1, wherein said network fabric comprises a Fibre channel network.
- 15. The computer network file system of claim 1, wherein said network fabric comprises an ethernet network.
- 16. The computer network file system of claim 1, wherein said network fabric comprises an asynchronous transfer mode network.
- 17. The computer network file system of claim 1, wherein said network fabric comprises a first Fibre channel network and wherein said first file server communicates with one or more disk drives using a second Fibre channel network.
- 18. The computer network file system of claim 1, wherein files stored by said first file server and files stored by said second file server are located in a hierarchical directory structure that spans said first file server and said second file server, said hierarchical directory structure having a root directory, said first file system information comprising directory information that describes directories stored on said first file server, said second file system information comprising directory information that describes directories stored on said second file server, said first directory information comprising location information for finding said second directory information, said location information comprising a server id that identifies said second file server.
- 19. The computer network file system of claim 1, wherein files stored by said first file server and files stored by said second file server are located in a hierarchical directory structure, said first file system information comprising metadata for locating files stored on said second file server.
- 20. The computer network file system of claim 1, wherein said first file system information comprises first metadata that describes directories stored on said first file server, said file system information comprising second metadata that describes directories stored on said second file server, said first metadata comprising location information for locating said second metadata, said location information comprising a server id.
- 21. The computer network file system of claim 20, wherein said first metadata comprises a root directory.
- 22. The computer network file system of claim 20, wherein at least said first metadata comprises file attributes for one or more files stored by said first file server.
- 23. The computer network file system of claim 20, wherein at least said first metadata comprises information to specify a selected logical disk block of a selected file and information to specify a disk that contains said selected logical block.
- 24. The computer network file system of claim 20, wherein said metadata identifies data blocks and parity blocks corresponding to said data blocks.
- 25. The computer network file system of claim 20, wherein said metadata identifies parity groups, said parity groups comprising a plurality of information blocks, said information blocks comprising one or more data blocks, said information blocks further comprising a parity block, each of said information blocks stored on a different disk drive.
- 26. The computer network file system of claim 25, wherein a size of a first parity group is independent of a size of a second parity group.
- 27. A method for adding new servers to a distributed file system during ongoing file system operations, comprising:
loading first file system metadata on a first file server operably connected to a network fabric; creating at least one new file on a second file server that comes online while said first file server is servicing file requests, said at least one new file created in response to a request issued to said first file server, said distributed file system configured to allow a requester to locate files stored by said first file server and files stored by said second file server without prior knowledge as to which file server stores said files.
- 28. The method of claim 27, further comprising storing first file system directory information on said first file server, said first file system directory information describing a directory structure of a portion of the distributed file system whose directories are stored on said first file server, said first file system directory information comprising location information for a first file, said location information comprising a server id that identifies said second file server.
- 29. The method of claim 27, further comprising storing first file system directory information on said first file server, said first file system directory information describing a directory structure of a portion of the distributed file system whose directories are stored on said first file server, said first file system directory information comprising location information for a first file, said location information comprising a server id that identifies a file server containing said first file.
- 30. The method of claim 29, wherein said first file system directory information comprises a root directory.
- 31. The method of claim 27, further comprising defining at least one parity group having a first parity group size, said at least one parity group comprising a parity block and one or more data blocks.
- 32. The method of claim 31, further comprising storing each of said data blocks and said parity block on different disk drives.
- 33. The method of claim 31, further comprising defining at least one parity group having a second parity group size.
- 34. The method of claim 27, further comprising mirroring said first file system directory information on said second file server.
- 35. The method of claim 27, wherein first file system directory information describes at least a portion of a hierarchical directory structure, said hierarchical directory structure spanning said first file server and said second file server, said first file system directory information comprising directory information that describes directories stored on said first file server, and wherein said second file system directory information at least a portion of said hierarchical directory structure comprising directory information that describes directories stored on said second file server, said first directory information comprising location information for finding said second directory information, said location information comprising a server id that identifies said second file server.
- 36. The method of claim 27, further comprising the step of, in said first file server, recognizing that said second file server is online and available for file operations.
- 37. The method of claim 27, further comprising performing a directory lookup by sending a directory lookup request to said first file server, said first file server returning a directory file handle that points to a directory on said second file server.
- 38. A computer network file system, comprising:
a first file server operably connected to a network fabric; means for recognizing that a second file server has come online; means for sending requests for file operations from said first file server to said second file server using a directory structure that spans files stored on said first file server and said second file server; means for redirecting file access request from said first file server to said second file server.
- 39. The computer network file system of claim 38, wherein said directory structure comprises location information for a first file, said location information comprising a server id that identifies at least said first file server or said second file server.
- 40. The computer network file system of claim 38, wherein said directory structure comprises server ids of servers that hold sub-directories.
REFERENCE TO RELATED APPLICATIONS
[0001] The present application claims priority benefit under 35 U.S.C. §119(e) from all of the following U.S. Provisional Applications, the contents of which are hereby incorporated by reference in their entirety:
[0002] U.S. Provisional Application No. 60/264,671, filed Jan. 29, 2001, titled “DYNAMICALLY DISTRIBUTED FILE SYSTEM”;
[0003] U.S. Provisional Application No. 60/264,694, filed Jan. 29, 2001, titled “A DATA PATH ACCELERATOR ASIC FOR HIGH PERFORMANCE STORAGE SYSTEMS”;
[0004] U.S. Provisional Application No. 60/264,672, filed Jan. 29, 2001, titled “INTEGRATED FILE SYSTEM/PARITY DATA PROTECTION”;
[0005] U.S. Provisional Application No. 60/264,673, filed Jan. 29, 2001, titled “DISTRIBUTED PARITY DATA PROTECTION”;
[0006] U.S. Provisional Application No. 60/264,670, filed Jan. 29, 2001, titled “AUTOMATIC IDENTIFICATION AND UTILIZATION OF RESOURCES IN A DISTRIBUTED FILE SERVER”;
[0007] U.S. Provisional Application No. 60/264,669, filed Jan. 29, 2001, titled “DATA FLOW CONTROLLER ARCHITECTURE FOR HIGH PERFORMANCE STORAGE SYSTEMS”;
[0008] U.S. Provisional Application No. 60/264,668, filed Jan. 29, 2001, titled “ADAPTIVE LOAD BALANCING FOR A DISTRIBUTED FILE SERVER”; and
[0009] U.S. Provisional Application No. 60/302,424, filed Jun. 29, 2001, titled “DYNAMICALLY DISTRIBUTED FILE SYSTEM”.
Provisional Applications (8)
|
Number |
Date |
Country |
|
60264671 |
Jan 2001 |
US |
|
60264694 |
Jan 2001 |
US |
|
60264672 |
Jan 2001 |
US |
|
60264673 |
Jan 2001 |
US |
|
60264670 |
Jan 2001 |
US |
|
60264669 |
Jan 2001 |
US |
|
60264668 |
Jan 2001 |
US |
|
60302424 |
Jun 2001 |
US |