Configuring the response to I/O failures

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 5 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, the following version of the command specifies how long DMP should allow an I/O request to be retried on a path:

# vxdmpadm setattr \
  {enclosure enc-name|arrayname name|arraytype type} \
  recoveryoption=timebound iotimeout=seconds

The value of the argument to iotimeout specifies the time in seconds that DMP waits for an outstanding I/O request to succeed before it reschedules the request on another available path, or fails the I/O request altogether. The effective number of retries is the value of iotimeout divided by the sum of the times taken for each retry attempt. DMP abandons retrying to send the I/O request before the specified time limit has expired if it predicts that the next retry will take the total elapsed time over this limit.

The default value of iotimeout is 10 seconds. For some applications, such as Oracle, it may be desirable to set iotimeout to a larger value, such as 60 seconds.

Note:

The fixedretry and timebound settings are mutually exclusive.

The following example configures time-bound recovery for the enclosure enc0, and sets the value of iotimeout to 60 seconds:

# vxdmpadm setattr enclosure enc0 recoveryoption=timebound \
  iotimeout=60

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.

Note:

The response to I/O failure settings is persistent across reboots of the system.

More Information

Displaying recovery option values

Configuring the I/O throttling mechanism