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