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><bundle.zip>
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><bundle.zip>
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.