Metadata offload for a file server cluster
First Claim
1. In a file server system having server computers and storage shared among the server computers, the shared storage containing a file system, access to the file system being managed by one of the server computers that is primary with respect to the file system, other server computers being secondary with respect to the file system, a method comprising:
- one of the server computers that is secondary with respect to the file system responding to a request from a client for creating, deleting, or renaming a file in the file system by requesting an exclusive lock on a source or target directory containing the file from the server computer that is primary with respect to the file system, and the server computer that is primary with respect to the file system responding to said one of the server computers that is secondary with respect to the file system by the server computer that is primary with respect to the file system granting an exclusive lock on the source or target directory and returning a copy of an inode of the source or target directory to said one of the server computers that is secondary with respect to the file system; and
said one of the server computers that is secondary with respect to the file system modifying the inode of the source or target directory in order to create, delete, or rename the file in the file system.
9 Assignments
0 Petitions
Accused Products
Abstract
A file server system has a cluster of server computers that share access to a file system in shared storage. One of the server computers has primary responsibility for management of access to the file system. In order to reduce the possibility of primary server overload when a large number of the clients happen to concurrently access the same file system, most metadata processing operations are offloaded to secondary server computers. This also facilitates recovery from failure of a primary server computer since only a fraction of the ongoing metadata operations of a primary server computer is interrupted by a failure of the primary server computer. For example, a secondary data mover may truncate, delete, create, or rename a file in response to a client request.
426 Citations
20 Claims
-
1. In a file server system having server computers and storage shared among the server computers, the shared storage containing a file system, access to the file system being managed by one of the server computers that is primary with respect to the file system, other server computers being secondary with respect to the file system, a method comprising:
-
one of the server computers that is secondary with respect to the file system responding to a request from a client for creating, deleting, or renaming a file in the file system by requesting an exclusive lock on a source or target directory containing the file from the server computer that is primary with respect to the file system, and the server computer that is primary with respect to the file system responding to said one of the server computers that is secondary with respect to the file system by the server computer that is primary with respect to the file system granting an exclusive lock on the source or target directory and returning a copy of an inode of the source or target directory to said one of the server computers that is secondary with respect to the file system; and
said one of the server computers that is secondary with respect to the file system modifying the inode of the source or target directory in order to create, delete, or rename the file in the file system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A file server system comprising shared storage, and multiple server computers linked to the shared storage for accessing a file system in the shared storage, wherein one of the server computers is primary with respect to the file system for managing access to the file system, and others of the server computers are secondary with respect to the file system,
wherein each of the server computers that are secondary with respect to the file system is programmed for responding to a client request for creating, deleting, or renaming a file in the file system by requesting an exclusive lock on a source or target directory for containing the file from the server computer that is primary with respect to the file system, and wherein the server computer that is primary with respect to the file system is programmed for responding to said each of the server computers that are secondary with respect to the file system by the server computer that is primary with respect to the file system granting an exclusive lock on the source or target directory and returning a copy of an inode of the source or target directory to said each of the server computers that are secondary with respect to the file system; - and
said each of the server computers that are secondary with respect to the file system is programmed for modifying the inode of the source or target directory in order to create, delete, or rename the file in the file system. - View Dependent Claims (12, 13)
- and
-
14. A file server system comprising shared storage, and multiple server computers linked to the shared storage for accessing a file system in the shared storage, wherein one of the server computers is primary with respect to the file system for managing access to the file system, and others of the server computers are secondary with respect to the file system,
wherein the server computer that is primary with respect to the file system is programmed for responding to a respective request from each of the server computers that are secondary with respect to the file system for requesting the server computer that is primary with respect to the file system to grant a read lock and return directory mapping information for a specified directory; -
wherein the server computer that is primary with respect to the file system is programmed for responding to a respective request from said each of the server computers that are secondary with respect to the file system for requesting the server computer that is primary with respect to the file system to extend a specified file;
wherein the server computer that is primary with respect to the file system is programmed for responding to a respective request from said each of the server computers that are secondary with respect to the file system for requesting the server computer that is primary with respect to the file system to commit a specified file to disk storage;
wherein the server computer that is primary with respect to the file system is programmed for responding to a respective request from said each of the server computers that are secondary with respect to the file system for requesting the server computer that is primary with respect to the file system to grant an exclusive lock on an inode for a specified file and return a copy of the inode for the specified file; and
wherein the server computer that is primary with respect to the file system is programmed for responding to a respective request from said each of the server computers that are secondary with respect to the file system for requesting the server computer that is primary with respect to the file system to write changes to an inode for a specified file. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification