DMP tunable parameters

DMP provides various parameters that you can use to tune your environment.

Table: DMP parameters that are tunable shows the DMP parameters that can be tuned. You can set a tunable parameter online, without a reboot.

Table: DMP parameters that are tunable

Parameter

Description

dmp_cache_open

If this parameter is set to on, the first open of a device is cached. This caching enhances the performance of device discovery by minimizing the overhead that is caused by subsequent opens on the device. 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_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, if 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 are critical.

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.

5 or higher - Displays level 1, 2, 3 and 4 messages plus more verbose messages.

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

Specifies a retry period for handling transient errors that are not handled by the HBA and the SCSI driver.

In general, no such special handling is required. Therefore, the default value of the dmp_lun_retry_timeout tunable parameter is 0. When all paths to a disk fail, DMP fails the I/Os to the application. The paths are checked for connectivity only once.

In special cases when DMP needs to handle the transient errors, configure DMP to delay failing the I/Os to the application for a short interval. Set the dmp_lun_retry_timeout tunable parameter to a non-zero value to specify the interval. If all of the paths to the LUN fail and I/Os need to be serviced, then DMP probes the paths every five seconds for the specified interval. If the paths are restored within the interval, DMP detects this and retries the I/Os. DMP does not fail I/Os to a disk with all failed paths until the specified dmp_lun_retry_timeout interval or until the I/O succeeds on one of the paths, whichever happens first.

dmp_monitor_fabric

Determines if DMP should register for HBA events from SNIA HAB APIs. These events improve the failover performance by proactively avoiding the I/O paths that have impending failure.

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_monitor_osevent

Determines whether the Event Source daemon (vxesd) monitors operating system events such as reconfiguration operations.

For Linux, this parameter is always set to on.

dmp_monitor_ownership

Determines whether the ownership monitoring is enabled for ALUA arrays. When this tunable is set to on, DMP polls the devices for LUN ownership changes. The polling interval is specified by the dmp_restore_interval tunable. The default value is on.

When the dmp_monitor_ownership tunable is off, DMP does not poll the devices for LUN ownership changes.

dmp_native_support

Determines whether DMP will do multi-pathing for native devices.

Set the tunable to on to have DMP do multi-pathing for native devices.

When Dynamic Multi-Pathing is installed as a component of Storage Foundation, the default value is off.

When Dynamic Multi-Pathing is installed as a stand-alone product, the default value is on.

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 is 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 multi-pathing 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_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.

See Configuring DMP path restoration policies.

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_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_restore_state

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

See Configuring DMP path restoration policies.

If this parameter is set to disabled, it stops and disables the path restoration thread.

If this parameter is set to stopped, it stops the path restoration thread until the next device discovery cycle.

The default is enabled.

See Stopping the DMP path restoration thread.

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 20 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

Specifying the I/O policy