DMP tunable parameters

Table: DMP parameters that are tunable shows the DMP parameters that can be tuned by using the vxdmpadm settune command.

Table: DMP parameters that are tunable

Parameter

Description

dmp_cache_open

If this parameter is set to on, the first open of a device that is performed by an array support library (ASL) is cached. This caching enhances the performance of device discovery by minimizing the overhead that is caused by subsequent opens by ASLs. If this parameter is set to off, caching is not performed.

The default value is on.

dmp_daemon_count

The number of kernel threads that are available for servicing path error handling, path restoration, and other DMP administrative tasks.

The default number of threads is 10.

dmp_delayq_interval

How long DMP should wait before retrying I/O after an array fails over to a standby path. Some disk arrays are not capable of accepting I/O requests immediately after failover.

The default value is 15 seconds.

dmp_enable_restore

If this parameter is set to on, it enables the path restoration thread to be started.

See Configuring DMP path restoration policies.

If this parameter is set to off, it disables the path restoration thread. If the path restoration thread is currently running, use the vxdmpadm stop restore command to stop the process.

See Stopping the DMP path restoration thread.

dmp_failed_io_threshold

The time limit that DMP waits for a failed I/O request to return before the device is marked as INSANE, I/O is avoided on the path, and any remaining failed I/O requests are returned to the application layer without performing any error analysis.

The default value is 57600 seconds (16 hours).

dmp_fast_recovery

Whether DMP should try to obtain SCSI error information directly from the HBA interface. Setting the value to on can potentially provide faster error recovery, provided that the HBA interface supports the error enquiry feature. If this parameter is set to off, the HBA interface is not used.

The default setting is on.

dmp_health_time

DMP detects intermittently failing paths, and prevents I/O requests from being sent on them. The value of dmp_health_time represents the time in seconds for which a path must stay healthy. If a path's state changes back from enabled to disabled within this time period, DMP marks the path as intermittently failing, and does not re-enable the path for I/O until dmp_path_age seconds elapse.

The default value is 60 seconds.

A value of 0 prevents DMP from detecting intermittently failing paths.

dmp_log_level

The level of detail that is displayed for DMP console messages. The following level values are defined:

1 - Displays all DMP log messages that existed in releases before 5.0.

2 - Displays level 1 messages plus messages that relate to path or disk addition or removal, SCSI errors, IO errors and DMP node migration.

3 - Displays level 1 and 2 messages plus messages that relate to path throttling, suspect path, idle path and insane path logic.

4 - Displays level 1, 2 and 3 messages plus messages that relate to setting or changing attributes on a path and tunable related changes.

The default value is 1.

dmp_low_impact_probe

Determines if the path probing by restore daemon is optimized or not. Set it to on to enable optimization and off to disable. Path probing is optimized only when restore policy is check_disabled or during check_disabled phase of check_periodic policy.

The default value is on.

dmp_lun_retry_timeout

Retry period for handling transient errors. The value is specified in seconds.

When all paths to a disk fail, there may be certain paths that have a temporary failure and are likely to be restored soon. The I/Os may be failed to the application layer even though the failures are transient, unless the I/Os are retried. The dmp_lun_retry_timeout tunable provides a mechanism to retry such transient errors.

If the tunable is set to a non-zero value, I/Os to a disk with all failed paths are retried until dmp_lun_retry_timeout interval or until the I/O succeeds on one of the path, whichever happens first.

The default value of tunable is 0, which means that the paths are probed only once.

dmp_monitor_fabric

Whether the Event Source daemon (vxesd) uses the Storage Networking Industry Association (SNIA) HBA API. This API allows DDL to improve the performance of failover by collecting information about the SAN topology and by monitoring fabric events.

If this parameter is set to on, DDL uses the SNIA HBA API. (Note that the HBA vendor specific HBA-API library should be available to use this feature.)

If this parameter is set to off, the SNIA HBA API is not used.

The default setting is off for releases before 5.0 that have been patched to support this DDL feature. The default setting is on for 5.0 and later releases.

dmp_native_multipathing

Determines whether DMP will intercept the I/Os directly on the raw OS paths or not.

Set the tunable to on to have DMP do multipathing of IOs done directly on raw paths, otherwise set it to off.

The default value is off.

dmp_path_age

The time for which an intermittently failing path needs to be monitored as healthy before DMP again tries to schedule I/O requests on it.

The default value is 300 seconds.

A value of 0 prevents DMP from detecting intermittently failing paths.

dmp_pathswitch_blks_shift

The default number of contiguous I/O blocks that are sent along a DMP path to an array before switching to the next available path. The value is expressed as the integer exponent of a power of 2; for example 9 represents 512 blocks.

The default value of this parameter is set to 9. In this case, 512 blocks (256k) of contiguous I/O are sent over a DMP path before switching. For intelligent disk arrays with internal data caches, better throughput may be obtained by increasing the value of this tunable. For example, for the HDS 9960 A/A array, the optimal value is between 15 and 17 for an I/O activity pattern that consists mostly of sequential reads or writes.

This parameter only affects the behavior of the balanced I/O policy. A value of 0 disables multipathing for the policy unless the vxdmpadm command is used to specify a different partition size for an array.

dmp_probe_idle_lun

If DMP statistics gathering is enabled, set this tunable to on (default) to have the DMP path restoration thread probe idle LUNs. Set this tunable to off to turn off this feature. (Idle LUNs are VM disks on which no I/O requests are scheduled.) The value of this tunable is only interpreted when DMP statistics gathering is enabled. Turning off statistics gathering also disables idle LUN probing.

The default value is on.

dmp_probe_threshold

If the dmp_low_impact_probe is turned on, dmp_probe_threshold determines the number of paths to probe before deciding on changing the state of other paths in the same subpath failover group

The default value is 5.

dmp_queue_depth

The maximum number of queued I/O requests on a path during I/O throttling.

The default value is 20.

A value can also be set for paths to individual arrays by using the vxdmpadm command.

dmp_restore_interval

The interval attribute specifies how often the path restoration thread examines the paths. Specify the time in seconds.

The default value is 300.

The value of this tunable can also be set using the vxdmpadm start restore command.

See Configuring DMP path restoration policies.

dmp_restore_cycles

If the DMP restore policy is check_periodic, the number of cycles after which the check_all policy is called.

The default value is 10.

The value of this tunable can also be set using the vxdmpadm start restore command.

See Configuring DMP path restoration policies.

dmp_restore_policy

The DMP restore policy, which can be set to one of the following values:

  • check_all

  • check_alternate

  • check_disabled

  • check_periodic

The default value is check_disabled

The value of this tunable can also be set using the vxdmpadm start restore command.

See Configuring DMP path restoration policies.

dmp_retry_count

If an inquiry succeeds on a path, but there is an I/O error, the number of retries to attempt on the path.

The default value is 5.

A value can also be set for paths to individual arrays by using the vxdmpadm command.

dmp_scsi_timeout

Determines the timeout value to be set for any SCSI command that is sent via DMP. If the HBA does not receive a response for a SCSI command that it has sent to the device within the timeout period, the SCSI command is returned with a failure error code.

The default value is 30 seconds.

dmp_sfg_threshold

Determines the minimum number of paths that should be failed in a failover group before DMP starts suspecting other paths in the same failover group. The value of 0 disables the failover logic based on subpath failover groups.

The default value is 1.

dmp_stat_interval

The time interval between gathering DMP statistics.

The default and minimum value are 1 second.

More Information

Configuring the response to I/O failures

Configuring the I/O throttling mechanism

Specifying the I/O policy

Configuring the I/O throttling mechanism

Configuring the response to I/O failures