Apparatus and method for a server deterministically killing a redundant server integrated within the same network storage appliance chassis
First Claim
1. A network storage appliance, comprising:
- a chassis;
a first server, enclosed in said chassis, comprising a first I/O port having a first unique ID for communicating on a network;
a second server, enclosed in said chassis, comprising a second I/O port having a second unique ID for communicating on said network;
at least one storage controller, enclosed in said chassis, coupled to said first and second servers, for transferring data between storage devices and said first and second servers;
a control path, enclosed in said chassis, between said first and second servers, for said second server to deterministically inactivate said first I/O port from communicating on said network, wherein said second server is configured to assume said first unique ID for communicating on said network after said second server inactivates said first I/O port; and
a shield circuit, coupled to said control path, for selectively preventing said second server from inactivating said first I/O port, wherein said first server selectively enables said shield circuit to prevent said second server from inactivating said first I/O port.
2 Assignments
0 Petitions
Accused Products
Abstract
An apparatus for deterministically killing one of redundant servers integrated into a network storage appliance chassis along with at least one storage controller is disclosed. Each server can generate a kill signal on a backplane of the chassis to the other server in response to a stopped heartbeat of the other server in order to disable the I/O ports of the other server on a network so the live server can reliably take over the identity of the other server on the network. Unlike conventional kill paths, such as an Ethernet cable connecting the two servers in separate chassis, the present invention does not require the failed server to be operational since the kill path is substantially a direct reset to the I/O ports of the failed server. One server raises a shield before killing the other server to avoid both servers killing each other simultaneously.
-
Citations
68 Claims
-
1. A network storage appliance, comprising:
-
a chassis; a first server, enclosed in said chassis, comprising a first I/O port having a first unique ID for communicating on a network; a second server, enclosed in said chassis, comprising a second I/O port having a second unique ID for communicating on said network; at least one storage controller, enclosed in said chassis, coupled to said first and second servers, for transferring data between storage devices and said first and second servers; a control path, enclosed in said chassis, between said first and second servers, for said second server to deterministically inactivate said first I/O port from communicating on said network, wherein said second server is configured to assume said first unique ID for communicating on said network after said second server inactivates said first I/O port; and a shield circuit, coupled to said control path, for selectively preventing said second server from inactivating said first I/O port, wherein said first server selectively enables said shield circuit to prevent said second server from inactivating said first I/O port. - 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. A network storage appliance, comprising:
-
a first server, comprising a first I/O port having a first unique ID for communicating on a network; a second server, comprising a second I/O port having a second unique ID for communicating on said network; at least one storage controller, coupled to said first and second servers, for transferring data between storage devices and said first and second servers; a backplane, wherein said first and second servers and storage controller comprise a plurality of blades for plugging into said backplane; a control path, comprised in said backplane, between said first and second servers, for said second server to deterministically inactivate said first I/O port from communicating on said network, wherein said second server is configured to assume said first unique ID for communicating on said network after said second server inactivates said first I/O port; and a shield circuit, coupled to said control path, for selectively preventing said second server from inactivating said first I/O port, wherein said first server selectively enables said shield circuit to prevent said second server from inactivating said first I/O port. - View Dependent Claims (52, 53, 54, 55)
-
-
56. An apparatus for deterministically performing active-active failover of network storage appliance redundant servers, each of the servers comprising:
-
an I/O port having a unique ID for communicating on a network; a kill output, for attempting to inactivate said I/O port of the other server from communicating on said network; and a shield, coupled to inactivate said I/O port in response to said kill output of the other server if said shield is enabled; wherein only one of said servers enables its shield prior to attempting to inactivate said I/O port of the other server in response to detection of a stopped heartbeat of the other server. - View Dependent Claims (57, 58, 59, 60, 61, 62, 63, 64)
-
-
65. A method for deterministically killing one of redundant servers integrated along with at least one storage controller into a network storage appliance chassis, each of the servers having an I/O port with a unique ID on a network, the method comprising:
-
determining, by one of the servers, that a heartbeat of the other server has stopped; generating, by the one of the servers, a control signal wholly internal to the chassis to disable the I/O port of the other server from communicating on the network, in response to said determining the heartbeat of the other server has stopped; and enabling a shield, by the one of the servers, for preventing the other server from disabling the I/O port of the one of the servers from communicating on the network, prior to said generating the control signal. - View Dependent Claims (66, 67, 68)
-
Specification