My goal is to learn everything there is to know about VMware vSphere and related products.
To that end I thought it'd be a good idea to come up with personal projects and learn things by experimenting (of course I am also learning through good old fashioned methods such as reading books).
My first thought was I should build at least some basic virtual environment (VE) on my PC and use it to do tests and exercises as I'm learning things.
Some of my friends are also studying or at least toying around with vSphere and have their own private VEs with 2-3 modern VMs (such as Win Server 2K8) running on their home computers.
But then it occurred to me that in a real environment, a company can easily have hundreds of VMs (some large corporations even have millions..).
Clearly it'a whole different ball game when it comes to managing a large virtual infrastructure, and so I decided I'd do things a little bit differently.
I want to create an environment with at least 100 VMs. During installation, vCenter says that an environment with at least 100 machines is considered "large".
Of course 2 things immediately became obvious:
1) it'd be impossible to have modern operating systems such as Windows Server 2K12 as each VM would need a few gigs of RAM, and clearly you can't have that much RAM in a PC
2) in terms of apps and workloads, you can't really create a realistic environment with resource-intensive apps such web servers, databases etc; a desktop CPU can't handle all this work
But that's OK, it wouldn't easily be possible to create an enterprise-level workload with 2-3 modern VMs either.
I want to learn how DRS, HA, FT etc. work when you have a large number of VMs, divided in various resource pools and DRS groups.
To have some fake workloads stressing the vCPUs I'll be using a simple script that gets automatically executed when the VM boots. The script will randomly consume CPU and RAM resources.
Again it's not going to simulate realistic scenarios that you might find in a real production environment, but that's not the point.
That being said, I did some research and found an OS that might fit the bill: TinyCore Linux (TCL).
TCL is a lightweight OS that can easily run with 64MB of RAM. It doesn't require a lot of disk space, either. In fact 64MB of disk space is more than enough. Perfect!
64x100 = 6400MB = 6.25GB
There will be some overhead of course, but my PC has 16GB of RAM so I should be able to cram 100 VMs, right?
I feel confident. We'll see.
What do you guys think?
I'll follow up shortly with a post detailing my project.