IP storage traffic failover failure in dual VMkernel ESXi configurations.
search cancel

IP storage traffic failover failure in dual VMkernel ESXi configurations.

book

Article ID: 429518

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

In VMware ESXi environments using IP-based storage (iSCSI, NFS, or NVMe over TCP), redundancy is often configured using two VMkernel (VMK) interfaces. However, if both interfaces reside on the same subnet, traffic may fail to fail over to the redundant link during a physical uplink or switch failure. This results in storage connectivity loss, with paths showing as "Dead" or "Timed Out." Monitoring tools may show TCP sessions stuck in a SYN_SENT state as the ESXi NetStack continues attempting to use the original initialized interface.

  • Storage paths report "Dead" or "Timed Out" after a physical link failure.
  • IP storage traffic does not automatically switch to the second VMK interface on the same subnet.
  • TCP connection states remain in SYN_SENT instead of ESTABLISHED.
  • vmkping from the secondary interface may succeed, but active I/O does not resume.

Environment

  • Hypervisor: ESXi 7.x, 8.x (including 8.0 Update 3)
  • Storage Protocols: iSCSI, NFS, NVMe over TCP
  • Specific Drivers: SCINI (PowerFlex/ScaleIO)

Cause

  • The primary cause is ESXi Multi-Homing routing behavior. By default, the ESXi networking stack installs a single route for a specific subnet using the first initialized VMK interface. When that physical link fails, the routing table does not automatically redirect traffic to the second interface on the same subnet because both are treated as valid egress points for the same destination.
  • For protocols like iSCSI, this is made worse if 'Port Binding' is not configured. For protocols like NFS or drivers like SCINI (PowerFlex), which do not support 'Port Binding', the multi-homing constraint prevents effective failover in an Active/Active same-subnet configuration.

Resolution

Choose the appropriate resolution path based on the storage protocol and driver in use.

1. Implement iSCSI Port Binding (iSCSI Only)

For iSCSI, explicitly bind each VMkernel interface to the Software iSCSI Adapter to enable Multipathing (PSP).

  1. Verify each VMK is assigned to exactly one Active physical uplink (e.g., VMK1 to vmnic0, VMK2 to vmnic1).
  2. Navigate to Storage Adapters > Software iSCSI Adapter > Network Port Binding.
  3. Add both VMK interfaces.
  4. Confirm the Paths tab shows "Active" status for both VMKs.

2. Configure Separate Subnets (NFS and PowerFlex/SCINI)

Since NFS and the SCINI driver do not support Port Binding, use separate subnets to ensure failover.

  1. Assign each storage VMkernel to a different subnet (e.g., Subnet A and Subnet B).
  2. Configure the Storage Array with matching target interfaces on both subnets.
  3. This forcing mechanism ensures the ESXi routing table uses the specific VMK corresponding to the target IP's subnet.

3. Active/Standby Configuration

If a single subnet must be used and Port Binding is unavailable:

  1. Configure a single VMK interface with two physical uplinks.
  2. Set the Teaming and Failover policy to Active/Standby.
  3. In the event of a failure on the Active vmnic, the traffic will "swing" to the Standby vmnic under the same VMK, maintaining the established route.

4. Verify NIC Teaming Policy

If using multiple uplinks under a single VMK:

  1. Ensure the Teaming Policy is set to "Link Status only" or "Beacon Probing".
  2. Verify both physical uplinks are listed as Active.

Additional Information

For more information refer to the kb : Multihoming on ESXi