In Windows 2012, Microsoft created two new storage options called Storage Pools and Storage Spaces. I will admit that I ignored these two storage options, my thought at the time was why do anything storage with software when my current Raid-5 subsystems are handling storage with hardware. Hardware is faster than software end of story.
With the release of Windows 2012 R2, Microsoft added five new and interesting options for Storage Pools and Storage Spaces. These new features prompted me to investigate and start testing Storage Pools.
- Storage tiers - Automatic movement of frequently accessed data to faster storage (normally SSD's) and infrequently accessed data to slower storage (normally HDD's).
- Write-back Cache - Buffers small random writes to SSD storage. I wonder why they didn't do Read Cache since it is my understanding that Read Cache is simpler, would be nice to have both.
- Parity space support for fail-over clusters - I have not implemented this portion yet, Microsoft Technet describes this as "Workloads that require greater capacity utilization than mirror spaces can now use parity spaces with one or two copies of parity information (single or dual parity) to maximize capacity and resiliency, while still offering the ability to fail over to another cluster node."
- Dual Parity - similar to RAID-6, but using a Microsoft specific dual parity algorithm that is supposed to be more efficient when rebuilding.
- Automatically rebuild storage spaces from storage pool free space - I have not had to use this feature either. Microsoft Technet describes this feature as "Decreases how long it takes to rebuild a storage space after a physical disk failure by using spare capacity in the pool instead of a single hot spare."
What are these features good for you ask? I can think of two major reasons, both of them of interest to my small - mid sized customers.
- Enable Windows 2012 R2 Hyper-V to run more quickly and safely using Write-back Cache and Dual Parity fail-over cluster
- Create a Microsoft SQL Server instance that will run much quicker than native HDD for less cost than implementing a full SAN.
Microsoft has made me interested in learning more about Storage Spaces, but for production workloads I would still recommend solutions that have proven speed and proven scale out architectures. Currently, I recommend SAN storage for Microsoft SQL Server cluster instances and new Hyper-Converged Architectures for supporting Virtual System workloads.
I think that some Windows only companies with love the new Storage Spaces, but there are IT professionals that will hate/mistrust it. Since I am currently testing Storage Spaces, I do not have any performance statistics and would welcome feedback from people are using the technology today.