Customizing iSCSI Settings
After you set up your initiator, we highly recommend that you customize your iSCSI settings to prevent the initiator from disconnecting from targets.
By increasing the iSCSI timeout values as shown in the following steps, you make your application better at dealing with write operations that take a long time and other transient issues such as network interruptions.
Note
Before making changes to the registry, you should make a backup copy of the registry.
For information on making a backup copy and other best practices to follow when working
with the registry, see Registry best
practices
Customizing Your Windows iSCSI Settings
For a Tape Gateway setup, connecting to your VTL devices by using a Microsoft iSCSI initiator is a two-step process:
-
Connect your Tape Gateway devices to your Windows client.
-
If you are using a backup application, configure the application to use the devices.
The Getting Started example setup provides instructions for both these steps. It uses the Symantec NetBackup backup application. For more information, see Connecting your VTL devices and Configuring NetBackup Storage Devices.
To customize your Windows iSCSI settings
-
Increase the maximum time for which requests are queued.
-
Start Registry Editor (
Regedit.exe
). -
Navigate to the globally unique identifier (GUID) key for the device class that contains iSCSI controller settings, shown following.
Warning
Make sure that you are working in the CurrentControlSet subkey and not another control set, such as ControlSet001 or ControlSet002.
HKEY_Local_Machine\SYSTEM\CurrentControlSet\Control\Class\{4D36E97B-E325-11CE-BFC1-08002BE10318}
-
Find the subkey for the Microsoft iSCSI initiator, shown following as
[<Instance Number]
.The key is represented by a four-digit number, such as
0000
.HKEY_Local_Machine\SYSTEM\CurrentControlSet\Control\Class\{4D36E97B-E325-11CE-BFC1-08002BE10318}\
[<Instance Number]
Depending on what is installed on your computer, the Microsoft iSCSI initiator might not be the subkey
0000
. You can ensure that you have selected the correct subkey by verifying that the stringDriverDesc
has the valueMicrosoft iSCSI Initiator
. -
To show the iSCSI settings, choose the Parameters subkey.
-
Open the context (right-click) menu for the MaxRequestHoldTime DWORD (32-bit) value, choose Modify, and then change the value to
600
.MaxRequestHoldTime specifies how many seconds Microsoft iSCSI initiator should hold and retry outstanding commands for, before notifying the upper layer of a
Device Removal
event. This value represents a hold time of 600 seconds.
-
-
You can increase the maximum amount of data that can be sent in iSCSI packets by modifying the following parameters:
-
FirstBurstLength controls the maximum amount of data that can be transmitted in an unsolicited write request. Set this value to
262144
or the Windows OS default, whichever is higher. -
MaxBurstLength is similar to FirstBurstLength, but it sets the maximum amount of data that can be transmitted in solicited write sequences. Set this value to
1048576
or the Windows OS default, whichever is higher. -
MaxRecvDataSegmentLength controls the maximum data segment size that is associated with a single protocol data unit (PDU). Set this value to
262144
or the Windows OS default, whichever is higher.
Note
Different backup software can be optimized to work best using different iSCSI settings. To verify which values for these parameters will provide the best performance, see the documentation for your backup software.
-
-
Increase the disk timeout value, as shown following:
-
Start Registry Editor (
Regedit.exe
), if you haven't already. -
Navigate to the Disk subkey in the Services subkey of the CurrentControlSet, shown following.
HKEY_Local_Machine\SYSTEM\CurrentControlSet\Services\Disk
-
Open the context (right-click) menu for the TimeOutValue DWORD (32-bit) value, choose Modify, and then change the value to
600
.TimeOutValue specifies how many seconds iSCSI initiator will wait for a response from the target before it attempts session recovery by dropping and re-establishing the connection. This value represents a timeout period of 600 seconds.
-
-
To ensure that the new configuration values take effect, restart your system.
Before restarting, you must make sure that the results of all write operations to volumes are flushed. To do this, take any mapped storage volume disks offline before restarting.
Customizing Your Linux iSCSI Settings
After setting up the initiator for your gateway, we highly recommend that you customize your iSCSI settings to prevent the initiator from disconnecting from targets. By increasing the iSCSI timeout values as shown following, you make your application better at dealing with write operations that take a long time and other transient issues such as network interruptions.
Note
Commands might be slightly different for other types of Linux. The following examples are based on Red Hat Linux.
To customize your Linux iSCSI settings
-
Increase the maximum time for which requests are queued.
-
Open the
/etc/iscsi/iscsid.conf
file and find the following lines.node.session.timeo.replacement_timeout =
[replacement_timeout_value]
node.conn[0].timeo.noop_out_interval =[noop_out_interval_value]
node.conn[0].timeo.noop_out_timeout =[noop_out_timeout_value]
-
Set the
[replacement_timeout_value]
value to600
.Set the
[noop_out_interval_value]
value to60
.Set the
[noop_out_timeout_value]
value to600
.All three values are in seconds.
Note
The
iscsid.conf
settings must be made before discovering the gateway. If you have already discovered your gateway or logged in to the target, or both, you can delete the entry from the discovery database using the following command. Then you can rediscover or log in again to pick up the new configuration.iscsiadm -m discoverydb -t sendtargets -p
[GATEWAY_IP]
:3260 -o delete
-
-
Increase the maximum values for the amount of data that can be transmitted in each response.
-
Open the
/etc/iscsi/iscsid.conf
file and find the following lines.node.session.iscsi.FirstBurstLength =
[replacement_first_burst_length_value]
node.session.iscsi.MaxBurstLength =[replacement_max_burst_length_value]
node.conn[0].iscsi.MaxRecvDataSegmentLength =[replacement_segment_length_value]
-
We recommend the following values to achieve better performance. Your backup software might be optimized to use different values, so see your backup software documentation for best results.
Set the
[replacement_first_burst_length_value]
value to262144
or the Linux OS default, whichever is higher.Set the
[replacement_max_burst_length_value]
value to1048576
or the Linux OS default, whichever is higher.Set the
[replacement_segment_length_value]
value to262144
or the Linux OS default, whichever is higher.Note
Different backup software can be optimized to work best using different iSCSI settings. To verify which values for these parameters will provide the best performance, see the documentation for your backup software.
-
-
Restart your system to ensure that the new configuration values take effect.
Before restarting, make sure that the results of all write operations to your tapes are flushed. To do this, unmount tapes before restarting.