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.