IP Storage Traffic Failover Fails to Occur in a Dual VMkernel (VMK) ESXi Configuration
search cancel

IP Storage Traffic Failover Fails to Occur in a Dual VMkernel (VMK) ESXi Configuration

book

Article ID: 429518

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

In environments utilizing IP-based storage (iSCSI, NFS, or NVMe over TCP), traffic may fail to failover to a secondary path even when two VMkernel (VMK) interfaces are configured on the same subnet. This results in storage connectivity loss during a physical link or switch failure, despite the presence of redundant paths.

  • Storage paths show as "Dead" or "Timed Out" upon physical link failure.

  • ESXi does not route storage traffic through the surviving VMK interface.

 

Environment

VMware ESXi 7.x, 8.x

Cause

The primary cause is typically ESXi Multi-Homing routing behavior. By default, the ESXi networking stack (NetStack) uses the first initialized VMK for all traffic destined for a specific subnet. Without explicit configuration, ESXi will not automatically "swing" traffic to a second VMK on the same subnet because the routing table treats the first interface as the valid egress point.

Another common cause is incorrect NIC Teaming policy; if using "Route based on originating virtual port," specific storage protocols (like iSCSI) require explicit Port Binding to utilize multiple paths.

Resolution

1. Implement iSCSI Port Binding (iSCSI Only)

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

  1. Ensure each VMK is assigned to only one active physical uplink. (VMK1 -> vmnic0; VMK2 -> vmnic1).

  2. Navigate to Storage Adapters > Software iSCSI Adapter > Network Port Binding.

  3. Add both VMK interfaces.

  4. Verify that the Paths tab shows "Active" paths through both VMKs.

2. Configure Separate Subnets (NFS Best Practice)

NFS does not support Port Binding. To ensure failover:

  1. Assign each storage VMkernel to a different subnet.

  2. Configure the Storage Array with matching interfaces on both subnets.

  3. This forces the ESXi routing table to use the specific VMK corresponding to the target IP's subnet.

3. Verify NIC Teaming and Failover Policy

If using a single VMK with multiple uplinks:

  1. Ensure the Teaming Policy is set to "Link Status only" or "Beacon Probing" (if supported).

  2. Verify that both physical uplinks are in the Active category.

  3. For NFS on VDS, consider using LACP if the physical switch infrastructure supports it to provide link-level redundancy under a single IP.

Additional Information

Please refer to kb Multihoming on ESXi to know more about Multihoming condition.

Note : Storage using the scini driver will not have a feature of Port Binding so we can either use a single VMK in Active/Standby mode.