How Preferred Paths work
The basic idea of multipathing is fairly simple. Access a disk on
one of two paths. If the path fails, move I/O activity to the other
path. We build on that basis by adding more factors into the
configuration and seeing what effect they have.
A path is defined as an end-to-end connection through a SAN,
ignoring any intermediate routing points. A complex SAN may
have multiple connections from an HBA to a storage device, but
this is invisible to the software. The combination of one HBA to
one target is one path, regardless of how it is routed.
Multiple LUNs
The effect of multiple LUNs on a RAID controller is that we
can choose to distribute them so as to balance the I/O across
multiple paths. The choice can be made in one of two ways. If
one RAID controller has preference over the other, we call this
"controller preference". If the selection is made in the host
software we call this "target preference". A third type of
preference is to lock a LUN to a particular HBA, called "HBA
preference".
More than two paths
With four paths (for example) we have to sort the paths into an
order in which they are chosen when the primary path fails. This
order should depend on getting the best performance when a
path segment fails. For example, if our performance is limited
by the IOPS that can be handled by each RAID controller, then
we want to balance the LUNs between the RAID controllers,
6