3PAR SATP custom claimrule for VMware

Having installed many 3PAR Storage Arrays I find more often than not customers are not aware of SATP claim rules. I make sure to discuss with them before the first Virtual Volume is presented. The requirement for a custom claimrule is usually that the active and optimized path should be switched after each IO and not after 1000 IOs. The Storage Array Type Plug-In (SATP) is responsible for array-specific operations like health monitoring of physical paths, reporting of path state changes, and path failover. Each SATP is linked to a Path Selection Policy (PSP) which controls the selection of active paths for IO. After the jump we will learn how to add a customer claimrule specific to a 3PAR Storage Array.

Claimrules are used to select a valid SATP for a storage system. When a SATP for a given device is searched, the Native Multipathing Provider (NMP) searches the SATP driver part of the rules first. If there is no match on the SATP vendor/model, the SATP transport part is searched. If there is still no match a valid default SATP rule is selected. Because of this, a custom SATP claimrule is selected instead the default SATP claimrule. The selected SATP determines the PSP.

With esxcli you can add a new custom rule:

esxcli storage nmp satp rule add -s "VMW_SATP_ALUA" -P "VMW_PSP_RR" -O iops=1 -c "tpgs_on" -V "3PARdata" -M "VV" -e "HP3PAR Custom iSCSI/FC/FCoE ALUA Rule"

The switch -s adds a rule for VMW_SATP_ALUA, -P sets VMW_PSP_RR as the default PSP for this rule, -O enables that an active path is switches after 1 IO (default is 1000), -c enables ALUA target port group support, -V is a valid string from the vendor part of the SCSI inquiry string, -M is a valid string from the model part of the SCSI inquiry string and -e is for a description. You should add this rule before you present the first VVs to the hosts. If you add this rule after you have presented VVs to the ESX hosts, you have to reboot the hosts.