Sergej Khackimullin - Fotolia
Server reliability depends on identifying and recovering from errors that might otherwise crash a system -- crashing every VM on the server at the same time. Memory errors are one important example. Many memory errors are "soft" errors which are corrected and not easily repeated, but could crash an entire server without mitigation.
With advances in memory subsystem design, memory errors are recorded to small logs on serial presence detect chips located on each DIMM. The system can then use that error data to identify addresses that might be problematic, and avoid using those addresses or pages that include questionable address. An example here includes hot spare capability where a fault on one DIMM would cause content to be switched to a backup DIMM already installed and standing by on the system -- the server would simply stop using the questionable DIMM and alert a technician that a spare DIMM had been invoked.
Hypervisors can also read memory error logs and make intelligent determinations about questionable memory addresses. For example, a memory address that reports an unusual number of corrected errors -- such as errors fixed using error correcting code -- might signal an impending hard fault of the DIMM. Hypervisors like VMware's ESXi can stop using pages with problematic addresses, preventing memory errors from escalating and possibly disrupting a VM or the entire system.
At the same time, such error isolation behavior can report error findings to hypervisor event logs and even administrative trigger alerts for further investigation. This allows the server to continue running until a technician can migrate VMs to other servers and take the troubled system offline for detailed troubleshooting and repair. Even when memory troubleshooting tests are inconclusive, the questionable DIMMs might be replaced preemptively as a matter of course.
Memory is a critical resource for virtualization -- and is often the limiting resource for server consolidation -- but memory technologies are constantly improving. Hypervisors have long-supported overcommitment which can identify and reallocate idle memory, and emerging systems can share common memory content across multiple virtual machines while compression can cache idle pages without the need for disk swapping. All of these developments contribute to better resource utilization, greater consolidation levels, fewer memory errors and more reliability for virtual machine environments.
Solving the mystery of the disappearing VM
Troubleshooting VM migration errors
Top five VMware SRM errors and how to fix them
Dig Deeper on Server consolidation and improved resource utilization
Related Q&A from Stephen J. Bigelow
Learn how load balancing in the cloud differs from a traditional network traffic distribution, and explore services available from AWS, Google and ... Continue Reading
Access management is critical to securing the cloud. Understand the differences between AWS IAM roles and users to properly restrict access to AWS ... Continue Reading
Containers have rapidly come into focus as a popular option for deploying applications, but they have limitations and are fundamentally different ... Continue Reading