Note: The VPSA Connect script automatically sets the registry settings appropriately. This article is needed only if the automatic connection script has not run.
The following iSCSI registry settings (in hex) are recommended for Windows Hosts connected to a VPSA:
Location:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E97B-E325-11CE-BFC1-08002BE10318}\Microsoft iSCSI Initiator\Parameters]
1. MaxRequestHoldTime
Maximum time (in seconds) for which requests will be queued if connection to the target is lost and the connection is being retried. After this hold period, requests will be failed with "error no device" and the device (disk) will be removed from the system
"MaxRequestHoldTime"=dword:00000078
2. LinkDownTime
This value determines how long requests will be held in the device queue and retried if the connection to the target is lost. If MPIO is installed this value is used. If MPIO is not installed MaxRequestHoldTime is used instead.
"LinkDownTime"=dword:00000078
3. SRBTimeoutDelta
The timeout set by class drivers (such as disk.sys, etc.) for various requests does not take into account network delays. This value is used to increment the timeout set by class drivers.
SrbTimeoutDelta can be as low as 5 seconds. If it is lower than that, the initiator will use 15 instead
SrbTimeoutDelta gets added to the timeout set by the class driver
"SrbTimeoutDelta"=dword:00000078
4. WMIRequestTimeout
Timeout value set for WMI requests such as LoginToTarget, LogoutFromTarget, SendTargets, etc.
“WMIRequestTimeout”=dword:0000000F
5. Values related to I/O size
The below values should be set to the maximal I/O size that you expect to issue. The example demonstrates values suitable for 256Kb I/O size (256Kb == 0x40000 bytes)
"MaxTransferLength"=dword:00040000
"MaxBurstLength"=dword:00040000
"FirstBurstLength"=dword:00040000
"MaxRecvDataSegmentLength"=dword:00040000
6. Other Values
In addition, make sure the following values are set properly (these are the defaults):
"InitialR2T"=dword:00000000
"ImmediateData"=dword:00000001
- Logout from all iSCSI sessions
- Go to "Server Manager" -> "Diagnostics" -> "Device Manager" -> "Storage Controllers" -> "Microsoft iSCSI Initiator"
- Right-click on it and select "Disable". Wait until operation completes
- Right-click on it again and select "Enable". Wait until operation completes.
Note:
You may you use the following Power Shell script to automatically adjust the parameters above (1-4).
Other considerations
Setup for Windows Server Failover Clustering and Microsoft Cluster Service
If you are using Failover Clustering or Microsoft Cluster Services the recommended value for “Disk I/O timeout" is 120 seconds.
This is configured in the Windows registry here: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Disk\TimeOutValue
Other information regarding VMware ESXi / vSphere configuration settings when using WSFC or MSCS can be found here.
VMware Tools
Where VMware tools is installed, disk timeout settings are applied. (Note: VMware releases can change configurations from version to version, at the time of writing the below are correct).
For Windows guests with VMware Tools installed, the disk timeout option as seen in the registry setting
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Disk\TimeOutValue is set to 60 seconds. This should be amended to 120 (i.e., seconds).
Note: Where VMware Tools is not in use, this value is not present so should be created (as a new dword value) and set to 120 (seconds).