One of the great beauties of a fully virtual environment - or as virtual as you can make it - is the ability to expand and contract specific resources - RAM, storage and processor - as needed. You probably already know that RAM plays a huge part in any virtual infrastructure. As your cluster begins to support more and more services, RAM will be at even more of a premium and, eventually, you’ll get to a point at which you need to add RAM via some method.
I’ve written before that I’ve found it too expensive to simply rip and replace existing RAM. From a per-GB perspective, buying a whole new server makes more sense than simply upgrading an existing one. And, there are some other reasons why it makes sense to add more RAM.
In reviewing RAM usage on our four existing hosts, with 32 GB, 32 GB, 48 GB and 96 GB of RAM respectively, I’ve seen that each has between 35% and 40% of RAM free. As I consider upcoming workload needs and the need to make sure that there are enough resources in the cluster so that the beefiest server (in our case, one with 96 GB of RAM) can fail, I’ve decided to replace one of the 32 GB units with another 96 GB unit. In the next couple of weeks, we’ll be adding additional workloads that require between 18 GB and 26 GB of additional RAM, not to mention new needs as we stand up additional services this summer. Another bonus: The new server has 12 cores as opposed to the 8 in the existing server. Although processor usage is far from a problem in our cluster, the cost differential between 8 and 12 cores was negligible.
As I reviewed the stats and considered immediate needs, I found myself uncomfortable running at almost 65% capacity on my ESX hosts, especially with such a disparity in RAM amounts on each server. What about you? At what point do you kick off an upgrade for a particular resource?