The root cause is a known bug in the CPU microcode of the mentioned processors. It leads to incorrect memory page translations when the EPT (Extended Page Tables) feature of the CPU is enabled and is mentioned as Erratum CA135 in an Intel specification update of the E5 v2 CPU family. EPT is an important CPU virtualization feature and helps to offload the VM memory address translation to the CPU which can significantly increase a VM's performance. So this bug is rather critical! How can it be fixed?
If you have read my earlier FAQ post CPU microcode updates and VMware ESXi then you already know that CPU microcodes are typically updated through a computer's BIOS in order to fix such errata. So the VMware KB article advises to contact your hardware vendor to get an updated BIOS that fixes the issue.
Thanks to a post on ict-freak.nl I learnt that HP has already made suitable BIOS updates available (see their advisory c04327904 for details) and that at least the following Intel Xeon processors are affected: E5-2400/2600/4600 and E7-4800/8000 (all series v2). The post also mentions a fix for Dell servers, but what do you do if you are using one of the affected CPUs in a system of another vendor or a whitebox server that is not officially supported by VMware and there is no suitable BIOS update available?
Then you can also use my cpu-microcode VIB package to have ESXi update the CPU microcode at boot time! The latest version of the package includes the Intel microcode update of 2014-04-30 that is supposed to include the needed fix. At the end of my FAQ post (see Update (2014-02-10)) you will find instructions on how to install (or update) the VIB on your ESXi host directly from the V-Front Online Depot!
This post first appeared on the VMware Front Experience Blog and was written by Andreas Peetz. Follow him on Twitter to keep up to date with what he posts.