Veritas Volume Manager 5.0 Administrator's Guide (September 2006)

125Administering dynamic multipathing (DMP)
How DMP works
DMP is also informed when a connection is repaired or restored, and when you add or
remove devices after the system has been fully booted (provided that the operating system
recognizes the devices correctly).
If required, the response of DMP to I/O failure on a path can be tuned for the paths to
individual arrays. DMP can be configured to time out an I/O request either after a given
period of time has elapsed without the request succeeding, or after a given number of
retries on a path have failed.
For information about how to configure the behavior of DMP in response to I/O failure on
a path, see “Configuring the response to I/O failures” on page 148.
I/O throttling
If I/O throttling is enabled, and the number of outstanding I/O requests builds up on a path
that has become less responsive, DMP can be configured to prevent new I/O requests
being sent on the path either when the number of outstanding I/O requests has reached a
given value, or a given time has elapsed since the last successful I/O request on the path.
While throttling is applied to a path, the outstanding I/O requests on that path are
scheduled on other available paths. The throttling is removed from the path if the HBA
reports no error on the path, or if an outstanding I/O request on the path succeeds.
For information about how to configure I/O throttling on a path, see “Configuring the I/O
throttling mechanism” on page 149.
Load balancing
By default, DMP uses the balanced path mechanism to provide load balancing across
paths for Active/Active, A/P-C, A/PF-C and A/PG-C disk arrays. Load balancing
maximizes I/O throughput by using the total bandwidth of all available paths. Sequential
I/O starting within a certain range is sent down the same path in order to benefit from disk
track caching. Large sequential I/O that does not fall within the range is distributed across
the available paths to reduce the overhead on any one path.
For Active/Passive disk arrays, I/O is sent down the primary path. If the primary path fails,
I/O is switched over to the other available primary paths or secondary paths. As the
continuous transfer of ownership of LUNs from one controller to another results in severe
I/O slowdown, load balancing across paths is not performed for Active/Passive disk arrays
unless they support concurrent I/O.
Note: Both paths of an Active/Passive array are not considered to be on different
controllers when mirroring across controllers (for example, when creating a volume using
vxassist make specified with the mirror=ctlr attribute).
For A/P-C, A/PF-C and A/PG-C arrays, load balancing is performed across all the
currently active paths as is done for Active/Active arrays.