A common practice by many businesses to get more bang out of their server is to virtualize the server and create multiple virtual machines (VMs) to manage the tasks they want their server to do. This is a great way to take advantage of your server, and today we will review some of the components you will want to look at when scoping your solution at a hardware level. There are many software elements to consider - what hypervisor should be used, how Microsoft licensing will be managed, if applicable - but for today's discussion we will focus on the nuts and bolts in the physical world of the environment.
The first thing to look at is the CPU or processor. A good rule of thumb is to match 4 VM CPUs to a single physical CPU, though depending on your application you may get more or less out of that. While you can squeeze out more virtual cores than actually exist (A single core and be used to make 2 CPUs for virtualization purposes, commonly called vCPUs), the same is not true for processing speeds - if the processor is a 2.0 Ghz chip, then that is all you can get, regardless of how many or few VMs you are utilizing. Finally, as a best practice, you want to have at least one more core than the maximum number of virtual cores that will be assigned to anyone VM. The reason for this is because the VM needs to find available free cores every time you make a computing process, and if there arenât any available performance will suffer. Because of this, you will likely want to use at least Quad-Core chips when virtualizing (1 for the Hypervisor, at least 2 for virtualizing a minimum of two environments, and the spare).
The next thing to look at is the RAM. Since you want to keep future performance in mind when scoping this type of solution, a virtualized server should be maxed out on RAM. However, when creating a VM you want to install the least possible RAM so that you have RAM freed up for other VMs as well as not wasting RAM; many virtualization platforms can be configured to enable bursting to use this 'unused' RAM anyway, so it isn't wasted most of the time. Remember, if you need more RAM you can always allocate it later by using your virtualization platformâs dashboard.
Finally, we need to look at Hard Drives. Whenever possible, utilize 15k SAS drives or SSD drives over traditional 7.2K SATA drives for additional performance in accessing storage space. As for the actual size of the hard drive, you need to make sure you have enough for all of your VMs (HDD space is 1:1 for a VM as it would be for a regular machine, so there is no space saving for unused storage within the VM) as well as room for any backups or snapshots you will want to take. So if your goal is to have 600 GB allocated to the VMs in any configuration (10 60GB drives and 4 150 GB drives wonât have any impact one way or another), and you want 60 GB of storage, you need at least 660 GB of HDD space before you get started. However, you may have larger needs in the future, and should consider having at least 20% free for future expansion, so in reality you would want at least 792 GB HDD space available from the get-go, which would likely be a 1 TB drive. This is without considering best practices such as RAID to provide protection from a complete failure or our managed backup services in the event that all drives are corrupted.There are other things that you will want to consider that are more dependent on specific applications. You would likely want an IP-KVM in case you want to make more adjustments to the physical server, and if you have any sensitive information on the server you will want to look into a firewall solution. But when it comes to actually virtualizing your server the biggest factors will be the Processor, RAM, and Hard Drives. Another thing you can do is to work with a cloud services organization such as my own and we can help you procure the configuration and get the virtualized space setup in our data center, turning this project into a private cloud solution for yourselves or a public cloud solution for your clients. This can be done through colocation services (we place your equipment in our data center) or through dedicated private servers (you lease the equipment from us that is used in our data center).