I’m going to bring things back a bit to discuss a topic that many, including myself, take for granted. I tend to forget that not everyone has been working with Hyper-V since 2008, and I’m initially surprised when someone asks me how to design a standalone Hyper-V host. Questions such as “How much disk do I need?” and “How much RAM do I need?” quickly indicate that not only are these people new to Hyper-V, but they’re new to virtualization. So let’s get back to basics and discuss how to design a standalone Hyper-V host (AKA non-clustered host).
(Editor’s note: Be sure to check out these related articles as well: Basic Hyper-V Replica Configuration Between Non-Clustered Hosts and Preparing Host Clusters For Hyper-V Replica )
We can divide resources such as RAM and storage into two groups:
The management OS needs as much disk as you see fit for a basic installation of Windows Server 2012 (WS2012) or Windows Server 2012 R2 (WS2012 R2). Bear in mind that a Server Core (without the GUI) installation or a Hyper-V Server installation will consume slightly less disk space.
(On a tangent: I’ll care about the couple of GBs saved by a Server Core installation on the host when I can purchase disks of less than 100 GB for servers… some time back in 2001!)
I’m typically conservative and will allow 60 GB of space for the management OS. But we can’t get disks that small anymore, unless you are booting from SAN, and you’re not going to do that with non-clustered hosts. So I’ll have a pair of disks in a RAID1 configuration for the management OS.
Hyper-V doesn’t need the management OS to have great performance. There is no second-level paging in Hyper-V (where the host uses a paging file on disk to blindly provide slow virtual RAM to VMs that have been promised memory that doesn’t exist). So if I have the option from the manufacturer, I’ll be happy to put in slow SATA disks into this RAID1 LUN for the host.
The virtual machines are going to need, well, as much disk space as they need. If a VM needs 300 GB disk space, then it needs 300 GB disk space. There are other considerations:
Sum up the amount of storage you need, and that’s what you need to allocate to the VMs.
In a simple design, a second LUN (the D: drive in the management OS) is created in the server. Use fast storage – this means 15K disks with a RAID10 configuration. RAID5 is more space efficient but the rule of thumb for RAID5 is that you lose 75 percent of your write performance. Would you store database log files on RAID5? If so, then you should read this.
A simple storage design for non-clustered hosts
An alternative is to use SMB 3.0 storage to store the VMs. This means that you don’t have a D: drive on the host. Instead you store the VMs on WS2012 or WS2012 R2 file shares. This means you can get the same live migration that a clustered host would have.
Note: If you are implementing WS2012 R2 Hyper-V for VDI (and VDI only) then you can enable disk deduplication. This will greatly reduce disk space utilization. Contrary to your initial reaction, WS2012 R2 deduplication increases storage performance of the VDI VMs.
Allow anything from 1.5 GB to 5 GB of RAM for the management OS depending on what levels of management you will have running on the host. Some tools require more RAM than others.
VMs will also have a requirement. Once again, you have to sum up the requirements of your individual VMs. If you won’t use Dynamic Memory then that’s easy. If you will use Dynamic Memory, then you need to size for peak usage.
You can do this the easy way with less functionality, and you can do this the more interesting way with more functionality.
This is easy enough. You will need four NICs.
Simple networking in a non-clustered host
This is where you want to start designing your networking for things such as:
You should read more on the concepts of converged networking if you want to use more complex network designs with Hyper-V hosts.