Server 2012 R2 Storage Spaces behind “smart” RAID controller – How To

In a previous post I discussed the process of setting up and configuring Storage Spaces.  Since I made that post I have done some more work with Storage Spaces and have learned more so I thought I’d share some more with you.

Storage Spaces expects to see “raw” disk drives which you then configure in various types of raidsets via the Storage Spaces configuration tools.  But what do you do if you are sitting behind a “smart” controller that doesn’t present raw disks to the O/S?  This is certainly the case with controllers like Dell’s H700/H710 (and probably the H810, as well) and, I’m willing to bet, a number of other controllers from companies like HP, IBM and Lenovo.  This is a dilemma I recently faced with a new server for a customer.  We wanted the OS drives to be controlled (raided) on the smart controller but all the rest of the drives including the SSD’s we wanted to managed through Storage Spaces.  What to do????

Well, the answers has two parts.  Part One is that if your controller will NOT pass raw drive data (or JBOD) through to the OS then you will need to create a series of single-drive raidsets in order to pass each drive (the single-drive raidset) out to Windows.  It sounds a little counterintuitive but there is no other way to expose each individual drive to Windows in order to be able to pick up the drive in Storage Spaces.  Here is what I set up on my customer’s Dell T620:


I assigned the name so I had something to work with but, as you can see, all the individual drives are a single-drive RAID 0.  Here is the physical drive info from the same box:


Part Two is very well described in this technet post:

You have to use PowerShell commands to perform some manipulation of how the raidsets are identified to Storage Spaces so that you can put things together in a tier.  The post above discusses the process but the gist is that the raidsets probably won’t identify themselves to Storage Spaces as HDD or SSD, that is a change that you will have to make yourself via Powershell before you can put things together in a tier.  And note that you may have to adjust the steps listed in the post slightly in order to complete your task.  For example, I had to adjust one Powershell script to use “FriendlyName” rather than “MediaType” when I was identifying drives for changes but it was a very easy thing to do (the steps in the post are somewhat generic).

The end result is I was able to build the required Tiered Storage Space on the T620 even though I could not pass raw drive information through to the OS as can be seen from the following:


I didn’t capture the output of the steps I performed on the T620 so I can’t post more detail here.  However, the post I referenced above really does give you a good guide to follow.  Just keep in mind that you might have to modify some of the Powershell involved (the Powershell ISE will really be your friend, here) to complete your task.

2 responses to “Server 2012 R2 Storage Spaces behind “smart” RAID controller – How To

    1. I can’t give you any hard numbers, unfortunately. Definitely see a “boost” over a non-tiered storage space but I cant give you anything quantifiable. In the customer config we hit some issues with a really dumb application that caused us to back out the storage tier, at least for now, as we work through the problems with the app. Also, I think there is some overhead (not much) introduced by the fact that the tier is being built up from a series of RAID0 containers. My advice is to do some testing with your hardware before you go into production — test without the tier (as in just rely on the RAID controller for the RAID) and then test with the tier. That is the only way you will get a true feel for how well your hardware will work in this config.

Comments are closed.