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, andthe 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 mode 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 mode of the source or target directory in order to create, delete, or rename the file in the file system;
which includes said one of the server computers that is secondary with respect to the file system creating the file in the target directory by moving an mode for the file to the target directory from an allocation directory for said one of the server computers that is secondary with respect to 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.
-
Citations
4 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 mode 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 mode of the source or target directory in order to create, delete, or rename the file in the file system; which includes said one of the server computers that is secondary with respect to the file system creating the file in the target directory by moving an mode for the file to the target directory from an allocation directory for said one of the server computers that is secondary with respect to the file system. - View Dependent Claims (2)
-
-
3. 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 mode for a specified file and return a copy of the mode for the 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 write changes to an mode for a specified file; and wherein each of the server computers that are secondary with respect to the file system is programmed for creating a file in the specified directory by moving an mode for the file to the target directory from a respective allocation directory for said each of the server computers that are secondary 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 a respective request from said each of the server computers that are secondary with respect to the file system for extending the respective allocation directory for said each of the server computers that are secondary with respect to the file system by adding modes to the respective allocation directory for said each of the server computers that are secondary with respect to the file system.
-
-
4. 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 mode for a specified file and return a copy of the mode for the 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 write changes to an mode for a specified file; and wherein the file system includes an mode pool, a data block pool, an mode bit map, a data block bit map, and for said each of the server computers that are secondary with respect to the file system; a respective allocation directory for providing modes to be used by said each of the server computers that are secondary with respect to the file system for adding modes to directories; and a respective allocation file for providing file blocks to be used by said each of the server computers that are secondary with respect to the file system for adding file blocks to files.
-
Specification