Hands On with Storage Spaces in Windows Server 8

Storage Spaces is a new virtual storage feature in Windows Server 8. I have the developer preview installed, but it took me a while to get Storage Spaces working – you need one or more unused hard drives. I finally managed to find a spare 150GB Sata drive and tried it out. Note that I am going to create a 1.5TB drive on this using the magic of thin provisioning, with data deduplication thrown in for good measure.

Step 1 is to go into the file services section of server manager and create a pool. A pool is a collection of one or more disks which you will use in aggregate.


Here I specify the pool name and the subsystem where it will find its disks. In my case it is the RAID controller built into the motherboard.




Next task is to create a new volume. I’ve selected thin provisioning as I want a drive larger than the available space. If it runs out of real space, I will have to add another drive to the pool. I have also selected Simple layout, which means no resiliency. I am doing this for the demo as I only have one drive, but in reality I would always use one of the resilient options. They are apparently not RAID, even though they are like RAID.


Next I assign the new drive to a virtual folder, as I am bored with Windows drive letters.


I turn on data deduplication. This means that I can have several copies of the same file, but it will only occupy the space of one. If a file is mostly the same as another file, I will also save space.


Success again. Note that Windows formatted the new drive for me in a matter of minutes. It may help that most of the space does not really exist.


Here is my drive ready for use, with 1,572,730,876 KB free. Handy.


I am impressed with how easy Storage Spaces are to use, and that it works with cheap Sata drives.

Now, I remember that Windows Home Server had an easy to use storage system called Drive Extender. You could just add and remove drives. Is Storage Spaces a kind of grown up version of Drive Extender? I asked the Windows storage team and got a snooty reply. “We do not contrast our upcoming capabilities with those that might have been offered in the past as part of other Microsoft products.” However, the spokesperson did add:

Storage Spaces delivers a rich storage virtualization capability directly from within Windows. Two powerful new abstractions (Pools and Spaces) deliver multiple benefits including seamless and easy capacity aggregation and expansion ("just add drives to a pool"), optimal just-in-time allocation (via Thin Provisioning), resiliency to physical drive failures (via mirrored or parity spaces), continuous availability (via integration with failover clustering and cluster shared volumes), ease-of-management via integration with the rich new Windows Storage Management API (with WMI interfaces and associated PowerShell cmdlets), and "pay-for-play" via support for pools comprising heterogeneous media (e.g. SSDs and HDDs). Obviously, these are just a subset of features.

Obviously. I like Storage Spaces so far though, and the feature seems to bring some similar benefits to Windows Server users.

3 thoughts on “Hands On with Storage Spaces in Windows Server 8”

  1. My guess would be that the Server team and the Home Server team have a relationship somewhat like that between Office and Works. “We’re the professionals, they’re the amateurs.”

    Remember how Drive Extender was removed from the latest version of Home Server due to unresolvable data corruption isues? My guess is that the technology was just fundamentally unsound, because it was implemented too far up the storage stack to gracefully handle certain error conditions.

    Server would’ve done the implementation at a lower level. And done a heck of a lot more stress-testing with enterprise workloads.

  2. I’ve been trying to get Storage Spaces working with the developer release of Server 8…
    Did you have to do anything in particular to get the Spaces and Pools storage subsystem to appear in the list at the bottom of your second screenshot?


    1. It worked once I had an uninitialized hard drive available. Mine is part of a JBOD on the motherboard’s RAID controller. I agree the docs (such as they are) are confusing on this matter.


Comments are closed.