Network storage appliance with integrated redundant servers and storage controllers
First Claim
1. A network storage appliance, comprising:
- a chassis;
a backplane, enclosed in said chassis;
a plurality of servers, enclosed in said chassis, each coupled to said backplane; and
a plurality of storage controllers, enclosed in said chassis, each coupled to said backplane, for controlling transfer of data between said plurality of servers and a plurality of storage devices coupled to said plurality of storage controllers;
wherein said plurality of storage controllers and said plurality of servers comprise a plurality of hot-pluggable field replaceable units (FRUs), wherein any one of said plurality of FRUs may be replaced during operation of the appliance without loss of access to said plurality of storage devices;
wherein at least one of said plurality of storage controllers is configured to detect a failure of at least one of said plurality of servers and to responsively kill said at least one of said plurality of servers.
2 Assignments
0 Petitions
Accused Products
Abstract
A network storage appliance integrates a plurality of servers and a plurality of storage controllers into a single chassis. The storage controllers control transfers of data between the servers and storage devices controlled by the storage controllers. The servers and storage controllers comprise a plurality of field replaceable units (FRUs) that plug into a backplane also enclosed in the chassis. The FRUs are redundant such that any one of the FRUs may fail without incurring loss of availability of the data stored on the storage devices. One of the storage controllers detects a failure of one of the servers and responsively kills the failed server. The failure may be a stopped heartbeat from the failed server. Additionally, one of the storage controllers detects a failure of a heartbeat link coupling the servers and responsively inactivates one of the servers to enable failover to the live server.
-
Citations
84 Claims
-
1. A network storage appliance, comprising:
-
a chassis; a backplane, enclosed in said chassis; a plurality of servers, enclosed in said chassis, each coupled to said backplane; and a plurality of storage controllers, enclosed in said chassis, each coupled to said backplane, for controlling transfer of data between said plurality of servers and a plurality of storage devices coupled to said plurality of storage controllers; wherein said plurality of storage controllers and said plurality of servers comprise a plurality of hot-pluggable field replaceable units (FRUs), wherein any one of said plurality of FRUs may be replaced during operation of the appliance without loss of access to said plurality of storage devices; wherein at least one of said plurality of storage controllers is configured to detect a failure of at least one of said plurality of servers and to responsively kill said at least one of said plurality of servers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60)
-
-
61. A method for providing data storage in a fault-tolerant manner, the method comprising:
-
executing a storage software application on redundant active-active failover servers enclosed in a chassis; issuing data transfer requests, by the servers, to redundant active-active failover storage controllers enclosed in the chassis, in response to said executing; detecting a failure of a first of the servers, by a second of the servers, after said issuing; failing over from the first of the servers to the second of the servers, in response to said detecting the failure of the first of the servers; detecting the failure of the first of the servers, by one of the storage controllers; and killing the first of the servers, by the one of the storage controllers, in response to said detecting. - View Dependent Claims (62, 63, 64, 65, 66, 67, 68, 69)
-
-
70. A method for transferring data in a storage area network, the method comprising:
-
issuing from a first server enclosed in a chassis to a first storage controller also enclosed in the chassis a first request to transfer first data from a storage device controlled by the first storage controller to the first server; issuing from a second sewer enclosed in the chassis to a second storage controller also enclosed in the chassis a second request to transfer second data from the storage device to the second server; detecting a failure of the first server, by one of the storage controllers; killing the first server, by the one of the storage controllers, in response to said detecting; removing a blade, of which the first storage controller is comprised, from a backplane enclosed in the chassis after said issuing from the first and second servers; and providing the first data to the first server, after said removing the blade, wherein said providing is performed by the second controller in place of the first controller. - View Dependent Claims (71)
-
-
72. A computer network, comprising:
-
a plurality of computers; a network storage appliance, networked to said plurality of computers, comprising; a chassis, having a backplane enclosed therein; a plurality of servers, enclosed in said chassis, each coupled to said backplane; a plurality of storage controllers, enclosed in said chassis, each coupled to said backplane, for controlling transfer of data between said plurality of servers and a plurality of storage devices coupled to said plurality of storage controllers and; a heartbeat link, coupling said plurality of servers, for enabling each of said plurality of servers to provide a heartbeat to each other of said plurality of servers, wherein each of said plurality of storage controllers is configured to detect a failure of said heartbeat link and to inactivate one of said plurality of servers in response to detecting said failure, thereby enabling a remaining one of said plurality of servers to take over the identity of said inactivated one of said plurality of servers on a network coupling said plurality of computers and said network storage appliance; wherein said plurality of storage controllers and said plurality of servers comprise a plurality of blades, any one which may be replaced in said backplane during operation of said appliance without loss of access to data stored on said plurality of storage devices by said plurality of computers. - View Dependent Claims (73, 74, 75, 76)
-
-
77. A network storage appliance, comprising:
-
a chassis; a backplane, enclosed in said chassis; a plurality of servers, enclosed in said chassis, each coupled to said backplane; a plurality of storage controllers, enclosed in said chassis, each coupled to said backplane, for controlling transfer of data between said plurality of servers and a plurality of storage devices coupled to said plurality of storage controllers; and a heartbeat link, enclosed in said chassis, coupling said plurality of servers, for enabling said plurality of servers to provide a heartbeat to each other said plurality of servers, wherein each of said plurality of storage controllers is configured to detect a failure of said heartbeat link and to inactivate one of said plurality of servers in response to detecting said failure, thereby enabling a remaining one of said plurality of servers to take over the identity of said inactivated one of said plurality of servers on a network coupling said plurality of computers and said network storage appliance; wherein said plurality of storage controllers and said plurality of servers comprise a plurality of hot-pluggable field replaceable units (FRUs), wherein any one of said plurality of FRUs may be replaced during operation of the appliance without loss of access to said plurality of storage devices.
-
-
78. A network storage appliance, comprising:
-
a chassis; a backplane, enclosed in said chassis; a plurality of servers, enclosed in said chassis, each coupled to said backplane; and a plurality of storage controllers, enclosed in said chassis, each coupled to said backplane, for controlling transfer of data between said plurality of servers and a plurality of storage devices coupled to said plurality of storage controllers; wherein said plurality of storage controllers and said plurality of servers comprise a plurality of hot-pluggable field replaceable units (FRUs), wherein any one of said plurality of FRUs may be replaced during operation of the appliance without loss of access to said plurality of storage devices; wherein each of said plurality of servers provides to each of said plurality of storage controllers a heartbeat, wherein said plurality of storage controllers are configured to detect a condition in which said heartbeat from one of said plurality of servers has stopped and to inactivate said one of said plurality of servers in response to detecting said condition.
-
-
79. A method for providing data storage in a fault-tolerant manner, the method comprising:
-
executing a storage software application on redundant active-active failover servers enclosed in a chassis; issuing data transfer requests, by the servers, to redundant active-active failover storage controllers enclosed in the chassis, in response to said executing; providing a heartbeat link between the redundant active-active failover servers; detecting, by one of the redundant storage controllers, a failure of the heartbeat link; inactivating, by the one of the redundant storage controllers, a first of the redundant servers in response to said detecting the failure of the heartbeat link; and failing over from the first of the servers to the second of the servers, in response to said inactivating.
-
-
80. A method for providing data storage in a fault-tolerant manner, the method comprising:
-
executing a storage software application on redundant active-active failover servers enclosed in a chassis; issuing data transfer requests, by the servers, to redundant active-active failover storage controllers enclosed in the chassis, in response to said executing; providing a heartbeat to a second of the redundant servers, wherein said providing said heartbeat is performed by a first of the redundant servers; detecting, by one of the redundant storage controllers, that the heartbeat has stopped; inactivating the first of the redundant servers in response to said detecting, wherein said inactivating is performed by the one of the storage controllers that performed said detecting; and failing over from the first of the servers to the second of the servers, in response to said inactivating.
-
-
81. A method for transferring data in a storage area network, the method comprising:
-
issuing from a first server enclosed in a chassis to a first storage controller also enclosed in the chassis a first request to transfer first data from a storage device controlled by the first storage controller to the first server; issuing from a second server enclosed in the chassis to a second storage controller also enclosed in the chassis a second request to transfer second data from the storage device to the second server; providing a heartbeat link between the first and second servers; detecting, by one of the storage controllers, a failure of the heartbeat link; inactivating, by the one of the storage controllers, the first server in response to said detecting the failure, thereby enabling the second server to take over the identity of the first server on a network coupling computers to the first and second servers; removing a blade, of which the first storage controller is comprised, from a backplane enclosed in the chassis after said issuing from the first and second servers; and providing the first data to the first server, after said removing the blade, wherein said providing is performed by the second controller in place of the first controller.
-
-
82. A method for transferring data in a storage area network, the method comprising:
-
issuing from a first server enclosed in a chassis to a first storage controller also enclosed in the chassis a first request to transfer first data from a storage device controlled by the first storage controller to the first server; issuing from a second server enclosed in the chassis to a second storage controller also enclosed in the chassis a second request to transfer second data from the storage device to the second server; providing a heartbeat to the second server, wherein said providing said heartbeat is performed by the first server; detecting, by one of the storage controllers, that the heartbeat has stopped; inactivating the first server in response to said detecting, wherein said inactivating is performed by the one of the storage controllers that performed said detecting; removing a blade, of which the first storage controller is comprised, from a backplane enclosed in the chassis after said issuing from the first and second servers; and providing the first data to the first server, after said removing the blade, wherein said providing is performed by the second controller in place of the first controller.
-
-
83. A computer network, comprising:
-
a plurality of computers; a network storage appliance, networked to said plurality of computers, comprising; a chassis, having a backplane enclosed therein; a plurality of servers, enclosed in said chassis, each coupled to said backplane; and a plurality of storage controllers, enclosed in said chassis, each coupled to said backplane, for controlling transfer of data between said plurality of servers and a plurality of storage devices coupled to said plurality of storage controllers; wherein said plurality of storage controllers and said plurality of servers comprise a plurality of blades, any one of which may be replaced in said backplane during operation of said appliance without loss of access to data stored on said plurality of storage devices by said plurality of computers; wherein at least one of said plurality of storage controllers is configured to detect the failure of a first of the plurality of servers and to responsively killing the first of the plurality of servers.
-
-
84. A computer network, comprising:
-
a plurality of computers; and a network storage appliance, networked to said plurality of computers, comprising; a chassis, having a backplane enclosed therein; a plurality of servers, enclosed in said chassis, each coupled to said backplane; and a plurality of storage controllers, enclosed in said chassis, each coupled to said backplane, for controlling transfer of data between said plurality of servers and a plurality of storage devices coupled to said plurality of storage controllers; wherein said plurality of storage controllers and said plurality of servers comprise a plurality of blades, any one which may be replaced in said backplane during operation of said appliance without loss of access to data stored on said plurality of storage devices by said plurality of computers; wherein each of said plurality of servers provides to each of said plurality of storage controllers a heartbeat, wherein said plurality of storage controllers are configured to detect a condition in which said heartbeat from one of said plurality of servers has stopped and to inactivate said one of said plurality of servers in response to detecting said condition.
-
Specification