What does Storage have to do with Virtual Machines and why?

"A Thought Experiment" by Manupriyam Dubey, University of Lausanne
A thought Experiment

“As an administrator, you are given a single host server configured with four six-core processors, 256 GB of memory, and 1 TB of storage to deploy a number of virtual web servers. You have been told that each virtual machine will require 8 GB of memory, one processor, and 100 GB of disk storage. How many virtual machines will you able to deploy? What is the limiting factor?” Portnoy, Matthew. Virtualization Essentials

This is a good little question in a text book.  I thought it would be good to at least talk about this and hear what people have to say about this.   Each person is different and will have different answers but I will at least talk about this and the best practices for virtualization and hopefully we will come to the same reason.    If anything it will teach me and maybe even you the right answer and it will allow us to learn even more about virtualization.

Best Practices

The best practices for virtual machines depends on a lot of math and understanding of what will the virtual machine be used for.  We’ll come to that in a little bit.   The question right now is how many can you deploy on a single server.   On any given server the best practice is to do a 1:1 with cores.  So in this thought experiment, there are 24 cores, so we should be able to do 24 VM at the minimum.  According to Nakivo.com here’s the Virtual Machines cores and best practices:

  • 1:1 (optimal)
  • 2.1 (Normal)
  • 3:1 (Not optimal)
  • 4:1 (Maybe)
  • 5:1 (Problematic)
  • 6:1 (Probably not going to work)

I Found an excellent article about this and thought we should at least talk about some of these facts.   I agree with what they said.  The more VM’s you add to a core will make it more unstable and that isn’t even the main thing we need to consider.

Hardware

The Next thing we need to consider is the hardware.   We should always plan around capacity, growth, and business alignment.  When I say this I am talk about the size of memory and the total amount of disk space we will have per VM.  We can easily deploy up to 10 VM if they use 100 GB of space maybe it would be more like 9.   Since we only have 1 TB drive that would limit us to how many VM we could deploy at this time.    We need to consider that if we actually use the 100 GB right now the Virtual Machines we could deploy only 9 VM’s but if we dropped the requirement of 100 GB and made it expandable when it is needed than we could probably get away with the 24 virtual machines.  We could without a doubt do 24 VM comfortably with the amount of ram we had available.  It would leave use with enough overhead for more VM’s later on if we need to.  We could easily go up to 30 VM if we had to but I wouldn’t push it past that limit unless we install more memory down the road.  You will always need to determine your workload when it comes to how many VM’s you can install at one time on a server.

Type of Virtual Machines

Depending on what you intend to use this for such as databases or even web servers.  You will need to consider just how much of an impact the VM will have on other VM on the same system.  The utilization of the speed of the server will always be an indication of to much or not enough.  We will also have to consider the implications of ballooning or the impact of spikes in the server on a day to day routine.

These are just a few thoughts on this question.   I thought I would share with you what I have learned and maybe learn even more from my users.

Finally, the virtual machine is a powerful tool the enterprise and also small business in hand.  We can see that it can be used in many different ways and create even more uses