With independent hardware-based iSCSI storage, you use a specialized third-party adapter capable of accessing iSCSI storage over TCP/IP. This iSCSI initiator handles all iSCSI and network processing and management for your ESXi system.

You must install and configure the independent hardware iSCSI adapter for your host before you can access the iSCSI storage device. For installation information, see vendor documentation.

Hardware iSCSI setup requires a number of high-level tasks. You should be familiar with the corresponding command for each task. You can refer to the relevant documentation for each command or the manpage (Linux). Specify one of the options listed in Connection Options for vCLI Host Management Commands in place of <conn_options>.

Verify that you are familiar with iSCSI authentication. See Enabling iSCSI Authentication.

Verify that you are familiar with CHAP. See Setting iSCSI CHAP.


Determine the HBA type and retrieve the HBA ID.

vicfg-iscsi <conn_options> --adapter --list

Configure the hardware initiator (HBA) by running vicfg-iscsi -N with one or more of the following options.

--list – List network properties.

--ip <ip_addr> – Set HBA IPv4 address.

--subnetmask <subnet_mask> – Set HBA network mask.

--gateway <default_gateway> – Set HBA gateway.

--set ARP=true|false – Enable or disable ARP redirect.

You can also set the HBA IPv4 address and network mask and gateway in one command.

vicfg-iscsi <conn_options> --ip <ip_addr> --subnetmask <subnet_mask> --gateway <default_gateway>

(Optional) Set the iSCSI name and alias.

vicfg-iscsi <conn_options> -I -n <iscsi_name> <adapter_name>
vicfg-iscsi <conn_options> --iscsiname - -name <iscsi_name> <adapter_name>
vicfg-iscsi <conn_options> -I -a <alias_name> <adapter_name>
vicfg-iscsi <conn_options> --iscsiname --alias <alias_name> <adapter_name>

Add a dynamic discovery address or a static discovery address.

With dynamic discovery, all storage targets associated with a host name or IP address are discovered. You can run the following command.

vicfg-iscsi <conn_options> --discovery --add --ip <ip_addr | domain_name> <adapter_name>

With static discovery, you must specify the host name or IP address and the iSCSI name of the storage target. You can run the following command.

vicfg-iscsi <conn_options> --static --add --ip <ip_addr | domain_name> --name <iscsi_name> <adapter_name>

When you later remove a discovery address, it might still be displayed as the parent of a static target. You can add the discovery address and rescan to display the correct parent for the static targets.


Set the authentication information for CHAP.

vicfg-iscsi <conn_options> -A -c <level> -m <auth_method> -u <auth_u_name> -w <chap_password>
         [-i <stor_ip_addr|stor_hostname> [:<portnum>] [-n <iscsi_name]] <adapter_name>
vicfg-iscsi <conn_options> - -authentication - -level <level> - -method <auth_method>
         --chap_username <auth_u_name> --chap_password <chap_password>
         [--ip <stor_ip_addr|stor_hostname> [:<portnum>] [-name <iscsi_name]]

The target (-i) and name (-n) option determine what the command applies to.



-i and -n

Command applies to per-target CHAP for static targets.

Only -i

Command applies to the discovery address.

Neither -i nor -n

Command applies to per-adapter CHAP.


Mutual CHAP is not supported for independent hardware iSCSI storage.


(Optional) Set iSCSI parameters by running vicfg-iscsi -W.


After setup is complete, run vicfg-rescan to rescan all storage devices.