RaidHelp v1.0

 

Home | Contents | Help
  Raidhelp
 
 

Controller Redundancy: Active-Active Architecture

An active-active dual controller environment is created by utilising two separate and independent controllers over a single common disk array to service I/O requests. The two controllers operate independently of each other to service the next request regardless of origin or destination.

For example, some controllers operate a Primary and Secondary configuration via a dedicated redundant controller port. The controllers are connected via this port and communicate with each other. One controller is designated and configured as the Primary controller and the other is set as the Secondary controller. Both controllers will handle I/O requests received from the same hosts. The designated Primary controller may then initiate a heartbeat signal to monitor the health and status of its co-worker. Both controllers will then monitor the other for failure.

If one of the controllers does not respond within a certain specified time (for example 8 seconds), the correctly operating controller will cut off all I/O requests to the failed controller to safeguard against data corruption. However, during normal operation both controllers will service all I/O requests equally. If the one controller does not receive the heartbeat signal or response when expected, it will shut down communication to the master controller and service all I/O requests. 

If both a Primary and Secondary controller exists, then normally all configuration for both controllers will be carried out on the Primary controller and automatically replicated to the Secondary.

When using a redundant controller any
cache memory that the controllers have on-board may need to be reconfigured unless the controllers are capable of cache synchronisation. If a controller normally uses a Write-Back cache mode it may need to be set to Write-Through mode to avoid cache inconsistencies. Controllers that incorporate a dedicated redundant controller port, should automatically disable Write-Back mode and switch to Write-Through mode if they cannot synchronise their cache memory.

However, each controller knows of all logical volumes on the array so that in the event a controller failure, the surviving controller can initiate control over the logical volumes owned by the failing controller. The second active controller is assigned a different
SCSI address and is usually located on another SCSI bus. In the event that a controller fails, I/O requests will be "re-routed" to the surviving controller.

The primary interaction between the controllers consists of a heartbeat mechanism which allows the controllers to monitor one another for availability.

If the controllers implement a write-caching mechanism, then the write-cache on one controller must be mirrored on the other and visa versa. Since cache updates will be occurring 'both ways' a very
high speed bus is required to accommodate required performance goals.

Related topics:

 

  Raidhelp
 

RAIDhelp© Copyright 1999-2004 Antony Kershaw