VMware ESXi and vSphere Cluster Management
iSCSI Target Discovery on VMware ESXi
Learn how VMware ESXi discovers iSCSI targets, how static and dynamic discovery differ, and how networking, authorization, rescans, and LUN visibility fit together.
iSCSI is a storage protocol that transports SCSI commands over an IP network. In an ESXi environment, the software iSCSI initiator on the host must find and connect to an iSCSI target before the target's LUNs can become available to ESXi.
This lesson explains target discovery, the roles of initiators and targets, static and dynamic discovery, the complete discovery workflow, network prerequisites, and common troubleshooting cases.
What iSCSI Target Discovery Means
iSCSI target discovery is the process an ESXi host uses to identify storage targets before accessing their LUNs. Discovery supplies the target information that the ESXi iSCSI initiator needs in order to attempt a login and establish a storage session.
The general sequence is:
- ESXi provides the software iSCSI initiator with a reachable VMkernel network path.
- The initiator learns one or more target endpoints through static or dynamic discovery.
- The initiator connects to an authorized target.
- The target presents the LUNs that its access rules allow that initiator to see.
- ESXi rescans storage and can then use visible devices for storage operations such as VMFS datastore creation.
Discovery is not the same as creating a datastore. It identifies targets and helps establish access to storage. A later storage rescan updates ESXi's view of adapters, targets, paths, and devices, while datastore creation is a separate operation.
Roles in an iSCSI Storage Connection
iSCSI initiator
An iSCSI initiator is the client-side component that connects to iSCSI storage. On ESXi, the software iSCSI initiator runs through a configured VMkernel networking path. The initiator has an IQN, or iSCSI Qualified Name, that identifies it to the storage system.
iSCSI target
An iSCSI target is the storage-side endpoint. It presents one or more logical storage units and controls which initiators may access them. A target is identified primarily by a network address, such as an IP address or hostname, and an iSCSI name called its IQN.
LUN
A LUN, or logical unit number, is a logical storage unit presented by a target for host consumption. Discovering a target does not guarantee that every LUN on that target will be visible. Target-side authorization, LUN masking, and mapping determine which LUNs a particular initiator can use.
Access control and LUN masking
LUN masking is target-side access control that limits which initiators can see or use specific LUNs. Storage administrators commonly register the ESXi initiator IQN, place it in an access group or mapping, and assign the intended LUNs to that group.
The principal discovery identifiers are therefore:
- Target network address: The IP address or hostname used to reach the target or discovery endpoint.
- Target IQN: The unique iSCSI name of the target.
- Initiator IQN: The unique iSCSI name that the storage system uses when authorizing the ESXi host.
Static Discovery
Static discovery requires the administrator to enter a target address and the target's IQN on the ESXi iSCSI initiator. The initiator is configured with a known endpoint rather than asking an endpoint to return a list of targets.
A typical static entry contains:
- A target IP address or hostname.
- The target iSCSI qualified name.
- Any required authentication settings configured separately for the storage connection.
Use static discovery when the environment has a small number of known targets, when one target is used, or when administrators want every target entry to be explicitly controlled.
The main administrative consequence is maintenance. If a target address or IQN changes, each affected ESXi host must have its static entry reviewed and updated individually. Static discovery also requires the administrator to know and correctly enter the target IQN.
Example: one known target
An administrator has a storage target at a known IP address. The administrator adds that address and the target IQN to the ESXi iSCSI adapter's static target list. After a storage rescan, ESXi can attempt to connect to the explicitly configured target and display the LUNs authorized for the host's initiator IQN.
Dynamic Discovery
Dynamic discovery starts with a configured discovery-server IP address or hostname. ESXi uses that endpoint to request information about available targets.
For standard iSCSI discovery, the initiator sends a SendTargets request. SendTargets is the standard iSCSI discovery request used to obtain available target details from a target or discovery endpoint. The response can provide information about associated targets and the storage resources available through them.
Dynamic discovery reduces the need to enter every target IQN manually. It is useful for storage arrays with multiple targets or environments where the target inventory can change over time.
Example: multi-target storage array
An administrator configures the IP address of an array discovery interface on the ESXi iSCSI adapter. ESXi sends SendTargets to that endpoint. The array returns information about targets available to the host, allowing ESXi to learn the target list without individually entering every target IQN.
Dynamic discovery does not bypass authorization. The array can return target information while still restricting login or LUN visibility based on initiator access rules, authentication, or masking.
Static and Dynamic iSCSI Discovery Compared
| Characteristic | Static Discovery | Dynamic Discovery |
|---|---|---|
| Administrator-supplied information | Target IP address or hostname and target IQN. | Discovery-server IP address or hostname. |
| How target information is obtained | The administrator explicitly supplies each target entry. | ESXi queries the configured endpoint for target information. |
| Use of SendTargets | Not used to obtain a target list; the target is already specified. | ESXi sends a SendTargets request to the discovery endpoint. |
| Maintenance effort | Higher when addresses, IQNs, or target inventory change because entries are maintained individually. | Usually lower for target inventory changes because the endpoint can return updated target information. |
| Best-fit environment | A small environment, a known single target, or an explicitly controlled target list. | A multi-target array or an environment where target inventory may change. |
| Key dependency | Correct address, correct IQN, network reachability, and target authorization. | Correct discovery endpoint, network reachability, discovery service availability, and target authorization. |
Both methods depend on correct network connectivity, correct target configuration, and authorization of the ESXi initiator. Dynamic discovery is not inherently a replacement for access control, and static discovery is not a replacement for a functioning storage network.
Discovery Workflow in ESXi
| Step | ESXi Action | Storage-System Action | Expected Result |
|---|---|---|---|
| Establish VMkernel connectivity | Configure a VMkernel port with an IP address and the intended iSCSI network path. | Provide a reachable iSCSI interface or discovery service on the storage network. | The host can communicate with the storage endpoint. |
| Configure static target or dynamic discovery address | Add a target address and IQN for static discovery, or add a discovery endpoint for dynamic discovery. | Expose the configured target or discovery service. | ESXi has the information needed to begin discovery. |
| Perform discovery | Use the configured static entry or send SendTargets through dynamic discovery. | Return target details or respond to the target connection attempt. | ESXi learns target information. |
| Authenticate or authorize access if configured | Present the initiator identity and any required authentication credentials. | Check the initiator IQN, authentication, access groups, and mappings. | The initiator can log in if permitted. |
| Rescan storage | Rescan the iSCSI adapter or storage adapters after configuration changes. | Continue presenting authorized devices. | ESXi refreshes its view of targets, paths, and LUNs. |
| Verify LUN visibility | Inspect the discovered devices and paths. | Confirm that the intended LUNs are mapped to the ESXi initiator. | Authorized LUNs are available for later storage use. |
Software iSCSI Network Considerations
The ESXi software iSCSI initiator requires a VMkernel port with IP connectivity to the iSCSI storage network. A VMkernel port is an ESXi networking interface used for host services, including software iSCSI traffic.
Before configuring discovery, establish the intended storage network path. Check the following:
- IP addressing: The VMkernel port and storage endpoint must have compatible addresses and routing.
- VLAN assignment: The ESXi port group, physical switch ports, and storage interface must use the intended VLAN configuration.
- Routing: Any required route between the VMkernel network and storage network must exist.
- DNS: Hostnames require working name resolution from the ESXi host. Using an IP address can help distinguish name-resolution problems from connectivity problems.
- Firewall policy: Network security controls must allow the required iSCSI traffic between the VMkernel path and storage endpoint.
- Storage service availability: The target or discovery service must be running and listening on the expected interface.
Network reachability alone does not prove that storage access will work. The target must also recognize and authorize the ESXi initiator, and the desired LUNs must be mapped to it.
Configuration Checklist
Software iSCSI VMkernel networking
- Create or identify the VMkernel port intended for iSCSI traffic.
- Assign the correct IP address, subnet, VLAN, and routing configuration.
- Verify that the path reaches the storage network through the intended physical interfaces and switches.
Static target configuration
- Open the ESXi software iSCSI adapter configuration.
- Add the target IP address or hostname.
- Enter the target IQN exactly as supplied by the storage system.
- Save the configuration and rescan the iSCSI adapter.
Dynamic discovery configuration
- Open the ESXi software iSCSI adapter configuration.
- Add the discovery target IP address or hostname.
- Save the configuration so ESXi can issue SendTargets.
- Rescan the iSCSI adapter and review the returned targets.
Target-side initiator access mapping
- Obtain the ESXi initiator IQN from the iSCSI adapter configuration.
- Register or authorize that IQN on the storage system.
- Map the intended LUNs to the authorized initiator or its storage access group.
- Rescan storage on ESXi after changing presentation or masking.
Troubleshooting Discovery and LUN Visibility
No targets are discovered through dynamic discovery
Possible causes include:
- The configured discovery IP address or hostname is incorrect.
- The VMkernel port cannot reach the iSCSI storage network.
- VLAN, routing, firewall, or DNS settings prevent communication.
- The target or discovery service is unavailable.
- The ESXi initiator is not authorized by the storage system.
Check the discovery endpoint, verify VMkernel connectivity to the storage subnet, confirm that the storage service is reachable, and review target-side initiator access. After corrections, run a storage rescan.
A static target does not appear or connect
Verify the target address and IQN against the storage-system configuration. A typographical error in either value can prevent the expected connection. Also confirm connectivity from the correct iSCSI VMkernel network and verify that the target permits the ESXi initiator IQN. Rescan the iSCSI adapter after correcting the entry.
Target discovery succeeds but LUNs are missing
If the target is visible, basic discovery and network communication may be working. Missing LUNs commonly indicate a storage-side presentation problem rather than a discovery problem.
- Review target-side LUN-to-initiator mappings.
- Confirm that the storage system has the correct ESXi initiator IQN.
- Check whether LUN masking prevents visibility.
- Confirm that the connected target actually presents the expected LUN.
- Rescan the ESXi storage adapters after changes.
Exam-Relevant Notes
- Discovery identifies targets; it does not by itself create a VMFS datastore.
- Static discovery requires both the target address and target IQN.
- Dynamic discovery requires a discovery endpoint and uses SendTargets to obtain target details.
- A discovered target can still hide LUNs through initiator authorization or LUN masking.
- The software iSCSI initiator needs a VMkernel port with IP connectivity to the storage network.
- A storage rescan refreshes ESXi's view after target or LUN configuration changes.
- Static and dynamic discovery both require functioning networking, correct storage configuration, and authorized initiator access.
Summary
ESXi must discover and connect to an iSCSI target before its LUNs can become available. Static discovery explicitly lists each target address and IQN, making it predictable but requiring individual maintenance. Dynamic discovery configures a discovery endpoint and uses SendTargets to learn associated targets, reducing manual entry in larger or changing environments.
The complete process depends on a correctly configured iSCSI VMkernel path, reachable storage networking, accurate target identifiers, target-side authorization, LUN mapping, and a storage rescan. Understanding the difference between discovery, login, LUN presentation, and datastore use makes iSCSI problems easier to isolate.
Continue with iSCSI target discovery on VMware ESXi as a reference for these concepts.