Windows Server Storage Spaces: striped and mirrored with tiering requires 4 SSDs

I am building a new server and moving to Windows Storage Spaces with tiering (a nice Windows Server 2012 R2 feature).  The documentation is unclear (to me) and various web pages—in the nature of tutorials on how to set up tiering—said that you needed the same number of SSDs as “columns” in your virtual disk configuration.  Other documentation/web pages referred to “columns” as the stripe set size (for example, here) and even the PowerShell cmdlet argument names lined up with that.

But it turns out that for tiering you need columns × datacopies SSDs.  So if you want a RAID 10 (though of course Microsoft doesn’t call it that) where you’re striped (columns = 2)  and mirrored (number of data copies = 2) you need 4 SSDs, not 2.

Oh and by the way, when I was unable to create this kind of virtual disk (via PowerShell, you can’t do it anyhow via the New Virtual Disk wizard) the error message was somewhat unhelpful:  It certainly told me I didn’t have enough physical disks to complete the operation, but forgot to tell me which tier (SSD or HDD) was the source of the problem!

(So … I immediately ordered another 2 SSDs and, of necessity, an add-in SATA controller card (because I had already run out of motherboard SATA ports). I think I’m just going to use a tip I found somewhere on the web (don’t remember where or I’d provide a link) and just velcro my 4 SSDs together and lay them on the bottom of the case.)

(Also, FYI, I’m using 4x 64Gb SSDs and 4x 4Tb HDDs, and the ReFS file system.  Without going to the trouble of measuring performance I’m just going to go ahead and specify a write-back cache size of 20Gb, overruling the default 1Gb, because I’m going to be copying a lot of  large VHDs around and I’d rather have the copy complete quickly and then trickle onto the HDD in its own good time, than wait for it.  So I hope this works.)

Update: I did get this working.  And, as I finally configured it performance is fine: great read performance and good write performance.  I suppose I could get better performance (5%? 15%?) from a hardware RAID controller but I don’t need the last bit of oomph and I don’t want to be tied to a particular hardware RAID manufacturer.  So I’m happy with the way Windows Storage Spaces is working here.  However – n.b.: Write performance totally sucked (*) until I figured out that I needed to set the virtual disk stripe size to match the expected file system cluster size.  Thus, with 2 stripe sets, I set the interleave to 32Kb on the virtual disk I created to hold an ReFS file system (which always has a 64Kb cluster size) and to 16Kb on the virtual disk I created to hold an NTFS file system I created with 32Kb cluster size.

(*) Factor of 8 to 10!!

2 Responses to “Windows Server Storage Spaces: striped and mirrored with tiering requires 4 SSDs”


  • Hi,
    the things U re trying only works with SAS Drives!
    The HDD AND the SSD must be SAS not SATA. If U let windows do the Raidjob instand of a Contoller u must allow windows to talk to the drives…that not possible with SATA protokol…

    Greets

    Thomas

    • Thomas, Thanks for your comment!

      But, actually, you’re incorrect. Windows Storage Spaces works great with SATA drives (SAS too). The whole point of Windows Storage Spaces is to let you assemble cheap storage pools and build redundant virtual disks out of a bunch of disks you’ve got.

      It will allow sophisticated stuff, like SATA/SAS expanders talking to towers of cheap disks, but also real cheap stuff.

      I did get this configuration working – I should update the post! – a mirrored and striped virtual disk with two tiers, built from 4 SATA SSD and 4 SATA HDD off of the 8 motherboard SATA channels, managed by Storage Spaces, and my boot drive on a cheap add-in card (that I needed anyway for some external eSATA support).

      I suppose Windows Storage Spaces isn’t for everybody – but I like it. I especially like that I’m not tied down (as I was) to Intel hardware RAID or any other manufacturer’s RAID controller. I’m tied to Windows, of course, but that’s acceptable to me. Performance for this configuration seems great for reading, very reasonable for writing. (Performance of Windows Storage Spaces for parity mode resiliency (equivalent to RAID-5 and RAID-6) isn’t supposed to be that good.) I could get somewhat more performance with hardware RAID, for sure, but I don’t need the last 10-15% of performance and as I said above, I don’t want the hardware dependency.

      Check it out!

Leave a Reply