Caution: This procedure disables all iSCSI traffic that uses the software initiator. Prior to performing these steps:
- Ensure that there are no virtual machines running on a datastore located on the iSCSI LUNs on the host.
- Ensure that there are no 3rd party scripts or utilities running on service console which could access iSCSI LUNs on the host. The lsof utility can be used to identify any processes with open file locks to files residing on Datastores on iSCSI LUNs. For more information on starting and stopping 3rd party services or scripts, please engage the appropriate 3rd party software vendor.
To restart the software iSCSI stack:
-
Disable the software iSCSI configuration with the command:
esxcfg-swiscsi -d
-
Terminate the software iSCSI processes with the command:
esxcfg-swiscsi -k
In some cases, the iSCSI stack is in an unresponsive state and does not terminate on this command. If this happens, find the process ID and issue a terminate command directly to the operating system for this process.
-
Obtain the process ID for the vmkiscsi processes with the command:
ps ax | grep vmkiscsid
-
Terminate the process with the command:
kill <process ID>
-
Enable the software iSCSI configuration with the command:
esxcfg-swiscsi -e
-
Perform a rescan of the software initiator with the command:
esxcfg-rescan vmhba40
Note: This procedure only applies if using the software iSCSI initiator.
Memory resource starvation is one possible reason for the iSCSI stack to become unresponsive. This can occur if agents have been installed on the service console. It is advisable to increase the amount of memory assigned to the service console.