I’m hooked on Storage Spaces, the mechanism in Windows Server 2012 where we can aggregate non-RAID disks and create thinly provisioned (optional), fault tolerant volumes, just like you’ve been doing on a modern SAN (but Storage Spaces is more flexible, if not as feature rich).
It appears that some like this feature so much that they’ve started to implement it inside of virtual machines:
THIS IS NOT A SUPPORTED CONFIGURATION
Sure, you might see presenters like myself do this in demos. I make it clear: I only do this because I don’t have the hardware to do Storage Spaces at the physical layer. Storage Spaces was designed to be created using physical disks … and then you can store your virtual machines on a Storage Space virtual disk.
Why are people implementing Storage Spaces in a production VM? My primary guess is that they want to aggregate virtual hard disks to create a larger volume. VHD format files can only expand up to 2040 GB. OK … that’s the wrong way to go about it! The correct solution would be one of the following:
Deploy Windows Server 2012 Hyper-V and use VHDX files. They scale out to 64 TB – the maximum size of a VSS snapshot BTW.
If you’re stuck on vSphere (2 TB VMDK) or pre-WS2012 Hyper-V (2040 GB VHD) then (I hate saying this …) use a physical disk of some kind until you can upgrade to a scalable hypervisor like WS2012 Hyper-V and convert to the more flexible VHDX.
A second possible excuse is: “I want to create volumes inside a VM”. Anyone who has spent any time owning a virtualised platform will laugh at this person. There is a simple rule in our business: 1 volume = 1 virtual hard disk. It gives us complete flexibility over volume management both at the physical (placement) and virtual (resizing) layer. If you need an E: volume, hot-add a VHDX to the SCSI controller. If you need an F: volume, hot-add a VHDX to the SCSI controller. If you need to expand the G: volume, expand the G: VHDX and then expand the G: volume.
The other reason I expect to hear via comments is “we’re scared of virtual hard disk corruption so we want to RAID the disks in some way using Storage Spaces”. Where to start?
I have never personally witnessed a corrupt virtual hard disk. When I have heard of such things it’s because people do stupid things with snapshots or differential disks and they deserve what follows.
The VHDX format has built-in protection for corruption that can be caused by power loss.
DOING STORAGE SPACES INSIDE A VM IS NOT SUPPORTED! It’s no one’s fault, other than yours, when it misbehaves or breaks.
Please, just start using VHDX format virtual hard disks ASAP.