What is CIM?
CIM means Common Information Model, and they allow for communication between the ESXi Operating System and the hardware sensors.
Why do I need it?
Normally I am a big fan of using the HP ESXi ISO image to load servers with ESXi instead of the VMware roll if its being loaded on an HP server. The HP image is a derived from the VMware image, but they add in all the HP drivers and CIM drivers so that you don’t have to manually install them. You can always tell when an HP server has been loaded with the VMware image because under the “Hardware Status” tab there is no reference to storage devices. See Figure 1. (Click to zoom in)
Figure 2 shows the “Health Status” after the HP CIM driver install.
As you can see we now have detailed information about the Array controller and what it is doing. This is extremely important if you have local storage in the server, because without getting this information to vCenter, you wont be able to get email (or other) alerts if a driver were to fail.
There is one problem with the HP ESXi image though… it always a few days/weeks behind the official realease, and if you install a bunch of VMware servers like I do you may not be able to wait a week for it to come out. That is why sometimes we need to manually install the CIM providers on ESXi.
So how do we manually install?
In order to manually install the CIM providers we first need to download the zip file from HP’s website. In this example I am installing them on a DL360 G6 server so I went to its drivers page and looked for the following item.
After downloading the drivers upload them to a datastore. If you are going to do multiple servers your best option would be to already have a SAN or NFS datastore shared among the hosts to upload to. After uploading you have two options, you can enable SSH on each of your hosts or you can use the vSphere CLI interface, I would let how many hosts I need to do determine which of these two methods I would use. Because I only had one host to update today I just enabled SSH and used the following command:
esxcli software vib install -d <datastore path>
But if I were to use vSphere CLI I would have needed to use this command:
esxcli -s <server> -u root -p mypassword software vib install -d <datastore path>
The advantage of using vSphere CLI is that you should only need to change the server name in the command for each host you want to do. After a successful install you will also need to reboot the host before the new CIM drivers will take affect.
Just an added note if someone wants to install this along with the Emulex CIM providers, you will need to install the HP CIM first and the Emulex last. If you don’t you will get some odd behavior. It was supposedly fixed but from my tests it doesn’t look like it was. Overall, great write up!
Thanks James! Can you comment on what the Emulex CIM’s provide that you normally wouldnt get if you just put the card in ?
Absolutely, the Emulex CIM Providers allow for native configuration management, status monitoring, online maintenance and use of the Emulex OneCommand management software. For me, this has been something that is a must for anyone running Emulex adapters.
Thanks for the write up i just did this on an HP ml110 G6 with a smart array e200 and it worked like a charm.
Useful info. thanks. How did you get the Health Status on the configuration tab? I get mine on a ‘hardware’ tab. Interesting difference.
Also, can you provide any info on SMTP alerts and how to get notified when hardware fails.
Love blogs like this. thx again.
I tried to install the HP bundle with this info, but when i issue the command with putty i get the following error:
-sh: esxcli: not found
What am i doing wrong here?
Do you need to shut down the VM’s first?
The driver installation will require a reboot of the ESXi system. So yes your VM’s will need to be shutdown, or vMotioned to a different host.
But you cannot use vCenter with free Esxi ! so you cannot get/set email notification anyway.
?
use Veeam Free edition to monitors your free servers!