VMware Cloud Community
atakacs
Enthusiast
Enthusiast

Microcode upgrade - should I worry ?

Hi

Just installed Server 2008 R2 SP1 in one of our VM guest and I keep seeing these log entries:

Message from myserver.local: CPU microcode
update available. The guest OS tried to update
the microcode from patch level 3 (3h) to patch
level 4 (4h), but VMware ESX does not allow
microcode patches to be applied from within a
virtual machine. Microcode patches are used to
correct CPU errata. If you are not experiencing
any problems with your CPU, you can ignore this
microcode patch. Otherwise, you may be able to
obtain a BIOS/firmware update which includes
this microcode patch from your system vendor, or
your host OS may provide a facility for loading
microcode patches obtained directly from the
Intel web site.

Is the service pack actually doing this ?

Should I bother obtaining this microcode update ?

Thanks for your help

Reply
0 Kudos
8 Replies
Cannoli
Contributor
Contributor

Very timely question.  I've been seeing this too and wasn't sure if action was required on my part.

Reply
0 Kudos
admin
Immortal
Immortal

Yes, the service pack is tryng to upgrade your microcode.  If this is a mission-critical system, I would suggest trying to get the microcode update.

Note, however, that this message can be misleading if the host is in an EVC cluster.  EVC can trick the guest OS into trying to load a microcode update for the wrong CPU.

Reply
0 Kudos
atakacs
Enthusiast
Enthusiast

Hello

I have found this http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=103369...

It would seem that ESX(i) is supposed to update the microcode automatically ? Or did I misunderstand something ?

Reply
0 Kudos
admin
Immortal
Immortal

ESX is capable of loading microcode updates on Intel processors, but it doesn't fetch them from the Intel website, and we only bundle them into patch releases to fix specific ESX-related issues.

atakacs
Enthusiast
Enthusiast

Assuming I would like to manualy fetch the relevant files from Intel what is the procedure to have them applied form ESXi ?

Reply
0 Kudos
admin
Immortal
Immortal

I believe you just have to put the microcode.dat file from http://downloadcenter.intel.com in /etc/vmware/microcode/intel and reboot.

Reply
0 Kudos
atakacs
Enthusiast
Enthusiast

I believe you just have to put the microcode.dat file from http://downloadcenter.intel.com in /etc/vmware/microcode/intel and reboot.

Thanks - tried to do that but it did not seem to help (or to do anything, for that matter).

Is there any log I should look into to track this down ?

Reply
0 Kudos
admin
Immortal
Immortal

atakacs wrote:

I believe you just have to put the microcode.dat file from http://downloadcenter.intel.com in /etc/vmware/microcode/intel and reboot.

Thanks - tried to do that but it did not seem to help (or to do anything, for that matter).

Sorry.  The directory should have been /etc/vmware/microcode, but it doesn't matter -- the contents of that directory are non-persistent.

Is there any log I should look into to track this down ?

Check /var/log/syslog.log for lines tagged 'vmkmicrocode'.

To see if the new microcode data file will help, you should be able to run the microcode update manually, from the command line:


vmkmicrocode -f microcode.dat

If there is a good microcode update for your processors in that file and you want to have this done automatically at boot time, I can think of two solutions:

1) Create and install a custom VIB.  [Challenging]

2) Install microcode.dat on persistent storage and modify /etc/rc.local.d/local.sh to do the manual vmkmicrocode command from above. [Easy]

Reply
0 Kudos