Scalable clustered storage system
First Claim
Patent Images
1. A storage system comprising:
- a control node comprising a first server including a processor and configured to store object identifiers and location information associated with a plurality of files in a file system, the object identifiers each corresponding to a cluster-wide globally unique identifier used to name and store a file in the storage system and the location information each associated with at least one of a logical and physical location of the file in the file system;
a plurality of storage nodes each comprising a storage server including a processor and configured to store the plurality of files in the file system, wherein a first storage node in the plurality of storage nodes corresponds to a master storage server configured to advertise a virtual IP address for the storage system and to receive a request for a file from a client, to communicate with the control node to determine an object identifier and location information associated with the file, and to access the file from an object storage of the master storage server using the object identifier and location information associated with the file if the object identifier and the location information indicates that the object storage of the master storage server includes the file, and to otherwise request the file from a second storage node based on the object identifier and the location information, to service the request from the client; and
a token manager configured to coordinate access to the file, where the file is stored at a first location of the file system and at a second location of the file system;
wherein the token manager is configured to generate a first token corresponding to a lease for a file system operation on the file, the first token including a first access time and volume information, in response to a first request from a first storage node to access the file, the first token allowing the first storage node to access the file in the first location based on the first access time, the first storage node including a timer set to a value shorter than the first access time, and wherein the first storage node is to determine whether to renew the first token when the timer times out.
3 Assignments
0 Petitions
Accused Products
Abstract
A scalable clustered storage system includes a control node and a plurality of storage nodes. The control node stores object identifiers and location information associated with a plurality of files. The plurality of storage nodes stores the plurality of files. A storage node in the plurality of storage nodes receives a request for a file in a file system from a client. The storage node then communicates with the control node to determine an object identifier and location information associated with the file. The storage node accesses the file in the file system to service the request from the client using the object identifier and location information associated with the file.
46 Citations
20 Claims
-
1. A storage system comprising:
-
a control node comprising a first server including a processor and configured to store object identifiers and location information associated with a plurality of files in a file system, the object identifiers each corresponding to a cluster-wide globally unique identifier used to name and store a file in the storage system and the location information each associated with at least one of a logical and physical location of the file in the file system; a plurality of storage nodes each comprising a storage server including a processor and configured to store the plurality of files in the file system, wherein a first storage node in the plurality of storage nodes corresponds to a master storage server configured to advertise a virtual IP address for the storage system and to receive a request for a file from a client, to communicate with the control node to determine an object identifier and location information associated with the file, and to access the file from an object storage of the master storage server using the object identifier and location information associated with the file if the object identifier and the location information indicates that the object storage of the master storage server includes the file, and to otherwise request the file from a second storage node based on the object identifier and the location information, to service the request from the client; and a token manager configured to coordinate access to the file, where the file is stored at a first location of the file system and at a second location of the file system; wherein the token manager is configured to generate a first token corresponding to a lease for a file system operation on the file, the first token including a first access time and volume information, in response to a first request from a first storage node to access the file, the first token allowing the first storage node to access the file in the first location based on the first access time, the first storage node including a timer set to a value shorter than the first access time, and wherein the first storage node is to determine whether to renew the first token when the timer times out. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer implemented method of servicing requests for files in a file system of a storage system, the method comprising:
-
storing object identifiers and location information associated with a plurality of files; receiving a request for a file from a client in a master storage server of a plurality of storage servers of the file system, the master storage server to receive client requests for the file system via a globally unique virtual IP address advertised by the master storage server; determining an object identifier and location information associated with the file in a control node of the storage system responsive to a communication from the master storage server to the control node; accessing the file using the object identifier and location information associated with the file to service the request from the client; generating a first token corresponding to a lease for a file system operation on the file including a first access time and volume information in response to a first request from a first storage node to access the file, the first token allowing the first storage node to access the file in a first location of the file system based on the first access time; and generating a second token including a second access time in response to a second request from a second storage node to access the file, the second token allowing the second storage node to access the file in a second location of the file system based on the second access time. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer readable storage medium comprising instructions that when executed by a computer system having a processor, enable the computer system to:
-
store metadata for a plurality of files of a file system in a control node of a storage system, the metadata including object identifiers and location information associated with the plurality of files; receive a request for a file from a client in a master storage server of a plurality of storage servers, the master storage server elected to receive client requests for the plurality of storage servers, wherein the plurality of storage servers store the files of the file system separated from the metadata; determine based at least in part on statistics of the plurality of storage servers a selected one of the storage servers to handle the client request; communicate with the control node regarding the client request to determine an object identifier and location information associated with the file; access the file in one of the plurality of storage servers using the object identifier and location information associated with the file to service the request from the client, wherein the file is stored at a first location of the file system and at a second location of the file system; generate a first token corresponding to a lease for a file system operation on the file including a first access time and volume information in response to a first request from a first storage node to access the file, the first token allowing the first storage node to access the file in the first location based on the first access time, wherein the first storage node includes a timer set to a value shorter than the first access time of the first token, and is to determine whether to renew the first token when the timer times out; generate a second token corresponding to a lease for a file system operation on the file including a second access time and volume information in response to a second request from a second storage node to access the file, the second token allowing the second storage node to access the file in the second location based on the second access time; and wherein the instructions reside on the computer readable storage medium. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification