I'm looking for input regarding the implementation of ESXi compute clusters. I'm looking for a solution that will solve the following issues:
This is a greenfield environment, but projected to grow substantially. Take one cluster for example. We
will start out with no VMs in this cluster, but VMs will be added at a regular rate of roughly 2 per day. Within the first six months we know we will need about 8 physical servers to accomodate our VMs. This rate of growth is expected to continue over the next 2 years.
There are two approaches we can take:
1. Buy the physical servers as they become necessary. Start with a small cluster of something like 3 physical servers. Before we run out of capacity, purchase a single server and add it. Purchase another single server and add it before it runs out of VMs.
Benefits:
- We don't spend the money until we have to.
- We don't take up unused space in the datacenter with servers that aren't being used.
- It is easy to justify the need for spending the money because when we request the server, we do actually need it.
Problems:
- When we try to buy a server to add to an existing cluster a year later, we might not be able to get the exact same hardware configuration from the reseller or the manufacturer.
In some instances this means that the CPU chipset might be slightly different, or other slight variations in physical hardware might occur. This causes problems with host profiles being compliant. We have had multiple issues with host profile compliance and even bugs causing compliance checks accross disparate hardware not to work at all. We have to disable certain host profile compliance checks in order to get compliance among servers with slightly variant hardware. We would like to have consistent hardware in a cluster whenever possible to the extent that it is reasonable.
- We have unused hardware sitting around taking up space in the datacenter
- We have to justify to management a large cost of hardware that might not be used for a number of months.
2. The other approach is to buy all the physical servers we need for a certain time block ahead of us.
Benefits:
- We can guarantee the hardware is identical by purchasing it at the same time
- We can potentially configure the entire cluster at one time and not have 4 separate times when we have to build
ESXi hosts, perhaps by 4 different people using processing that are subject to change over time. This gains some efficiency in the build process of the cluster.
Problems:
- We have unused physical servers in the datacenter
- We spend money long before it is required
I'd like to get input regarding how people who have faced these problems have approached it. What are your experiences, recommendations, best practices?
Is it best or reasonable to purchase all the hardware you know you will ever need for a cluster beforehand?
Thanks!