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

Determines whether DMP listens to disk-related events from the Event Monitoring framework (EVM) on HP-UX.

The default is on.

If this parameter is set to on, DMP listens and reacts to events from EVM.

If the parameter is set to off, DMP stops listening and reacting to events.

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 off.

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

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

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

If this parameter is set to on, vxesd monitors operations such as attaching operating system devices.

If this parameter is set to off, vxesd does not monitor operating system operations. When DMP co-exists with EMC PowerPath, Symantec recommends setting this parameter to off to avoid any issues.

The default setting is on, unless EMC PowerPath is installed. If you install DMP on a system that already has PowerPath installed, DMP sets the dmp_monitor_osevent to off.

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 a Dynamic Multi-Pathing product is installed, the default value is off.

When Veritas Dynamic Multi-Pathing is installed, 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, 1024 blocks (1MB) 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 14 and 16 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.

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

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

When I/O fails on a path with a path busy error, DMP marks the path as busy and avoids using it for the next 15 seconds. If a path reports a path busy error for dmp_retry_count number of times consecutively, DMP marks the path as failed. The default value of dmp_retry_count is 5.

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