You can configure how DMP responds to failed I/O requests on the paths to a specified enclosure, disk array name, or type of array. By default, DMP is configured to retry a failed I/O request up to five times for a single path.
To display the current settings for handling I/O request failures that are applied to the paths to an enclosure, array name or array type, use the vxdmpadm getattr command.
To set a limit for the number of times that DMP attempts to retry sending an I/O request on a path, use the following command:
# vxdmpadm setattr \ {enclosure enc-name|arrayname name|arraytype type} \ recoveryoption=fixedretry retrycount=n
The value of the argument to retrycount specifies the number of retries to be attempted before DMP reschedules the I/O request on another available path, or fails the request altogether.
As an alternative to specifying a fixed number of retries, you can specify the amount of time DMP allows for handling an I/O request. If the I/O request does not succeed within that time, DMP fails the I/O request. To specify an iotimeout value, use the following command:
# vxdmpadm setattr \ {enclosure enc-name|arrayname name|arraytype type} \ recoveryoption=timebound iotimeout=seconds
The default value of iotimeout is 300 seconds. For some applications such as Oracle, it may be desirable to set iotimeout to a larger value. The iotimeout value for DMP should be greater than the I/O service time of the underlying operating system layers.
The following example configures time-bound recovery for the enclosure enc0, and sets the value of iotimeout to 360 seconds:
# vxdmpadm setattr enclosure enc0 recoveryoption=timebound \ iotimeout=360
The next example sets a fixed-retry limit of 10 for the paths to all Active/Active arrays:
# vxdmpadm setattr arraytype A/A recoveryoption=fixedretry \ retrycount=10
Specifying recoveryoption=default resets DMP to the default settings corresponding to recoveryoption=fixedretry retrycount=5, for example:
# vxdmpadm setattr arraytype A/A recoveryoption=default
The above command also has the effect of configuring I/O throttling with the default settings.