While playing around with vSphere 5.0 in my home lab I discovered something with regards to Host Profiles. I installed a host and created a Host Profile from that host. When I installed a new host and linked the host profile the following error would be returned (also see screenshot below) that the host was noncompliant:
Specification state absent from host: device '<datastore>' state needs to be set to 'on'
Host state doesn't match specification: device '<datastore>' needs to be reset
Specification state absent from host: device '<datastore>' Path Selection Policy needs to be set to 'VMW_PSP_FIXED'
Host state doesn't match specification: device '<datastore>' Path Selection Policy needs to be set to default for claiming SATP
After digging around I thought the issue where the ESXi installer didn’t recognize the SAS disk as a local disk and as such wouldn’t create a scratch partition and I figured this might be the same thing. I start digging and it seems to be a “similar” problem. The SAS disk is seen as a shared disk and as such the NAA identifier is stored. Now in my case each host will have a local disk and each of those disks will have a unique NAA ID which means that even if you apply your host profile it will not be compliant. After digging a bit further I bumped into a KB article (2002488) that actually describes this exact problem.
There’s a “work around” to get rid of the “compliance” alert as mentioned in the KB article:
The compliance error can be ignored if the issue is only a device ID mismatch. To avoid generating a compliance error, you can also disable the PSA and NMP profiles under Storage Configuration in the host profile as long as you do not change other PSA or NMP profile settings.
I read the article 14 times and still didn’t have a clue what they were referring to but this is how you “disable” the PSA and NMP profile for these devices:
- Right click the Host Profile and click “Enable/Disable Profile Configuration
- Unfold “Storage Configuration”
- Unfold “Pluggable Storage Architecture (PSA) …
- De-select “PSA Device Configuration”
- Unfold “Native Multi-Pathing (NMP)”
- Unfold “PSP and SATP configuration for NMP devi…”
- De-select “PSP configuration for”
- Click “OK”
This resolved the issue I had. I’ve also requested the KB article (2002488) to be updated to include these steps by the way. Hopefully it will be changed soon.
Rajesh Sharma says
Thanks alot Duncan, I was getting too many errors while applying the Host profile with local SAS drives , this helped.
Joe Keegan says
I’ve also started playing around with host profiles in vSphere 5, on my way to Auto Deploy :-), and I ran across the same issue. Thanks for the post as it is very timely.
After reviewing the KB I noticed that it was just talking about local RAID controllers or SAS disks. In my deployment, on our UCS platform, all our vSphere servers are boot from SAN.
Following the steps above I am able to get rid of all the compliance failures except for:
Specification state absent from host: SATP configuration for device naa….0ad0000 needs to be updated
Host state doesn’t match specification: SATP configuration for device naa…1100000 needs to be updated
Where naa…0ad0000 is the SAN boot disk of the reference host and naa…1100000 is the SAN boot disk on the host I am applying the host profile.
I was able to rid of the last two errors by also deselecting “SATP configuration for” under “PSP and SATP configuration for NMP devi…” (effectively deselecting that whole section).
While I was able to make all of the errors go away, I am a bit worried about deselecting these items in the host profile, especially when planning on deploying auto deploy.
Can you think of any ill consequences of making these changes for an environment that uses boot from SAN or Auto Deploy?
Am I missing something or is this workaround terrible because it means no policy for changing things like Path Selection for iSCSI LUNs can be applied.
I know I don’t enjoy manually changing eight different LUNs on seven individual hosts to Round Robin. I thought this is what host profiles were supposed to help with?
Jose Richard says
Got the exact same issue with ESXi booting from SAN. On all my ESXi hosts the boot partition is LUN ID 0 but with a unique (then different naa). Maybe I didn’t implemented my boot from SAN correctly (best practices).
My question is: maybe I should assure that the LUN ID of the boot partition is different accross all my ESXi hosts ? I got 10 servers so maybe have a convention to use host id 0 to 9 for not shared boot from SAN partitions. And have HOST LUN ID greater than 100 for shared vmfs datastores ?
Michael Schnoebel says
Thanks Duncan, you’ve made my day (…one more time;-)
Agreed with not a good work around. When you have 100 hosts and 90 luns per this doens’t make sense. We are still running into an issue with it checking for ALUA_CX and we don’t even have a CX
I’ve been trying to work around this same issue in our 5.0.0 Update 1 environment. Even after disabling the HP configuration items for PSA and NMP I get told that my host isn’t compliant and needs to reset various devices.
Is this a bug on update 1? Anyone else have any experience with this?
Thanks Duncan….He was helpfully for me…
Now My Host profile work fine…
Virtual Techi says
I am in the process of upgrading/migrating our Vshpere4 to 5,
So Far, I have a New VC 5, we havent migrated the VC database from the OLd VC, we decided to go clean, so its a new Database,
We will be Mananging two ESX Clusters with this VC5, I have already added 3 hosts (esx5) to the one cluster and 2 to the other, The Old Vsphere environment is still live, so far I have all the networking,storage etc configured,
I have presented all the storage to the new cluster.
Problem: I created a host profile from one of the host and applied it to the two clusters, when checking the compliance , the hosts in the other cluster threw some errors which i understand why they are there !! as the LUN presentation to both the clusters are different (well in effect i have answered my own question)
Messages: 1.specification state absent from the host: device id: needs to be updated
2. host state doesnt match specification: SATP configuration for device needs to be updated
3. specification state absent from the host: device id: selection policy needs to be set to vm_psp_mru
4. host state doesnt match specification: device id – selection policy needs to be set tp default cliaming satp
5. specification state absent from the host: device id – state needs to be set to on
6. host state doesnt match specification: device id – needs to be reset
so the question for you is ! What would happen if we apply the profile?
Boardman Meade says
I have recently deployed new 5.1 build 799733 with new 5.1 profile and was getting these SAS compliance errors. I tried these steps by unselecting the PSP and SATP for NMP and Path Selection Policy. After checking compliance and applying the profile again this didn’t make my compliance errors go away. Any thoughts? Thanks
Any idea what the failure “Host state doesn’t match specification: device naa.xxxxx needs to be set to use EqualizeLoadDefaultPolicyOption” is about? Host Profiles are really helpful, it would much more helful if the failure messages were a bit more verbose. I can’t find anything about “EqualizeLoadDefaultPolicyOption” with google.
Duncan Epping says
Can I suggest contacting support. I cannot even find it internally,
I’ll do that, maybe it is related to the iops=1 device settings which I set with esxcli but can’t find anywhere in the profile.
Gaurav Baghla says
http://kb.vmware.com/kb/2002488 explains the same …………
Yes that article was based on my blog post.
Jay Jahns says
Had the same problem using 5.1 auto deploy. The reference host looks good, but further hosts cause these messages to come up. Hosts are stateless with single shared datastore. Upon further investigation, I realized I had set the datastore’s path selection policy to round robin. This generates a non-compliance on additional hosts, despite everything looking correct.
Instead of adjusting the profile, I changed the default PSP for VMW_SATP_ALUA from Most Recently Used to Round Robin. I then updated the profile based on reference host, and booted up an additional host matching deploy rule. I didn’t get any errors when the profile was applied.
Not sure if that helps.
hi Duncan, i ran into another error but related to your blog post here.
my error message is concerning Disk.QFullSampleSize. The default value here is 0. But when creating a profile, when even changing the value to 32 and the Disk.QfullTreshold to value 4.
But the profile creation keeps failing, even when creating a profile from another host. Reassign the host and update the profile from the host to the above created profile.
I’m running out of ideas to fix this issue.