Chapter 12. Configuring maximum time for storage error recovery with eh_deadline
Chapter 12. Configuring maximum time for storage error recovery with eh_deadline You can configure the maximum allowed time to recover failed SCSI devices. This configuration guarantees an I/O response time even when storage hardware becomes unresponsive due to a failure. 12.1. The eh_deadline parameter The SCSI error handling (EH) mechanism attempts to perform error recovery on failed SCSI devices. The SCSI host object eh_deadline parameter enables you to configure the maximum amount of time for the recovery. After the configured time expires, SCSI EH stops and resets the entire host bus adapter (HBA). Using eh_deadline can reduce the time: to shut off a failed path, to switch a path, or to disable a RAID slice. Warning When eh_deadline expires, SCSI EH resets the HBA, which affects all target paths on that HBA, not only the failing one. If some of the redundant paths are not available for other reasons, I/O errors might occur. Enable eh_deadline only if you have multipath configured on all targets. Also, if your multipath devices are not fully redundant, you should verify that no_path_retry is set large enough to allow paths to recover. The value of the eh_deadline parameter is specified in seconds. The default setting is off , which disables the time limit and allows all of the error recovery to take place. Scenarios when eh_deadline is useful In most scenarios, you do not need to enable eh_deadline . Using eh_deadline can be useful in certain specific scenarios. For example if a link loss occurs between a Fibre Channel (FC) switch and a target port, and the HBA does not receive Registered State Change Notifications (RSCNs). In such a case, I/O requests and error recovery commands all time out rather than encounter an error. Setting eh_deadline in this environment puts an upper limit on the recovery time. That enables the failed I/O to be retried on another available path by DM Multipath. Under the following conditions, the eh_deadline parameter provides no additional benefit, because the I/O and error recovery commands fail immediately, which enables DM Multipath to retry: If RSCNs are enabled If the HBA does not register the link becoming unavailable 12.2. Setting the eh_deadline parameter You can configure the value of the eh_deadline parameter to limit the maximum SCSI recovery time. Procedure You can configure eh_deadline using either of the following methods: defaults section of the multpath.conf file From the defaults section of the multpath.conf file, set the eh_deadline parameter to the required number of seconds: Note From RHEL 8.4, setting the eh_deadline parameter using the defaults section of the multpath.conf file is the preferred method. To turn off the eh_deadline parameter with this method, set eh_deadline to off . sysfs Write the number of seconds into the /sys/class/scsi_host/host<host-number>/eh_deadline files. For example, to set the eh_deadline parameter through sysfs on SCSI host 6: To turn off the eh_deadline parameter with this method, use echo off . Kernel parameter Set a default value for all SCSI HBAs using the scsi_mod.eh_deadline kernel parameter. To turn off the eh_deadline parameter with this method, use echo -1 . Additional resources How to set eh_deadline and eh_timeout persistently, using a udev rule (Red Hat Knowledgebase)
eh_deadline 300 echo 300 > /sys/class/scsi_host/host6/eh_deadline echo 300 > /sys/module/scsi_mod/parameters/eh_deadline