Hyper-V Requirements, disk partitioning

disk-space-utilizationhyper-vperformance

My rule of thumb for a physical server was fast random access disk (VelociRaptor/SSD) for OS, and large disks for data (e.g. WD Caviar).

How does that look for a Hyper-V that should run two virtual machines (File Server+Intranet, Dynamics CRM)?

  • Does it still make sense to put the physical OS on a separate disk?
  • How much disk space / RAM should I set apart of the physical OS?
  • File Server: Is there a notable difference of a pass-through disk vs. VHD? Any preference for one or the other regarding backup, Volume Shadow Copy Service, other stuff?
  • Should I split the virtual OS parts (FileServer-OS, FileServer-Data, CRM) onto separate physical disks? Say, with mirror 2x2x1TB, or 2x2TB?
  • How do you backup a 'life' VHD? "as usual" from within the server?

I've read the related questions and the system requirements stated by microsft, I am more looking for practical input, from people who've done it before.


[edit] The specs are still open, I am aiming at an i7-920 quad core, board e.g. Gigabyte EX58-UD5 (open to suggestions) 8GB RAM

I am aiming at a total disk storage of about 2TB.

Idea 1: 80GB SSD for Hyper-V, 2 x 2TB WD RE4-GP in mirror for the two VM's, totals at about €850

Idea 2: 4x1TB WD RE-GP in 2 mirrors, resulting in 2x1TB storage, one pair for HyperV and first machine, the other for the second one. Totals at €520, would allow another 4GB of RAM that might make a huge difference.

[edit] A commenter asked for the final configuration, here's what I learnt (and what we did)

I decided against a hardware raid, due to bad experiences with various controllers, the low overhead of a software mirror, and the simplicity of transfer to another machine.

We put the most busy network share on pass through disks. They are "offline" in the HV host, and mirrored in the virtual machine. Performance is adequate for our purposes.

I did add a separate OS disk, simply to be more flexible about the configuraiton. (WD Raptor 300GB).

So we have configured one pair of 1TB as pass-through, the other pair is mirrored in the HV host and holds the VHD's for both servers.

Note that passthrough disks disable snapshots in Hyper-V-Console (I wish there was an option to just exclude them but proceed with the snapshot). I also learnt the hard way that snapshots were a bad idea anyway since it breaks active directory sync.

Backup is to an external disk attached to the host through e-sata.

Best Answer

If you don't plan on using the host OS to run anything but Hyper-V, I don't think putting VMs on the same partition as the OS is going to matter much. I'm using Hyper-V on a couple workstations with 10k rpm disks with the OS on one and VMs on both and I don't notice a difference in VM performance between them.

You can eat up disk very rapidly with VMs, so its worth having a big & slower disk for archives & backups (maybe not necessary if you have good network storage and a fast network).

If you are building it yourself and want to stay within a reasonable budget, I'd suggest 4-6x 10 rpm disks in raid 10 (300 GB disks can be had for ~$200 each on NewEgg). Then maybe 2x 1-2TB disks in raid 1 (if you add this, you might as well put the OS on it).

Using dynamically expanding disks and snapshots both adversely affect performance (for virtualizing a workstation it's fine, for a server maybe not). And for any disk intensive service, I'd use direct access to the service's backing store (e.g., database or file-server). If you move the I/O bottleneck off the virtual OS partition, you can probably snapshot the virtual server OS without worrying about performance.

Finally - you may want more than 8GB (Hyper-V can't share unallocated RAM, and the host needs some, too) - but that depends on how intensely they will be used.

I hope this is useful. And if you do some experimentation and benchmarking, I think many people would be interested to see the results. As you've probably noticed, there is a paucity of performance data in this area.