Distributed network attached storage system
First Claim
Patent Images
1. A distributed data storage system comprising:
- a plurality of physical storage volumes for storing a plurality of files of data accessible by a single file system;
a network; and
a plurality of storage nodes, coupled to said network, each one of said storage nodes having access to each of said files stored on said physical storage volumes, the files of data being distributed across the plurality of physical storage volumes to provide a single system image to the plurality of storage nodes, each file associated with one of the plurality of storage nodes and wherein each of said storage nodes for receiving a request from a client for a storage operation on a file identified in said single system image, said file managed by another storage node, upon receiving said request by a receiving storage node, the receiving storage node communicating with said other storage node to obtain a lock for said file from said other storage node, upon receiving said lock, said receiving storage node processing said storage operation by accessing at least one of said physical storage volumes, and transmitting a response for said storage operation to said client;
a storage node comprising;
a distributed file system manager for processing said client requests for storage operations; and
a volume manager to read data from and/or to write data to said physical volumes;
the distributed data storage system also comprising a layer-4 load balancing switch, coupled to said network, for receiving said request from a client for a storage operation and for selecting one of said storage nodes to process said storage operation, the layer-4 load balancing switch being to prioritize transport layer protocol traffic and distribute application protocol layer sessions, the one of the storage nodes to obtain an inode for a root directory and to transmit to the client a file handle to the root directory, the file handle to be used by the client to access the file identified in said single system image, each of the storage nodes to store a map manager data structure, the map manager data structure including a table correlating respective ranges of inodes in the distributed data storage system with respective nodes in the distributed data storage system that manage the respective ranges.
1 Assignment
0 Petitions
Accused Products
Abstract
A distributed data storage system stores a single image file system across a plurality of physical storage volumes. The physical storage may be direct attached storage, or may be coupled through a storage area network (“SAN”). One or more clients communicate with a plurality of storage nodes through a network. A client of the distributed data storage system transmits a request over the network for a file identified in the file system. A load-balancing switch selects one of the storage nodes to process the request. The storage node accesses at least one of the physical volumes and transmits a response for the storage operation to the client.
93 Citations
18 Claims
-
1. A distributed data storage system comprising:
-
a plurality of physical storage volumes for storing a plurality of files of data accessible by a single file system; a network; and a plurality of storage nodes, coupled to said network, each one of said storage nodes having access to each of said files stored on said physical storage volumes, the files of data being distributed across the plurality of physical storage volumes to provide a single system image to the plurality of storage nodes, each file associated with one of the plurality of storage nodes and wherein each of said storage nodes for receiving a request from a client for a storage operation on a file identified in said single system image, said file managed by another storage node, upon receiving said request by a receiving storage node, the receiving storage node communicating with said other storage node to obtain a lock for said file from said other storage node, upon receiving said lock, said receiving storage node processing said storage operation by accessing at least one of said physical storage volumes, and transmitting a response for said storage operation to said client; a storage node comprising; a distributed file system manager for processing said client requests for storage operations; and a volume manager to read data from and/or to write data to said physical volumes; the distributed data storage system also comprising a layer-4 load balancing switch, coupled to said network, for receiving said request from a client for a storage operation and for selecting one of said storage nodes to process said storage operation, the layer-4 load balancing switch being to prioritize transport layer protocol traffic and distribute application protocol layer sessions, the one of the storage nodes to obtain an inode for a root directory and to transmit to the client a file handle to the root directory, the file handle to be used by the client to access the file identified in said single system image, each of the storage nodes to store a map manager data structure, the map manager data structure including a table correlating respective ranges of inodes in the distributed data storage system with respective nodes in the distributed data storage system that manage the respective ranges. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for storing files in a distributed storage system, said method comprising:
-
storing a plurality of files, in a plurality of physical storage volumes; coupling a plurality of storage nodes to said physical storage volumes through said network, the plurality of files being distributed across the plurality of physical storage volumes to provide a single system image to the plurality of storage nodes; providing access to each one of said storage nodes to each of said physical storage volumes, each file associated with one of the plurality of storage nodes; receiving, at each of said storage nodes, a request from a client for a storage operation on a file identified in said single system image, said file managed by another storage node; upon receiving said request by a receiving storage node, the receiving storage node communicating with said other storage node to obtain a lock for said file from said other storage node; upon receiving said lock, said receiving storage node accessing at least one of said physical volumes; and transmitting a response to said storage operation to said client by said receiving storage node; the receiving, at each of said storage nodes, a request from a client for a storage operation comprising; receiving a request at a distributed file system manager; and processing said client request for said storage operation; accessing at least one of said physical volumes in response to said storage operation comprises reading data from and/or writing data to said physical volumes from a volume manager; the method further comprising; coupling a layer-4 load balancing switch to said network; receiving said request from a client for a storage operation; and selecting one of said storage nodes to process said storage operation, the layer-4 load balancing switch being to prioritize transport layer protocol traffic and distribute application layer protocol sessions, the one of the storage nodes to obtain an inode for a root directory and to transmit to the client for the storage operation a file handle to the root directory, the file handle to be used by the client for the storage operation to access the file identified in said single system image, each of the storage nodes to store a map manager data structure, the map manager data structure including a table correlating respective ranges of inodes in the distributed data storage system with respective nodes in the distributed data storage system that manage the respective ranges. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer readable medium for storing a plurality of instructions, which when executed by a computer system, causes the computer system to perform:
-
storing a plurality of files, in a plurality of physical storage volumes; coupling a plurality of storage nodes to said physical storage volumes through said network, the plurality of files being distributed across the plurality of physical storage volumes to provide a single system image to the plurality of storage nodes; providing access to each one of said storage nodes to each of said physical storage volumes, each file associated with one of the plurality of storage nodes; receiving, at each of said storage nodes, a request from a client for a storage operation on a file identified in said single system image, said file managed by another storage node; upon receiving said request by a receiving storage node, the receiving storage node communicating with said other storage node to obtain a lock for said file from said other storage node; upon receiving said lock, said receiving storage node accessing at least one of said physical volumes in response to said storage operation to read data from and/or write data to said physical storage volumes; and transmitting a response to said storage operation to said client by said receiving storage node; the receiving, at each of said storage nodes, a request from a client for a storage operation comprising; receiving a request at a distributed file system manager; processing said client request for said storage operation; and accessing at least one of said physical volumes in response to said storage operation comprises accessing said physical volumes from a volume manager; the instructions when executed also causing the computer system to perform; coupling a layer-4 load balancing switch to said network; receiving said request from a client for a storage operation; and selecting one of said storage nodes to process said storage operation, the layer-4 load balancing switch being to prioritize transport layer protocol traffic and distribute application layer protocol sessions, the one of the storage nodes to obtain an inode for a root directory and to transmit to the client for the storage operation a file handle to the root directory, the file handle to be used by the client for the storage operation to access the file identified in said single system image, each of the storage nodes to store a map manager data structure, the map manager data structure including a table correlating respective ranges of inodes in the distributed data storage system with respective nodes in the distributed data storage system that manage the respective ranges. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification