Home > Articles

vSphere Pluggable Storage Architecture (PSA)

  • Print
  • + Share This
This chapter covers PSA (VMware Pluggable Storage Architecture) components. Learn how to list PSA plug-ins and how they interact with vSphere ESXi 5, as well as how to list, modify, and customize PSA claim rules and how to work around some common issues. It also covers how ALUA-capable devices interact with SATP claim rules for the purpose of using a specific PSP.
This chapter is from the book

vSphere 5.0 continues to utilize the Pluggable Storage Architecture (PSA) which was introduced with ESX 3.5. The move to this architecture modularizes the storage stack, which makes it easier to maintain and to open the doors for storage partners to develop their own proprietary components that plug into this architecture.

Availability is critical, so redundant paths to storage are essential. One of the key functions of the storage component in vSphere is to provide multipathing (if there are multiple paths, which path should a given I/O use) and failover (when a path goes down, I/O failovers to using another path).

VMware, by default, provides a generic Multipathing Plugin (MPP) called Native Multipathing (NMP).

Native Multipathing

To understand how the pieces of PSA fit together, Figures 5.1, 5.2, 5.4, and 5.6 build up the PSA gradually.

Figure 5.1

Figure 5.1. Native MPP

NMP is the component of vSphere 5 vmkernel that handles multipathing and failover. It exports two APIs: Storage Array Type Plugin (SATP) and Path Selection Plugin (PSP), which are implemented as plug-ins.

NMP performs the following functions (some done with help from SATPs and PSPs):

  • Registers logical devices with the PSA framework
  • Receives input/output (I/O) requests for logical devices it registered with the PSA framework
  • Completes the I/Os and posts completion of the SCSI command block with the PSA framework, which includes the following operations:
    • Selects the physical path to which it sends the I/O requests
    • Handles failure conditions encountered by the I/O requests
  • Handles task management operations—for example, Aborts/Resets

PSA communicates with NMP for the following operations:

  • Open/close logical devices.
  • Start I/O to logical devices.
  • Abort an I/O to logical devices.
  • Get the name of the physical paths to logical devices.
  • Get the SCSI inquiry information for logical devices.
  • + Share This
  • 🔖 Save To Your Account