In most cases, the default is applicable, but it does not solve the problem in this particular scenario. That is where the settings above come into play. They allow the user to configure the timer that determines the period at which path recovery attempts are done. Thus, by setting the PathRecoveryInterval to less than the PdoRemovePeriod, the path recovery attempt will happen before the pseudo-LUN gets removed, the path will be detected as back online, and the pseudo-LUN can be saved from removal.
Caution is advised when setting the PathRecoveryInterval to small values. By decreasing this value, larger amounts of path verification traffic will be generated. This traffic will increase with the number of LUNs available on the host, and the smaller the value. It is recommended that use of this value be tested before widespread deployment in production to ensure that path recovery attempts are not happening so frequently that it has a significant impact on regular I/O.
For example, if PDORemovePeriod is set to 60 seconds, a good starting point for PathRecoveryInterval may be 30 seconds. This would cause path recovery to be attempted every 30 seconds.
There are two registry subkeys involved in this new timer (both are DWORDs):
- HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\mpio\Parameters\UseCustomPathRecoveryInterval
- HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\mpio\Parameters\PathRecoveryInterval
If both the UseCustomPathRecoveryInterval value and the PathRecoveryInterval value are non-zero, then the MPIO driver's internal path recovery interval is set to the PathRecoveryInterval from the registry.
If either the UseCustomPathRecoveryInterval value or the PathRecoveryInterval value is zero, the driver defaults to the behavior where PathRecoveryInterval is twice that of PDORemovePeriod.