How to Change the Default PSP for an SATP on ESXi

Following on from writing about the VCAP5-DCA objectives, I intend to cover a few scenarios based on some of those objectives, particularly those that I feel the need to go into more detail on. In this post I’ll look at how to change the default path selection policy for a SATP, and for an individual LUN.

Change the default PSP for an SATP

Whilst you can change the PSP for individual LUNs on a per-LUN basis, it is generally preferable to change the default PSP for the SATP (Storage Array Type Plugin) which the relevent LUNs are using. This will change the default PSP for existing LUNs (once they have been reclaimed), and will also set that PSP for any new LUNs that are presented to the host that use the same SATP.

The first step is to list the storage devices attached to the host, and determine what SATP and PSP plugins are being used:

~ # esxcli storage nmp device list
t10.F405E46494C454000714543337B6D29543B603D2A6652613
   Device Display Name: OPNFILER iSCSI Disk (t10.F405E46494C454000714543337B6D29543B603D2A6652613)
   Storage Array Type: VMW_SATP_DEFAULT_AA
   Storage Array Type Device Config: SATP VMW_SATP_DEFAULT_AA does not support device configuration.
   Path Selection Policy: VMW_PSP_FIXED
   Path Selection Policy Device Config: {preferred=vmhba33:C1:T0:L1;current=vmhba33:C1:T0:L1}
   Path Selection Policy Device Custom Config:
   Working Paths: vmhba33:C1:T0:L1
   Is Local SAS Device: false
   Is Boot USB Device: false

I’ve truncated the output above to just show a single device, however the host has other devices presented from the same array. The output shows that the device is using the VMW_SATP_DEFAULT_AA SATP and the PSP is VMW_PSP_FIXED. We now need to confirm whether VMW_PSP_FIXED is the default PSP for this SATP or whether the PSP has been changed for this LUN. To do so, run the following command to list the SATPs and the default PSP for each:

~ # esxcli storage nmp satp list
Name                 Default PSP    Description
-------------------  -------------  ------------------------------------------
VMW_SATP_MSA         VMW_PSP_MRU    Placeholder (plugin not loaded)
VMW_SATP_ALUA        VMW_PSP_MRU    Placeholder (plugin not loaded)
VMW_SATP_DEFAULT_AP  VMW_PSP_MRU    Placeholder (plugin not loaded)
VMW_SATP_SVC         VMW_PSP_FIXED  Placeholder (plugin not loaded)
VMW_SATP_EQL         VMW_PSP_FIXED  Placeholder (plugin not loaded)
VMW_SATP_INV         VMW_PSP_FIXED  Placeholder (plugin not loaded)
VMW_SATP_EVA         VMW_PSP_RR     Placeholder (plugin not loaded)
VMW_SATP_ALUA_CX     VMW_PSP_RR     Placeholder (plugin not loaded)
VMW_SATP_SYMM        VMW_PSP_RR     Placeholder (plugin not loaded)
VMW_SATP_CX          VMW_PSP_MRU    Placeholder (plugin not loaded)
VMW_SATP_LSI         VMW_PSP_MRU    Placeholder (plugin not loaded)
VMW_SATP_DEFAULT_AA  VMW_PSP_FIXED  Supports non-specific active/active arrays
VMW_SATP_LOCAL       VMW_PSP_FIXED  Supports direct attached devices

The output shows that VMW_PSP_FIXED is indeed the default path selection policy for VMW_SATP_DEFAULT_AA. To change the default PSP, in this case to the Round Robin policy, run:

~ # esxcli storage nmp satp set -s VMW_SATP_DEFAULT_AA -P VMW_PSP_RR
Default PSP for VMW_SATP_DEFAULT_AA is now VMW_PSP_RR

You can confirm the default PSP has been changed by repeating the SATP list command used earlier:

~ # esxcli storage nmp satp list
Name                 Default PSP    Description
-------------------  -------------  ------------------------------------------
VMW_SATP_MSA         VMW_PSP_MRU    Placeholder (plugin not loaded)
VMW_SATP_ALUA        VMW_PSP_MRU    Placeholder (plugin not loaded)
VMW_SATP_DEFAULT_AP  VMW_PSP_MRU    Placeholder (plugin not loaded)
VMW_SATP_SVC         VMW_PSP_FIXED  Placeholder (plugin not loaded)
VMW_SATP_EQL         VMW_PSP_FIXED  Placeholder (plugin not loaded)
VMW_SATP_INV         VMW_PSP_FIXED  Placeholder (plugin not loaded)
VMW_SATP_EVA         VMW_PSP_RR     Placeholder (plugin not loaded)
VMW_SATP_ALUA_CX     VMW_PSP_RR     Placeholder (plugin not loaded)
VMW_SATP_SYMM        VMW_PSP_RR     Placeholder (plugin not loaded)
VMW_SATP_CX          VMW_PSP_MRU    Placeholder (plugin not loaded)
VMW_SATP_LSI         VMW_PSP_MRU    Placeholder (plugin not loaded)
VMW_SATP_DEFAULT_AA  VMW_PSP_RR     Supports non-specific active/active arrays
VMW_SATP_LOCAL       VMW_PSP_FIXED  Supports direct attached devices

The output shows that VMW_SATP_DEFAULT_AA now uses VMW_PSP_RR as it’s default PSP. We’re not finished yet however, we need to get the host to reclaim the LUNs, at which point the new default PSP will be used. Often the best way to get the host to reclaim the LUNs is to reboot the host, but you can also get the host to reclaim each device by running:

~ # esxcli storage core claiming reclaim -d t10.F405E46494C454000714543337B6D29543B603D2A6652613

Now, we can confirm this has worked by listing the ‘nmp device list’:

~ # esxcli storage nmp device list -d t10.F405E46494C454000714543337B6D29543B603D2A6652613
t10.F405E46494C454000714543337B6D29543B603D2A6652613
   Device Display Name: OPNFILER iSCSI Disk (t10.F405E46494C454000714543337B6D29543B603D2A6652613)
   Storage Array Type: VMW_SATP_DEFAULT_AA
   Storage Array Type Device Config: SATP VMW_SATP_DEFAULT_AA does not support device configuration.
   Path Selection Policy: VMW_PSP_RR
   Path Selection Policy Device Config: {policy=rr,iops=1000,bytes=10485760,useANO=0; lastPathIndex=0: NumIOsPending=0,numBytesPending=0}
   Path Selection Policy Device Custom Config:
   Working Paths: vmhba33:C0:T0:L1, vmhba33:C1:T0:L1
   Is Local SAS Device: false
   Is Boot USB Device: false

The output now shows that this device is using the VMW_PSP_RR PSP.

Related posts

VMware vSphere Virtual Machine Snapshots Explained

Understanding Type 1 and Type 2 Hypervisors

How to Enable SSH on All ESXi Hosts using PowerCLI

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Read More