使用 Microsoft iSCSI 软件启动程序时主机端 SCSI 超时
不可不使用
适用于
- SAN
- FlexPod
- Data ONTAP 8 7-模式
- Data ONTAP 7 及更早版本
解答
ERROR_IO_DEVICE
- 本文讨论使用 iSCSI 时的一般主机端 SCSI 超时问题。
- 总之,如果存储系统负载过重、则存储系统在处理传入请求时可能会出现较长的延迟。
- 然后触发主机端 SCSI 超时处理机制。
- 偶尔超时并不一定是一个主要问题,因为这些请求将在应用程序收到 IO 错误之前重新提交几次。但重复的超时可能会导致应用程序错误。根据可配置的 SCSI 超时值、应用程序可能会在几分钟后收到 IO 错误。
- 在 Windows 上,此错误通常是
ERROR_IO_DEVICE
(由于 I/O 设备错误而无法执行请求)。 - 如果应用程序记录了此类消息,则可以在应用程序的日志中查看此信息。
- 使用 Microsoft iSCSI 软件启动程序时、由于主机端 SCSI 超时、系统事件日志中可能会出现类似以下内容的重复消息:
iScsiPrt Information None 34 N/A SOUTHPOINT
A connection to the target was lost, but the Initiator successfully reconnected to the target. Dump data contains the target name.
iScsiPrt Error None 39 N/A SOUTHPOINT
The Initiator sent a task management command to reset the target. The target name is given in the dump data.
iScsiPrt Error None 9 N/A SOUTHPOINT
Target did not respond in time for a SCSI request. The CDB is given in the dump data.
由于 /etc/messages
主机端 SCSI 超时,存储系统文件中可能会出现类似以下内容的重复消息:
Error message: [iscsi.notice:notice]: ISCSI: iswta, LUN Reset (from initiator iqn.1991-05.com.microsoft:exch), aborting all SCSI commands on lun 0
Error message: [iscsi.notice:notice]: ISCSI: iswta, New session from initiator iqn.1991-05.com.microsoft:exch at IP addr 10.0.0.1
要缓解主机端 SCSI 超时问题、如上所述,请使用 Microsoft iSCSI 启动程序与 NetApp 存储设备进行对比。
注:如果Disk Removal
在 Windows 系统事件日志中发现事件、则可能会发生 TCP 连接丢失的情况、知识库文章中将介绍这种情况、这些信息可以控制 MS iSCSI 如何在不对应用程序造成损害的情况下生存丢失的 TCP 连接
摘要
- 增加两个注册表值中的一个、以提高主机端对 SCSI 请求较长延迟的容差:
- 磁盘类驱动程序
TimeOutValue
的 - 或 - - 特定于 Microsoft iSCSI 启动程序
SrbTimeoutDelta
。
- 磁盘类驱动程序
- NetApp 建议增加
SrbTimeoutDelta
。先将注册表值增加到 60 秒(秒)、然后监控主机 / 应用程序行为以及存储系统性能。如果 60 不足以满足工作负载的要求、请逐渐将其增加到 120 、 180 等,直到问题得到解决。
可配置的参数
如果 Microsoft iSCSI Software Initiator 正在 Windows 2000 或 Windows Server 2003 主机中使用,则有两个可配置的注册表值会影响 SCSI 超时处理:
- 系统范围磁盘类驱动程序
TimeOutValue
- 此注册表值
TimeOutValue
位于注册表项下面:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDisk
默认值为 10 (秒)。
- 此注册表值
- 特定于 Microsoft iSCSI 启动程序
SrbTimeoutDelta
- 此注册表值
SrbTimeoutDelta
位于注册表项下面:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E97B-E325-11CE-BFC1-08002BE10318}0001Parameters
- 对于 Windows 2008 、
SrbTimeoutDelta
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E97B-E325-11CE-BFC1-08002BE10318}0005Parameters
.
该数字为 0001 或其他迭代(即 0002 、 0003 、 0004 等)。
- 此注册表值
根据主机中的 SCSI 控制器数量,可能会有不同的数字。其默认值为 15 (秒)。使用 Microsoft iSCSI 启动程序时、SrbTimeoutDelta
TimeOutValue
在生成 SCSI 请求时、会将其添加到磁盘类驱动程序中。因此,默认 SCSI 超时值现在为 25 (秒)。
应修改哪些内容?
- 如果需要更改超时值,请修改上述任一注册表值。无需同时修改这两个文件。
- 如果
TimeOutValue
修改了磁盘类驱动程序、它将影响对主机中磁盘设备的所有 SCSI 请求。 - 如果修改,
SrbTimeoutDelta
则只有那些通过 Microsoft iSCSI 启动程序连接的磁盘才会受到影响。 - 因此,可以根据要求对其进行修改。建议进行修改
SrbTimeoutDelta
,以便仅影响通过 Microsoft iSCSI 启动程序连接的磁盘。 - 但是,如果主机中有多个 SCSI 启动程序 / HBA 并且需要更改所有这些启动程序 / HBA 的 SCSI 超时处理方式,请修改。
TimeOutValue
.
注:修改后SrbTimeoutDelta
、如果从主机中删除 Microsoft iSCSI 启动程序并再次安装,则其值将重置为默认值。
如何修改?
- 如果
SrbTimeoutDelta
要修改特定于 Microsoft iSCSI 启动程序,请执行以下步骤:- 使用打开 Windows 注册表
regedit
。 - 在
SrbTimeoutDelta
注册表项下找到:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E97B-E325-11CE-BFC1-08002BE10318}\Parameters
- 双击并更改为下面推荐的值。
- 使用打开 Windows 注册表
- 如果
TimeoutOutValue
要修改磁盘类驱动程序,请执行以下步骤:- 使用打开 Windows 注册表
regedit
。 - 在注册表项下添加或修改:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDisk
- 如果
TimeOutValue
已经存在,请双击并将其更改为下面推荐的值。 - 如果
TimeOutValue
不存在,请选择编辑 > 新建 > 双字节值、输入名称为TimeOutValue
、然后双击并将其更改为下面推荐的值。
- 如果
- 使用打开 Windows 注册表
注:请记住重新引导主机以使新值生效。
值得推荐的价值是什么?
- 建议保留其默认值,除非您清楚地看到在使用 iSCSI 时发生 KB 主机端 SCSI 超时以及这一超时中描述的 SCSI 超时问题。
- 较大的值将提高主机端的容错能力、以延长 SCSI 请求的延迟时间。
- 建议首先将注册表值增加到 60 秒、然后监控应用程序和主机行为。
- 此外,还可以使用 KB 主机端 SCSI 超时中介绍的其他方法来监控控制器性能。
- 如果 60 不足以满足工作负载要求、请将其增加到 120 、 180 等
其他信息
不适用