What kind of storage should I use with Hyper-V R2?
Hyper-V brings a variety of storage choices you can select from, but I've found some very specific guidance that I've used.
- Fixed VHDs: Gain the opportunity to have identical performance of the underlying disk hardware, but gain the abstraction of the VHD. This is a big advantage from the standpoint of performance. The negative is that it takes up the entire drive's space on the disk, leading to less efficient use of the storage. This disk type is very typical in virtualized SQL, Exchange, or other high IO applications.
- Dynamic VHDs: Have the benefit of only taking up the amount of space on disk that is used within the VM, regardless of the total amount available. So, if you've created a dynamic VHD with a maximum size of 100 GB, but the VM operating system has only used 10 GB, the dynamic VHD will only be 10 GB. The dynamic disks suffer about 10% performance loss in Hyper-V R2, making them not the best option for high IO applications.
- Pass-through Disks: The pass-through disk type is essentially taking a volume and passing it directly to the VM, without abstracting the storage to a VHD. The performance of this is inferior to a fixed disk and loses the abstraction benefit. The main time I use this is when a server (like a file server), needs to show a volume larger than 2 TB, which is the limit of a VHD.
I would recommend checking out this whitepaper on VHD performance: