Host transparent storage controller failover/failback of SCSI targets and associated units
First Claim
1. A method of performing a failover process in a computer system having a pair of storage controllers, each storage controller of the pair coupled to the other storage controller by a communication link and connected to a host CPU by a SCSI bus, each storage controller having units associated therewith, comprising the steps of:
- placing the storage controllers in a dual-active redundant con figuration, where in each controller serves one or more preferred SCSI IDs;
sensing by one of the controllers in the dual-active redundant configuration that the other has failed;
determining whether or not the failed controller has a write-back cache associated therewith;
if the failed controller has an associated write-back cache, then discovering the units associated with the failed controller and flushing data present in the write-back cache to the units;
disabling the failed controller;
assuming control of the one or more preferred SCSI IDs of the failed controller by the surviving controller, whereby the surviving controller is capable of servicing the SCSI IDs of both of the controllers;
upon receiving communications from the host CPU to a target ID of the failed controller, sending by the surviving controller to the host CPU a check condition status message;
in response to the check condition status message, sending by the host CPU a command requesting information;
sending sense data describing a power on and reset event by the surviving controller to the host CPU;
initiating by the host CPU a SCSI initialization sequence;
upon completion of the initialization sequence, performing readiness testing by host CPU of a unit to be accessed;
if the unit is not ready, issuing a start command to make the unit ready on the SCSI bus;
verifying the identity of the target ID;
reissuing any outstanding commands to the target ID; and
servicing of the reissued commands by the surviving controller.
4 Assignments
0 Petitions
Accused Products
Abstract
Provided herein is a method and apparatus for host transparent storage controller failover and failback. A controller is capable of assuming the identity of a failed controller while continuing to respond to its own SCSI ID or IDs in such a way that all SCSI IDs and associated units (LUNS) of the failed controller are effectively taken over by the surviving controller. This "failover" behavior is transparent to any attached host computers and is treated by such attached hosts as a powerfail condition. The symmetric operation of returning the targets (IDs) and units (LUNs) to the previously failing controller ("failback") is likewise transparent.
-
Citations
4 Claims
-
1. A method of performing a failover process in a computer system having a pair of storage controllers, each storage controller of the pair coupled to the other storage controller by a communication link and connected to a host CPU by a SCSI bus, each storage controller having units associated therewith, comprising the steps of:
-
placing the storage controllers in a dual-active redundant con figuration, where in each controller serves one or more preferred SCSI IDs; sensing by one of the controllers in the dual-active redundant configuration that the other has failed; determining whether or not the failed controller has a write-back cache associated therewith; if the failed controller has an associated write-back cache, then discovering the units associated with the failed controller and flushing data present in the write-back cache to the units; disabling the failed controller; assuming control of the one or more preferred SCSI IDs of the failed controller by the surviving controller, whereby the surviving controller is capable of servicing the SCSI IDs of both of the controllers; upon receiving communications from the host CPU to a target ID of the failed controller, sending by the surviving controller to the host CPU a check condition status message; in response to the check condition status message, sending by the host CPU a command requesting information; sending sense data describing a power on and reset event by the surviving controller to the host CPU; initiating by the host CPU a SCSI initialization sequence; upon completion of the initialization sequence, performing readiness testing by host CPU of a unit to be accessed; if the unit is not ready, issuing a start command to make the unit ready on the SCSI bus; verifying the identity of the target ID; reissuing any outstanding commands to the target ID; and
servicing of the reissued commands by the surviving controller.
-
-
2. A method of performing a failback process in a computer system having a pair of storage controllers in a coupled configuration, wherein one of the storage controllers has failed, each storage controller of the pair coupled to the other storage controller by a communication link and connected to a host CPU by a SCSI bus, the surviving storage controller having IDs and units associated therewith, comprising the steps of:
-
monitoring by the surviving one of the controllers the status of the failed controller; detecting by the surviving controller when the failed controller has been replaced with a replacement controller, the replacement controller reestablishing communications with the surviving controller over the communication link; restarting the replacement controller; checking for a configuration information mismatch between the surviving controller and the replacement controller by comparing configuration information stored in the replacement controller to configuration information stored in the surviving controller; if a mismatch is detected, then copying the configuration information stored in the surviving controller to the replacement controller; determining whether or not the surviving controller has any write-back cache data for one or more of the associated units that were owned by the failed controller prior to failure; flushing the write-back cache data to the one or more of the associated units; and returning control of the one or more of the IDs and associated units belonging to the failed controller prior to failure to the replacement controller.
-
-
3. A method of performing a failover process in a computer system having a pair of storage controllers, each storage controller of the pair coupled to the other storage controller by a communication link and connected to a host CPU by a SCSI bus, each storage controller having units associated therewith, comprising the steps of:
-
placing the storage controllers in a dual-active redundant configuration, wherein each controller serves one or more preferred SCSI IDs; sensing by one of the controllers in the dual-active redundant configuration that the other has failed; disabling the failed controller; and assuming control of the one or more preferred SCSI IDs of the failed controller by the surviving controller, whereby the surviving controller is capable of servicing the SCSI IDs of both of the controllers. - View Dependent Claims (4)
-
Specification