Red Hat Training

A Red Hat training course is available for RHEL 8

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

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

10.1. eh_deadline 参数

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

使用 eh_deadline 可缩短时间:

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

eh_deadline 过期时,SCSI EH 会重置 HBA,HBA 会影响该 HBA 上的所有目标路径,而不仅仅是失败的路径。如果由于其他原因无法使用冗余路径,则可能会出现 I/O 错误。只有在所有目标中有完全冗余的多路径配置时才启用 eh_deadline

eh_deadline 很有用的情况

在大多数情况下,您不需要启用 eh_deadline。在某些情况下,使用 eh_deadline 非常有用,例如光纤通道(FC)交换机和目标端口之间的链接丢失,并且 HBA 不会收到注册状态更改通知(RSCN)。在这种情况下,I/O 请求和错误恢复命令会随时超时,而不是遇到错误。在这个环境中的 eh_deadline 设置会为恢复时间设置一个上限。这可让失败的 I/O 在由 DM 多路径的另一个可用路径中检索。

在以下情况下,eh_deadline 功能不会提供额外的好处,因为 I/O 和错误恢复命令会立即失败,这样可允许 DM 多路径重试:

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

可能的值

eh_deadline 的值以秒为单位指定。

默认设置为 off,它会禁用时间限制并允许进行所有错误恢复。

10.2. 设置 eh_deadline 参数

这个过程配置 eh_deadline 参数的值来限制最大 SCSI 恢复时间。

流程

  • 您可以使用以下任一方法配置 eh_deadline

    sysfs
    将秒数写入 /sys/class/scsi_host/host*/eh_deadline 文件中。
    内核参数
    使用 scsi_mod.eh_deadline 内核参数为所有 SCSI HBA 设置默认值。