Veritas does not recommend clearing the STANDBY flag unless for testing purposes, especially in connection with VPLEX & SRDF/METRO type configurations.
This article outlines how to manually clear the STANDBY flag for DMP path(s) which have reported a high I/O latency. The underlying root cause which is causing the high I/O latency should be addressed.
NOTE: The "STANDBY" flag is only set during boot time & stored in a kernel structure for each enclosure.
Sample output
# vxdmpadm getsubpaths ctlr=c16
NAME STATE[A] PATH-TYPE[M] DMPNODENAME ENCLR-TYPE ENCLR-NAME ATTRS PRIORITY
===================================================================================================
sdp ENABLED(A) - emc0_129e EMC emc0 - -
sdu ENABLED - emc0_129e EMC emc0 STANDBY -
sdq ENABLED(A) - emc0_129f EMC emc0 - -
sdv ENABLED - emc0_129f EMC emc0 STANDBY -
sdr ENABLED(A) - emc0_12a0 EMC emc0 - -
sdw ENABLED - emc0_12a0 EMC emc0 STANDBY -
sds ENABLED(A) - emc0_12a1 EMC emc0 - -
sdx ENABLED - emc0_12a1 EMC emc0 STANDBY -
sdt ENABLED(A) - emc0_12a2 EMC emc0 - -
sdy ENABLED - emc0_12a2 EMC emc0 STANDBY -
The DMP "STANDBY" flag is set for remotely attached EMC array paths where the DMP "latency_threshold_difference" tunable value is reached. The default value of the latency_threshold_difference tunable parameter is 200 µs.
NOTE: DMP will serve I/O to the local paths only where the remote paths have higher I/O latency and
are marked with the "STANDBY" flag.
How to clear STANDBY flag
Whilst the "vxdmpadm setattr path" command can be used to change the standby (failover) path state to an active path.
NOTE: Caution should be taken when doing so, as performance impact can be observed when reviving the slower "STANDBY" paths to an "ACTIVE" state.
Sample syntax.
# vxdmpadm setattr path sdu pathtype=active
The "STANDBY" flag can be manually set for a given path as follows:
# vxdmpadm setattr path sdu pathtype=standby
The above syntax marks the "sdu" path with a "STANDBY" state and is not used for normal I/O scheduling. This path is only used if there are no active paths available for I/O.
Whilst the "STANDBY" flag state can be toggled on and off, the flag may reappear if the I/O latency still remains higher than the defined "latency_threshold_difference" value for the specific enclosure.
Sample output
# vxdmpadm getattr enclosure emc0
ENCLR_NAME ATTR_NAME DEFAULT CURRENT
============================================================================
emc0 iopolicy MinimumQ MinimumQ
emc0 partitionsize 512 512
emc0 use_all_paths - -
emc0 recoveryoption[throttle] Nothrottle[0] Nothrottle[0]
emc0 recoveryoption[errorretry] Timebound[300] Timebound[300]
emc0 redundancy 0 0
emc0 dmp_lun_retry_timeout 0 0
emc0 failovermode - -
emc0 latency_threshold_difference 200 200
NOTE: Different threshold values can be configured for specific enclosures.
The user can increase or decrease the default latency threshold value for a specified enclosure:
Sample syntax
# vxdmpadm setattr enclosure emc0 latency_threshold_difference=220
Whilst the DMP "latency_threshold" feature can be disabled for an enclosure. However, Veritas does not recommend disabling it, as this can hide underlying performance issues.
The feature can be disabled, by defining latency_threshold_difference set to 0 for a specific enclosure:
Sample syntax
# vxdmpadm setattr enclosure emc0 latency_threshold_difference=0
Please contact Veritas Technical Support if you require further guidance.