Pluggable
Storage Architecture (PSA)
To manage storage multipathing,
ESX/ESXi uses a special VMkernel layer, Pluggable Storage Architecture (PSA).
The PSA is an open modular framework that coordinates the simultaneous
operation of multiple multipathing plugins (MPPs). PSA is a collection of VMkernel APIs
that allow third party hardware vendors to insert code directly into the ESX
storage I/O path. This allows 3rd party software developers to design their own
load balancing techniques and failover mechanisms for particular storage array. The PSA coordinates the operation of
the NMP and any additional 3rd party MPP.
Features
- There
are two NMP sub plugin->SATPs (Storage array type plugin) and PSP (path selection
plugin)
- Either we can create third party MPP to replace default NMP or we can replace the sub plugins
(SATP/PSP) under NMP
- 3rd party MPP can exist along with native NMP
Vmware SATP
- This module is for selecting the failover path based on the
class of storage ,this module can do failover and detect path based on storage
- monitor and report health of the path and perform array
specific action for storage failover
- There is a SATP rule
set specific for storage models and the current
rule can be found by
esxcli
storage nmp satp rule list
- There is a default path selection policy of each SATP this
is displayed by
esxcli
storage nmp satp list
Vmware PSP
This sub plugin is for the Path selection policy for the i/o
data based on the SATP
There will be a default PSP associated with different SATP
and we have the option to change the default PSP
Different type of PSP
VMW_PSP_MRU
Most recently used path is selected and onec it become
unavailbel next path is selected and once the unavailable path become available
it will not transfer back
This is the default policy for active active array
VMW_PSP_FIXED
Host uses fixed path either we can specify explicitly or it
uses first working pathand on unavailability it will select new path. In case
of explicitly chosen it will remain as such not failover will occur.
This is the default policy of active -active array
VMW_PSP_RR
This is used for load balancing and used with all type of
array
Best practice for
Storage model from specific vendor
1.Check in vmware HCL about the supported PSP and SATP rules
and once clear change else put default
2.Check SATP rule corresponding
to the specific vendor
esxcli storage nmp
satp rule list
3.Check PSP
for the corresponding SATP
esxcli storage nmp satp list
4.If
you want to change the PSP rule for the
SATP corresponding to specific vendor and model
esxcli storage nmp device list -d <device-naa-value>
this will give the vendor and model for the specific lun from the storage
esxcli storage nmp satp rule add -V <vendor> -M "<model>" -P <psp> -s satp>
this will change the default rule
esxcli storage nmp satp rule list
check SATP rule again
Conclusion
Here you can see that there is a default rule for the vendor
A and there is a rule for the vendor A with model B.The advantage is that we
can keep the default policy as such for the vendor and we can i n addition add
policy for specific model for the vendor
Links helpful