Path failure and related SATP/PSP behaviour

This question came up in a recent conversation about what happens in the Pluggable Storage Architecture (PSA) when there is a path failure. It basically describes the roles played by both the Storage Array Type Plugin (SATP) and the Path Selection Policy (PSP) when a path fails, resulting in I/O failing. When a virtual machine issues an I/O request to a storage device managed by the NMP (Native Multipath Plugin), the following steps take place:

First, the NMP calls the PSP assigned to this storage device.

The PSP selects an appropriate physical path for the I/O to be sent. The PSP can load balance the I/O if necessary (round-robin)

If the I/O operation is successful, the NMP reports its completion.

If the I/O operation reports an error (e.g. because there is a path failure), NMP calls the appropriate SATP to select a new active path for the device.

The SATP interprets the error codes and, when appropriate, activates inactive paths and selects a new active path.

The I/O is retried, and the PSP is once again called to select a new path to send the I/O.

And if you'd like to watch a video on this topic, one of my colleagues uploaded a short animation to youtube which I put together for a training some years back (Before you ask, I am not responsible for the background music).

Get notification of these blogs postings and more VMware Storage information by following me on Twitter: @VMwareStorage

About the Author

Cormac Hogan is a Senior Staff Engineer in the Office of the CTO in the Storage and Availability Business Unit (SABU) at VMware. He has been with VMware since April 2005 and has previously held roles in VMware’s Technical Marketing and Technical Support organizations. He has written a number of storage related white papers and have given numerous presentations on storage best practices and vSphere storage features. He is also the co-author of the “Essential Virtual SAN” book published by VMware Press.