Transparent redirection and load-balancing in a storage network
First Claim
Patent Images
1. A computer-implemented method of managing client requests to a file system distributed among a plurality of storage servers each including a processor, the method comprising:
- initiating a client session for a client request for accessing one or more files in the file system by connecting to a virtual IP address associated with a master server of the plurality of storage servers, the master server elected by the plurality of storage servers to advertise the virtual IP address;
generating a client to storage server binding decision based on file system to storage server mappings, statistics of a statistics database of the master server, the statistics collected by the plurality of storage servers and grouped into categories including server statistics relating to server load statistics, client statistics relating to client information, and storage statistics relating to file system and input/output (IO) configuration statistics, network parameters associated with the client, and a type of file system being accessed;
redirecting the client session to one of the plurality of storage servers based on the generated binding decision and without modification of client network file protocols used by the client, including achieving the client session redirection for a network file system (NFS) providing NFS access by manufacturing an appropriate symbolic link and forcing the client'"'"'s automounter to establish a connection to the selected storage server, for a common internet file system (CIFS) providing CIFS access by masquerading as a distributed file system (DFS) root server and returning a DFS junction redirect forcing the client to establish a connection to the selected storage server, and for a hypertext transfer protocol providing HTTP access by returning an HTTP redirect forcing the client to establish a connection to the selected storage server.
3 Assignments
0 Petitions
Accused Products
Abstract
A storage system includes a plurality of storage servers that store a plurality of files, a monitor module, and a redirector module. The monitor module monitors usage information associated with the plurality of storage servers. The redirector module determines, based on the monitored usage information, a storage server in the plurality of storage servers to service a session from a client. The redirector module then instructs the client to establish the session with the determined storage server.
-
Citations
13 Claims
-
1. A computer-implemented method of managing client requests to a file system distributed among a plurality of storage servers each including a processor, the method comprising:
-
initiating a client session for a client request for accessing one or more files in the file system by connecting to a virtual IP address associated with a master server of the plurality of storage servers, the master server elected by the plurality of storage servers to advertise the virtual IP address; generating a client to storage server binding decision based on file system to storage server mappings, statistics of a statistics database of the master server, the statistics collected by the plurality of storage servers and grouped into categories including server statistics relating to server load statistics, client statistics relating to client information, and storage statistics relating to file system and input/output (IO) configuration statistics, network parameters associated with the client, and a type of file system being accessed; redirecting the client session to one of the plurality of storage servers based on the generated binding decision and without modification of client network file protocols used by the client, including achieving the client session redirection for a network file system (NFS) providing NFS access by manufacturing an appropriate symbolic link and forcing the client'"'"'s automounter to establish a connection to the selected storage server, for a common internet file system (CIFS) providing CIFS access by masquerading as a distributed file system (DFS) root server and returning a DFS junction redirect forcing the client to establish a connection to the selected storage server, and for a hypertext transfer protocol providing HTTP access by returning an HTTP redirect forcing the client to establish a connection to the selected storage server. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
2. A storage system comprising:
-
a file system distributed among a plurality of storage servers each including at least one processor and at least one storage medium to store files; a monitor module associated with each storage server, each monitor module being configured to collect statistics regarding the associated storage server; wherein one of the storage servers is a master server to receive the collected statistics from each storage server and includes a redirector module configured to redirect a client session from a client to one of the plurality of storage servers based on network parameters associated with the client, the file system being accessed, and the collected statistics so as to efficiently distribute client sessions among the plurality of storage servers, the collected statistics grouped into categories including server statistics relating to server load statistics, client statistics relating to client information, and storage statistics relating to file system and input/output (IO) configuration statistics, and wherein the client session redirection includes for a network file system (NFS) providing NFS access manufacturing an appropriate symbolic link and forcing the client'"'"'s automounter to establish a connection to the selected storage server, for a common internet file system (CIFS) providing CIFS access masquerading as a distributed file system (DFS) root server and returning a DFS junction redirect forcing the client to establish a connection to the selected storage server, and for a hypertext transfer protocol providing HTTP access returning an HTTP redirect forcing the client to establish a connection to the selected storage server. - View Dependent Claims (3)
-
-
4. A system comprising:
-
a control node comprising a first server having a processor and a first storage to store information associated with files of a file system, the information including namespace, metadata, an object identifier, and location information; and a plurality of storage nodes each comprising a second server coupled to the control node, each storage node including a processor and a second storage to store the files of the file system in an object storage, wherein the files are stored separately from the metadata, wherein at least one of the storage nodes is a master node to receive a client request for access to a file of the file system and to select one of the plurality of storage nodes to handle the client request based at least in part on statistics of the plurality of storage nodes, the statistics including server statistics relating to server load statistics, client statistics relating to client information, and storage statistics relating to file system and input/output (IO) configuration statistics, and to redirect the client request to the selected storage node, and wherein the selected storage node is 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 selected storage node if the object identifier and the location information indicates that the object storage of the selected storage node includes the file, and to otherwise request the file from a different storage node based on the object identifier and the location information, to service the request from the client. - View Dependent Claims (5, 6, 7, 8)
-
Specification