Tech Note: Using Brocade Access Gateway Device-Based Mapping in VMware ESX Server Environments (June 2010)

DATA CENTER TECH NOTE
Using Brocade Access Gateway Device-Based Mapping in VMware ESX Server Environments Page 2 of 3
VMWARE ESX SERVER BEHAVIOR
NOTE: Process ID (PID) is a Fiber Channel term that refers to a 24-bit switch-assigned ID used throughout
the fabric to route frames from a source to a destination.
Upon detection of I/O failure on the ESX Server base physical ports, all virtual port I/O traffic uses the base
ESX Server PID instead of the virtual port PID. One symptom of this behavior is that VMs cannot use the
path defined by the device mapping. Other symptoms are:
Inconsistencies in displayed PID information and the ones actual in use
Undistinguishable I/O traffic among VMs behind an ESX Server
Potential problems for applications that depend on reliable PID information for decision making
In most cases, rebooting VMs resolves the issue.
This behavior has been observed when device-based mapping in VMware ESX Server/NPIV is configured to
use Raw Device Mapped (RDM) storage. Normally, all I/O traffic from VMs follows user-defined device
mappings. Figure 2 shows the standard behavior, in which I/O traffic for each virtual port uses SAN-
assigned PIDs and goes through the user-defined fabric ports.
Figure 2. Expected behavior: virtual port IDs used for VM I/O traffic
If anything causes the virtual port connections to be interrupted, for instance, if the underlying physical port
goes offline, the ESX Server will switch over to use its physical port PID for all its virtual ports. From there
on, VM data will use the same SAN connection as other VMs on that ESX Server. As a result its I/O traffic
may not go through the intended fabric port. The same behavior has also been observed when VMs first
boot, that is during boot I/O traffic uses physical port PIDs rather than virtual port PIDs. Figure 3 shows this
behavior: a failover when the primary fabric link fails. After this the ESX Server can no longer use the virtual
port ID and reverts to the physical port ID for all I/O traffic.
Figure 3. Primary fabric port fails virtual port B fails over to secondary fabric link