Red Hat Training

A Red Hat training course is available for RHEL 8

第 13 章 使用 eh_deadline 配置存储错误恢复的最大时间

您可以配置最大允许的时间来恢复失败的 SCSI 设备。这个配置保证了 I/O 响应时间,即使存储硬件因为失败而变得无响应。

13.1. eh_deadline 参数

SCSI 错误处理(EH)机制尝试在失败的 SCSI 设备上执行错误恢复。SCSI 主机对象 eh_deadline 参数允许您配置恢复的最大时间。配置的时间过期后,SCSI EH 会停止并重置整个主机总线适配器(HBA)。

使用 eh_deadline 可以缩短时间:

  • 关闭失败的路径,
  • 切换路径,或者
  • 禁用 RAID 分片。
警告

eh_deadline 过期时,SCSI EH 会重置 HBA,这会影响那个 HBA 中的所有目标路径,而不仅仅是故障。如果由于其他原因无法使用冗余路径,则可能会出现 I/O 错误。如果在所有目标上都配置了多路径,请只启用 eh_deadline。另外,如果您的多路径设备没有完全冗余,您应该验证 no_path_retry 是否已设置为足够大,以允许路径恢复。

eh_deadline 参数的值以秒为单位指定。默认设置为 off,它会禁用时间限制并允许进行所有错误恢复。

eh_deadline 很有用的情况

在大多数情况下,您不需要启用 eh_deadline。在某些特定场景中,使用 eh_deadline 非常有用。例如,如果在光纤通道(FC)交换机和目标端口之间发生链接丢失,且 HBA 没有收到 Registered State Change Notifications(RSCN)。在这种情况下,I/O 请求和错误恢复命令会超时,而不是遇到错误。在这个环境中设置 eh_deadline 会针对恢复时间设置上限。这可让失败的 I/O 在由 DM 多路径的另一个可用路径中检索。

在以下条件下,eh_deadline 参数不提供额外的好处,因为 I/O 和错误恢复命令会立即失败,这会导致 DM 多路径重试:

  • 如果启用了 RSCN
  • 如果 HBA 没有注册链接不可用