Managing Pluggable Storage Architecture – Part 2

In the first part I have posted about what is the Pluggable Storage Architecture, MNP, SATP, PSP. In this second part we will configure them.

Configuring Proper SATP and PSP for Your Storage Array

By default, on ESXi hosts every storage device handled by NMP. This is defined in claim rules which are used by PSA to determinate MPP or NMP is needed in order to manage paths to a device.

~ # esxcli storage core claimrule list


As we can see for USB, SATA, IDE, block, unknown and any other devices the NMP will be used. Almost all rules are already loaded (runtime). With “MASK_PATH” devices can be hidden from the ESXi host.

Sometimes the default PSPs and/or SATPs are not the best, or have changed in the Compatibility Guide, or the storage vendor recommends another plug-in, or settings. These situations can be solved via esxcli or PowerCLI.

Changing the default PSP for a SATP

For example, there was two SATPs (VMW_SATP_ALUA_CX and VMW_SATP_SYMM) which had in the past the VMW_PSP_FIXED as default PSP. EMC has recommended to change the default claim rules to VMW_PSP_RR. This can be done via esxcli:

~ # esxcli storage nmp satp set -b -P VMW_PSP_RR -s VMW_SATP_ALUA_CX
~ # esxcli storage nmp satp set -b -P VMW_PSP_RR -s VMW_SATP_SYMM


Changing the PSP on a single LUN

Find the device identifier of your LUN, then run the following to get the currently used PSP

~ # esxcli storage nmp device list -d naa.600507630080807a4000000000000002


The policy is VMW_PSP_MRU, but the IBM V7000 should use VMW_SATP_AULA with VMW_PSP_RR, so let’s change it to Round Robin

~ # esxcli storage nmp device set -d naa.600507630080807a4000000000000002 -P VMW_PSP_RR

Check again the PSP of this LUN:

~ # esxcli storage nmp device list -d naa.600507630080807a4000000000000002


Now we have the correct VMW_PSP_RR. This can be modified in Web Client also.


Changing the PSP on more than one LUN with PowerCLI

Usually we have more than one LUN and more than one ESXi host. That means a lots of PSP / SATP rules, so lots of manual work if something needs to be changed. With PowerCLI very sophisticated queries and modifications can be executed.

With the following PowerCLI one liner get all of the IBM MRU LUNs from a particular ESXi host with beginning only a specified device ID part.

PowerCLI C:\> Get-VMHost | Get-ScsiLun -LunType "disk" | where {$_.Vendor -eq "IBM" -and $_.canonicalname -like "*naa.600507630080807a4*" -and $_.Multipathpolicy -eq "MostRecentlyUsed" } |select canonicalname,multipathpolicy | sort canonicalname | ft -autosize


What if we want to change all of these LUNs to Round Robin? That is easy

PowerCLI C:\> Get-VMHost | Get-ScsiLun -LunType "disk" | where {$_.Vendor -eq "IBM" -and $_.canonicalname -like "*naa.600507630080807a4*" -and $_.Multipathpolicy -eq "MostRecentlyUsed" } | Set-scsiLun -MultipathPolicy "RoundRobin"


All of the filtered LUNs now have the VMW_PSP_RR Path Selection Plug-in.

Define new SATP & PSP for a storage device

Most of the arrays will work well with the default SATP and PSP settings, but some storage vendor has best practices which should be followed to ensure the best performance. In this case a new custom SATP claimrule needs to be added.

~ # esxcli storage nmp satp rule add -s VMW_SATP_ALUA -P VMW_PSP_RR -O iops=1 -c "tpgs_on" -V NewVend -M NewArr -e "MyVendr MyAr SATP claimrule"

This creates a new SATP rule for VMW_SATP_ALUA with default Round Robin PSP, where after one IOPS the next path will be used and with option -c the Target Port Group support is enabled.

Then get all of the SATP rules which are using the VMW_SATP_ALUA

~ # esxcli storage nmp satp rule list -s VMW_SATP_ALUA


The new rule is displayed, marked with “user” in the “Rule Group” column.


As you can see very important to know how PSA works. Verify that the proper SATP and PSP plug-ins are configured on all LUNs, based on the VMware Compatibility Guide. If available, try the MPPs. If a storage vendor has provided best practices for a particular array, ensure that all of them have applied. Use the latest firmware version for your storage array and the latest ESXi updates. Sometimes with the new releases the default PSP for a SATP has changed by VMware, or other SATP or PSP plug-ins are recommended. For example, from 5.1 U2 to 5.1 U3 with the IBM Storwize V7000 the default VMW_SATP_SVC with VMW_PSP_FIXED has changed to VMW_SATP_ALUA with VMW_PSP_RR. Additionally, it can be that a different SATP needs to be set for the same storage if using FC or iSCSI. (e.g. with NetApp FAS8000 series)

This entry was posted in Uncategorized and tagged , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.