The default pathing policy for a LUN can be changed (for example from Fixed to Round Robin). This can be a LUN on an iSCSI or FC array (or FCoE for that matter).
When I refer to pathing policy I'm refering to what you may have seen if you've ever clicked manage path's on a VMFS datastore and see it set to Fixed, Round Robin (RR) or Most Recently Used (MRU).
In this example I will be changing the default pathing policy for an EqualLogic array from Fixed to Round Robin.
Before I get into how to change the multi-pathing policy, it's important to understand the below 3 plugins (NMP, SATP and PSP):
The PSP as shown below can be set manually per LUN and per ESXi server. Note the SATP is shown and not changeable (e.g. VMW_SATP_EQL for a Dell EqualLogic iSCSI array in this case).
Of course changing it this way is a very slow and tedious process, and does not account for new LUNs created in the future.
So we need a way to change the PSP for all the LUNs on an ESXi server and set it to default for any new ones we create in the future. Enter "esxcli" ta-da!
With "esxcli storage nmp satp" commands we can list and set the PSP used for specific SATP's.
1. Run the following command to list all the SATP's and their default PSP
~ # esxcli storage nmp satp list
Name Default PSP Description
------------------- ------------- ------------------------------------------
VMW_SATP_EQL VMW_PSP_FIXED Supports EqualLogic arrays
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_INV VMW_PSP_FIXED Placeholder (plugin not loaded)
VMW_SATP_EVA VMW_PSP_FIXED 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
~ #
2. Change the default PSP for a SATP
The following command changes the default PSP for all LUNs using that SATP. So in this case all EqualLogic LUNs will be changed to use the Round Robin PSP.
"esxcli storage nmp satp set -P=<enter PSP> -s=<enter SATP>"
~ # esxcli storage nmp satp set -P=VMW_PSP_RR -s=VMW_SATP_EQL
Default PSP for VMW_SATP_EQL is now VMW_PSP_RR
3. List the SATP's and their default PSP again, notice it has now changed
~ # esxcli storage nmp satp list
Name Default PSP Description
------------------- ------------- ------------------------------------------
VMW_SATP_EQL VMW_PSP_RR Supports EqualLogic arrays
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_INV VMW_PSP_FIXED Placeholder (plugin not loaded)
VMW_SATP_EVA VMW_PSP_FIXED 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
~ #
4. For the change to take affect, the ESXi server must be restarted.
Ensure your host is in maintenance mode and VMs are either powered off or vMotioned to another host before doing do.
5. Once the server has restarted if you go back to view "Manage Paths" on the LUN you will see it has now changed to Round Robin.
6. Now you can repeat process this for all your remaining ESXi servers.
OR
Why not use power of host profiles to use this as a reference host and apply this as the default PSP for the SATP on other hosts and monitor them for compliance in case someone changes it in the future or rebuilds a host and forgets!
Share this blog post on social media:
TweetAll advice, installation/configuration how to guides, troubleshooting and other information on this website are provided as-is with no warranty or guarantee. Whilst the information provided is correct to the best of my knowledge, I am not reponsible for any issues that may arise using this information, and you do so at your own risk. As always before performing anything; check, double check, test and always ensure you have a backup.