A fiber channel storage area network (SAN) provides virtualized storage
space for a number of servers to a number of virtual disks implemented on
various virtual redundant array of inexpensive disks (RAID) devices
striped across a plurality of physical disk drives. The SAN includes
plural controllers and communication paths to allow for fail-safe and
fail-over operation. The plural controllers can be loosely-coupled to
provide n-way redundancy and more than one independent channel for
communicating with one another. In the event of a failure involving a
controller or controller interface, the virtual disks that are accessed
via the affected interfaces are re-mapped to another interface in order
to continue to provide high data availability. In particular a resource
re-allocation routine operating on one of the controllers employs
predetermined criteria against a family of potential back-up controllers
in order to select appropriate back-up controllers for a particular
device that fails. The criteria, for example, can include an explicit
primary/secondary table to control selecting a secondary controller for
any primary controller or be more complex so as to consider such
statistics as data transfer loads among the interfaces, data transfer
loads among the controllers, or the number of targets assigned to each
interfaces.