This article outlines troubleshooting steps for cases where LUNs are missing on ESXi hosts after being migrated from a different array.
Symptoms:
2024-04-20T12:13:30.047Z cpu**:*******)WARNING: NMP: nmp_CallRegisterDevice:****: Device, seen through path vmhba*:C*:T*:L*** is not registered (no active paths)
2024-04-20T12:18:29.890Z cpu**:*******)WARNING: NMP: nmp_CallRegisterDevice:****: Device, seen through path vmhba*:C*:T*:L*** is not registered (no active paths)
VMware vSphere ESXi 7.0.x
VMware vSphere ESXi 8.0.x
When Restarting / Power-On an ESXi host or rescanning a storage adapter, the host detects all physical paths to storage devices. Claim rules then dictate which multipathing module (such as NMP, HPP, or MPP) controls the paths for a specific device. The module that owns the device is responsible for managing multipathing support for it.
In absence of a SATP claim rule where the storage device is not claimed by default claim rules available on the host
Following are the necessary actions to address the issue:
# esxcfg-mpath -l
# esxcfg-info | grep -A1 "Default Path Selection Policy"
# esxcli storage nmp satp list
# esxcli storage nmp satp list
# esxcli storage nmp device list
For example:
# esxcli storage nmp device list
naa.**********************:
Device Display Name: ***** Fibre Channel Disk (naa.****************)
Storage Array Type: VMW_SATP_DEFAULT_AA
Storage Array Type Device Config: {action_OnRetryErrors=off}
Path Selection Policy: VMW_PSP_RR
Path Selection Policy Device Config: {policy=rr,iops=1,bytes=10485760,useANO=0; lastPathIndex=7: NumIOsPending=0,numBytesPending=0}
Path Selection Policy Device Custom Config:
Working Paths: vmhba**:C*:T*:L*, vmhba*:C*:T*:L*, vmhba**:C*:T*:L*, vmhba*:C*:T*:L*
Is USB: false
# esxcli storage nmp satp rule list
For example:
Name Device Vendor Model Driver Transport Options Rule Group Claim Options Default PSP PSP Options Description
VMW_SATP_DEFAULT_AA *** Hu*** Inv*** ** **** system tpgs_off VMW_PSP_RR iops=1 ***
# esxcli storage nmp satp rule add -s VMW_SATP_DEFAULT_AA -t vendor -V *** -M *** -c tpgs_off -P VMW_PSP_RR -O iops=1
-M|--model=string Set the model string when adding SATP a claim rule.
-V|--vendor=string Set the vendor string when adding SATP claim rules.
Note: It always recommended to migrate all the VMs from the host where changes being performed to other host with same version cluster.
# esxcli storage nmp satp rule list
For example:
# esxcli storage nmp satp rule list | grep EMC
Multiple configurations are supported by the family of arrays. Consequently, the ‘Claim Options’ value is set to ‘tpgs_off.’ If your device utilizes a generic SATP (such as ‘VMW_SATP_DEFAULT_AA’), one can create a claim rule specific to a storage array by matching the vendor’s name and/or model string. Additionally, if a Logical Unit Number (LUN) has been mapped to a host, you’ll need to restart the host. Keep in mind that new SATP rules take effect after modifying the Host Access Mode, but if you’re mapping the LUN for the first time, a restart isn’t necessary.
External Ref:
Changing an ESXi SATP Rule
Removing an incorrect SATP Rule