By default, ESXi provides an extensible multipathing module called Native Multipathing Plug-In (NMP).

Generally, the VMware NMP supports all storage arrays listed on the VMware storage HCL and provides a default path selection algorithm based on the array type. The NMP associates a set of physical paths with a specific storage device, or LUN.

For additional multipathing operations, the NMP uses submodules, called SATPs and PSPs. The NMP delegates to the SATP the specific details of handling path failover for the device. The PSP handles path selection for the device.

Typically, the NMP performs the following operations:
  • Manages physical path claiming and unclaiming.
  • Registers and de-registers logical devices.
  • Associates physical paths with logical devices.
  • Supports path failure detection and remediation.
  • Processes I/O requests to logical devices:
    • Selects an optimal physical path for the request.
    • Performs actions necessary to handle path failures and I/O command retries.
  • Supports management tasks, such as reset of logical devices.
ESXi automatically installs an appropriate SATP for an array you use. You do not need to obtain or download any SATPs.

VMware NMP Flow of I/O

When a virtual machine issues an I/O request to a storage device managed by the NMP, the following process takes place.

  1. The NMP calls the PSP assigned to this storage device.
  2. The PSP selects an appropriate physical path on which to issue the I/O.
  3. The NMP issues the I/O request on the path selected by the PSP.
  4. If the I/O operation is successful, the NMP reports its completion.
  5. If the I/O operation reports an error, the NMP calls the appropriate SATP.
  6. The SATP interprets the I/O command errors and, when appropriate, activates the inactive paths.
  7. The PSP is called to select a new path on which to issue the I/O.

Display Multipathing Modules

Use the esxcli command to list all multipathing modules loaded into the system. Multipathing modules manage physical paths that connect your host with storage. The modules include VMware native NMP and HPP, and any third-party MPPs.

Prerequisites

Install ESXCLI. See Getting Started with ESXCLI. For troubleshooting, run esxcli commands in the ESXi Shell.

Procedure

  • To list multipathing modules, run the following command:
    esxcli storage core plugin list --plugin-class=MP

Results

This command typically shows the NMP and, if loaded, the HPP and the MASK_PATH module. If any third-party MPPs have been loaded, they are listed as well.

Plugin name  Plugin class
-----------  ------------
NMP          MP

For more information about the command, see the ESXCLI Concepts and Examples and ESXCLI Reference documentation.

Display NMP Storage Devices

Use the esxcli command to list all storage devices controlled by the VMware NMP and display SATP and PSP information associated with each device.

Prerequisites

Install ESXCLI. See Getting Started with ESXCLI. For troubleshooting, run esxcli commands in the ESXi Shell.

Procedure

  • To list all storage devices, run the following command:
    esxcli storage nmp device list

    Use the --device | -d=device_ID parameter to filter the output of this command to show a single device.

Example: Displaying NMP Storage Devices

# esxcli storage nmp device list
mpx.vmhba1:C0:T2:L0
   Device Display Name: Local VMware Disk (mpx.vmhba1:C0:T2:L0)
   Storage Array Type: VMW_SATP_LOCAL
   Storage Array Type Device Config: SATP VMW_SATP_LOCAL does not support device configuration.
   Path Selection Policy: VMW_PSP_FIXED
   Path Selection Policy Device Config: {preferred=vmhba1:C0:T2:L0;current=vmhba1:C0:T2:L0}
   Path Selection Policy Device Custom Config:
   Working Paths: vmhba1:C0:T2:L0
   Is USB: false

......

eui.6238666462643332
   Device Display Name: SCST_BIO iSCSI Disk (eui.6238666462643332)
   Storage Array Type: VMW_SATP_DEFAULT_AA
   Storage Array Type Device Config: {action_OnRetryErrors=off}
   Path Selection Policy: VMW_PSP_FIXED
   Path Selection Policy Device Config: {preferred=vmhba65:C0:T0:L0;current=vmhba65:C0:T0:L0}
   Path Selection Policy Device Custom Config:
   Working Paths: vmhba65:C0:T0:L0
   Is USB: false

For more information about the command, see the ESXCLI Concepts and Examples and ESXCLI Reference documentation.