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):

 

  • NMP (Native Multipathing Plugin) is an extensible multipathing module within ESXi. "esxcli storage nmp" can be used to manage devices associated with NMP and to set path policies. SATPs and PSPs are plugins within the NMP plugin.
  • SATP (Storage Array Type Plugin) determines how path failover is handled for a specific storage array.
  • PSP (Path Selection Plugin) determines which physical path is used to issue an I/O request to a storage device.

 

 

 

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:

Social Links

Disclaimer

All 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.

Copyright ©2008-2021 Andy Barnes - Please do not copy any content including images without prior consent!

Designed and Hosted by Andy Barnes

We use cookies

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.