File server storage arrangement
First Claim
1. A file server system includinga first file server including a file server change memory;
- a second file server including a file server change memory;
a mass storage element;
said first file server and said second file server being coupled to said mass storage element;
means for copying a descriptor of a file system change to both said first and second file servers, whereby said first file server processes said file system change while said second file server maintains its copy of said descriptor in its file server change memory; and
means for said second file server to perform a file system change in its file server change memory in response to a service interruption by said first file server.
2 Assignments
0 Petitions
Accused Products
Abstract
The invention provides a storage system that is highly available even in the face of component failures in the storage system, and a method for operating that storage system. A first and a second file server each includes a file server request log for storing incoming file server requests. Both the first and second file servers have access to a common set of mass storage elements. Each incoming file server request is copied to both the first and second file servers; the first file server processes the file server request while the second file server maintains a copy in its file server request log. Each file server operates using a file system that maintains consistent state after each file server request. On failover, the second file server can perform those file server requests in its file server request log since the most recent consistent state. There is no single point of failure that prevents access to any individual mass storage element.
286 Citations
75 Claims
-
1. A file server system including
a first file server including a file server change memory; -
a second file server including a file server change memory;
a mass storage element;
said first file server and said second file server being coupled to said mass storage element;
means for copying a descriptor of a file system change to both said first and second file servers, whereby said first file server processes said file system change while said second file server maintains its copy of said descriptor in its file server change memory; and
means for said second file server to perform a file system change in its file server change memory in response to a service interruption by said first file server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
each one of said file servers is coupled to at least a portion of said file server change memory using local memory access; - and
each one of said file servers is coupled to at least a portion of said file server change memory using remote memory access.
-
-
8. A system as in claim 1, wherein said descriptor includes a file server request.
-
9. A system as in claim 1, wherein said file server change memory includes a disk block.
-
10. A system as in claim 1, wherein said file server change memory includes a file server request.
-
11. A system as in claim 1, wherein said file server change memory is disposed to delay output to said mass storage element without delaying a response to file server requests.
-
12. A system as in claim 1, wherein
said mass storage element includes a file storage system; -
each said file server is disposed for leaving said file storage system in an internally consistent state after processing file system changes;
said internally consistent state is associated with a set of completed file system changes;
said set of completed file system changes is identifiable by each said file server.
-
-
13. A system as in claim 1, wherein said mass storage element includes a file storage system and each said file server is disposed for leaving said file storage system in an internally consistent state after processing each said file system change.
-
14. A file server system as in claim 1, wherein
said mass storage element includes a primary mass storage element and a mirror mass storage element; - and
said first file server processes said file system change for both said primary mass storage element and said mirror mass storage element.
- and
-
15. A system as in claim 1, wherein said means for copying includes access to at least one of said first and second file server change memories using a NUMA network.
-
16. A system as in claim 1, wherein said means for copying includes remote memory access to at least one of said first and second file server change memories.
-
17. A system as in claim 1, wherein said means for said second file server to perform a file server request in its file server change memory is also operative in response to a service interruption by said second file server.
-
18. A file server system including
a first file server coupled to a first set of mass storage devices; -
a second file server coupled to a second set of mass storage devices;
a server change memory;
said first file server disposed for receiving a file server request and in response thereto copying a descriptor of a file system change into said server change memory; and
said first file server disposed for processing said file system change for both said first set of mass storage devices and for at least one said mass storage device in said second set. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
said second file server is disposed for receiving a file server request and in response thereto copying a descriptor of a file system change into said server change memory; - and
said second file server is disposed for processing said file system change for both said second set of mass storage devices and for at least one said mass storage device in said first set.
-
-
20. A system as in claim 18, wherein said server change memory includes a disk block.
-
21. A system as in claim 18, wherein said server change memory includes a file server request.
-
22. A system as in claim 18, wherein said server change memory includes a first portion disposed at said first file server and a second portion disposed at said second file server.
-
23. A system as in claim 18, wherein
said server change memory includes a first portion disposed at said first file server and a second portion disposed at said second file server; - and
said first file server is disposed for copying said descriptor into both said first portion and said second portion.
- and
-
24. A system as in claim 18, wherein
said server change memory includes a first portion disposed at said first file server and a second portion disposed at said second file server; - and
said first file server and said second file server are each disposed for copying said descriptor into both said first portion and said second portion.
- and
-
25. A system as in claim 18, wherein said server change memory is disposed to delay output to said mass storage element without delaying a response to file server requests.
-
26. A file server system including
a plurality of file servers, said plurality of file servers coupled to a mass storage element and at least one file server change memory; -
each said file server disposed for receiving a file server request and in response thereto copying a descriptor of a file system change into said file server change memory; and
each said file server disposed for responding to a service interruption by performing a file system change in said file server change memory. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
each one of said file servers is coupled to at least a portion of said file server change memory using local memory access; - and
each one of said file servers is coupled to at least a portion of said file server change memory using remote memory access.
-
-
34. A system as in claim 26, wherein each said file server is disposed for copying said descriptors using a NUMA network.
-
35. A system as in claim 26, wherein each said file server is disposed for copying said descriptors using remote memory access.
-
36. A system as in claim 26, wherein said file server change memory includes a disk block.
-
37. A system as in claim 26, wherein said file server change memory includes a file server request.
-
38. A system as in claim 26, wherein said file server change memory is disposed to delay output to said mass storage element without delaying a response to file server requests.
-
39. A system as in claim 26, wherein said mass storage element includes a file storage system and each said file server is disposed for leaving said file storage system in an internally consistent state after processing each said file system change.
-
40. A system as in claim 26, wherein
said mass storage element includes a file storage system; -
each said file server is disposed for leaving said file storage system in an internally consistent state after processing file system changes;
said internally consistent state is associated with a set of completed file system changes;
said set of completed file system changes is identifiable by each said file server.
-
-
41. A file server system as in claim 26, wherein
said mass storage element includes a primary mass storage element and a mirror mass storage element; - and
said first file server processes said file system change for both said primary mass storage element and said mirror mass storage element.
- and
-
42. A method of operating a file server system, said method including steps for
responding to an incoming file server request by copying a descriptor of a file system change to both a first file server and a second file server; -
processing said file system change at said first file server while maintaining said descriptor copy at said second file server; and
performing, at said second file server, a file system change in response to a copied descriptor and a service interruption by said first file server. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
each said file server includes a file server change memory; each one of said file servers is coupled to at least a portion of said file server change memory using local memory access; and
each one of said file servers is coupled to at least a portion of said file server request memory using remote memory access.
-
-
49. A method as in claim 42, wherein said file server change memory includes a disk block.
-
50. A method as in claim 42, wherein said file server change memory includes a file server request.
-
51. A method as in claim 42, wherein said file server change memory is disposed to delay output to said mass storage element without delaying a response to file server requests.
-
52. A method as in claim 42, wherein said mass storage element includes a file storage system and each said file server is disposed for leaving said file storage system in an internally consistent state after processing each said file system change.
-
53. A method as in claim 42, wherein said steps for performing a file system change in response to a copied descriptor are also operative in response to a service interruption by said second file server.
-
54. A method as in claim 42, wherein said steps for processing includes steps for processing said file system change at both a primary mass storage element and a mirror mass storage element.
-
55. A method of operating a file server system, said method including steps for
receiving a file server request at one of a plurality of file servers and in response thereto copying a descriptor of a file system change into a server change memory; -
processing said file system change for both a first set of mass storage devices coupled to a first one said file server and for at least one said mass storage device in a second set of mass storage devices coupled to a second one said file server. - View Dependent Claims (56, 57, 58, 59, 60, 61, 62, 63)
said steps for receiving include receiving a file server request at either said first file server or said second file server, and said steps for copying said descriptor indude copying by either said first file server or said second file server; - and including steps for
processing said file system change for both said second set of mass storage devices and for at least one said mass storage device in said first set.
-
-
64. A method of operating a file server system, said method including steps for
receiving a file server request at one of a plurality of file servers and in response thereto copying a descriptor of a file system change into a file server change memory; - and
responding to a service interruption by performing a file system change in response to a descriptor in said file server change memory. - View Dependent Claims (65, 66, 67, 68, 69, 70, 72, 73, 74, 75)
leaving a file storage system on said mass storage element in an internally consistent state after processing file system changes; associating said internally consistent state with a set of completed file system changes; and
identifying said set of completed file system changes by at least one said file server.
- and
-
69. A method as in claim 64, including steps for performing said received file server request at both a primary mass storage element and a mirror mass storage element.
-
70. A method as in claim 64, including steps for
processing said file system changes atomically at a first said file server; - and
on failover processing exactly those file system changes not already processed by said first file server.
- and
-
72. A method as in claim 64, wherein said file server change memory includes a disk block.
-
73. A method as in claim 64, wherein said file server change memory includes a file server request.
-
74. A method as in claim 64, wherein said file server change memory is disposed to delay output to said mass storage element without delaying a response to file server requests.
-
75. A method as in claim 64, including steps for responding to a file system change before committing a result of said file system change to mass storage at one said file server.
-
71. A method as in claim including steps for responding identically at a first said file server to service interruptions for itself and for a second said file server.
Specification