Explain the Pluggable Storage Architecture (PSA) Layout

To manage storage multipathing, ESX uses a special VMkernel layer, the Pluggable Storage Architecture (PSA). The PSA is an open, modular framework that coordinates the simultaneous operation of multiple multipathing plug-ins. (MMPS) The VMkernel mulitpathing plug-in that ESX provides by default is the VMware Native Multipathing Plug-In (NMP). The NMP is an extensible module that manages sub plug-ins. There are two types of NMP sub plug-ins, Storage Array Type Plug-Ins (SATPs), and Path Selection Plug-Ins (PSPs). SATPs and PSPs can be built-in and provided by VMware, or can be provided by a third party.

The Native Multipathing Plug-In (NMP) is the VMware default MPP. If no vendor-supplied MPP has been installed and configured, the NMP is used automatically. The NMP comes with its own default claim rules. The NMP implements the following tasks:

  • Associates an SATP with each physical storage path
  • Associates physical paths with logical devices
  • Process I/O requests to logical devices
  • Performs actions necessary to handle failure and request retries using the SATP

Storage Array Type Plug-Ins (SATPs) is provided by ESX for every type of array that VMware supports. It also provides default SATPs that support non-specific active-active and ALUA storage arrays, and the local SATP for direct-attached devices. After the NMP determines which SATP to use for a specific storage device and associates the SATP with the physical paths for that storage device, the SATP implements the tasks that include the following:

  • To implement the switching of physical paths to the array when a path as failed
  • To determine when a a hardware component of a physical path has failed
  • To monitor the hardware status of the physical paths to the storage array

Path Selection Plug-Ins (PSPs) run with the VMware NMP and are responsible for choosing a physical path for I/O requests. The NMP assigns a default PSP for each logical device based on the SATP associated with the physical paths for that device (You can override the default PSP). VMware provides three default PSPs:

  • Fixed
  • Most Recently Used (MRU)
  • Round Robin (RR)

VMware NMP Flow of I/O Example

  • The NMP calls the PSP assigned to this logical device
  • The PSP select an appropriate physical path to send the I/O, load-balancing the I/O if necessary
  • If the I/O operation is successful, the NMP reports its completion. If the I/P operation reports an error, the NMP calls an appropriate SATP
  • The SATP interprets the error codes and, when appropriate, activates inactive paths and fails over to the new active path
  • The PSP is then called to select a new active path from the available paths to send the I/O