Hyper-V Cluster with Different Capacity Hosts

Last week I was asked about how you would introduce new, bigger, Hyper-V hosts to a cluster.  For example, there was a time (not long ago) when the sweet spot for RAM in a host was 32GB RAM.  You might have a number of these hosts in a cluster.  For example, a cluster with 8 or less hosts would have 1 redundant node with 32GB RAM.  If one host fails, then the redundant host can take up the slack.

In reality, virtual machines will be running across all of the hosts in a load balanced environment.  You will have the equivalent of 1 host in redundant capacity.

A cluster with 9-16 nodes will probably have 2 redundant hosts (or equivalent capacity).

Say I have 5 hosts with 32GB RAM with 1 of those being redundant.  Now I can purchase hosts with 64GB of RAM at a decent rate because servers have many more memory slots and I don’t need to buy the exponentially more expensive 8GB or 16GB memory boards.  Can I buy just one of those servers and add it to the existing cluster of 32GB RAM hosts?  Sure you can.  But you will have trouble when you add more VM’s to it than you could add to a 32GB RAM host.

Let’s put it this way:  Say I have 2 * 1 gallon buckets.  1 is full of water.  I can put .5 gallon in each bucket.  I can pour .5 gallon from one bucket to another to wash it or repair the original bucket.  I always have 1 gallon of water … clustered between my 2 * 1 gallon buckets.  Now I want to carry much more water and I buy a 2 gallon bucket to add to my collection of buckets.  I have 1 * 1 gallon bucket that is full.  I have 1 * 2 gallon bucket that is full.  I have 1 empty 1 gallon bucket as a spare.  But it can only be a spare for the other 1 gallon bucket.  I will have to throw away 1 gallon if I need to wash or repair the 2 gallon bucket and pour its contents into the spare 1 gallon bucket.

The same goes for Hyper-V hosts (purely on RAM capacity).  A 32GB RAM host cannot offer full redundancy for a 64GB RAM host.  Half of the virtual machines can migrate and stay running/reboot, but the other half will not be able to start.

Here’s what you can do in a growth scenario:

  • Add a single 64GB RAM host.  You don’t need to add more hosts while it hosts no more than the capacity of a 32GB RAM host (probably around 28GB of committed virtual machine RAM (I say committed because Dynamic Memory makes things a little more complicated).
  • Once the 64GB RAM host exceeds the capacity of a 32GB RAM host you will need to add a second 64GB RAM host.  This will provide you will the capacity for providing redundancy for all running virtual machines on the original 64GB RAM host.

I haven’t got the h/w to test this out but I suspect that VMM will scream at you about loss of redundancy in the cluster if you don’t do this right.

2 thoughts on “Hyper-V Cluster with Different Capacity Hosts”

  1. Hi Aidan,

    I have read a number of your articles on Hyper-V clustering and want to say Thanks for all the great info.

    I am in exactly this situation, I want to add ram to some host on a Hyper-V cluster and not sure if I have to add to all Nodes or I can do it in stages, several nodes at a time. On this point I have to ask about your reasoning. According to the bucket theory you cannot take a 2 gallon bucket and fail it over to a 1 gallon bucket. But isn’t that only if you are at 100% capacity? Since Hyper-V allows you to assign where failover occurs couldn’t I divvy up that 2 gallon bucket across several nodes if resources were available?

    Or does Hyper-V simply not allow you to do this?

    Todd

    1. If you have two gallons of water, you need 2 x 1 gallon buckets. If you fail over with just one such bucket, then 1 gallon of water spills on the ground. There is no magic capacity coming out of a parallel universe. Size appropriately.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.