Home | Featured | Windows Server 2012 (Windows Server “8”) – Storage Spaces
Windows Server 2012 (Windows Server “8”) – Storage Spaces

Windows Server 2012 (Windows Server “8”) – Storage Spaces

0 Flares Twitter 0 Facebook 0 Google+ 0 StumbleUpon 0 Buffer 0 LinkedIn 0 Filament.io 0 Flares ×

This is one of a series of posts discussing the new features in Windows Server 2012, due to be shipped this year and currently in public beta release as Windows Server “8”.  You can find references to other related posts at the end of this article.  This post reviews the new Storage Spaces feature.


Storage Spaces Controller

Storage Spaces is a feature that takes standard JBODs (Just a Bunch of Disks) connected to a Windows 8 Server and allows them to be used to create pools of storage.  The pools can then be used to create volumes on the server.  The benefit of using Storage Spaces is that it enables advanced features such as resiliency and space optimisation.  It also forms a basis for using directly connected disks with the Windows hypervisor, Hyper-V.  The concept of Storage Spaces is not new.  Many operating systems have logical volume managers (LVMs) and in fact, Windows already offers some volume management features.  Disks can be partitioned and recombined to create mirrored and parity protected RAID volumes.  However storage spaces does things differently using disk pools, which provides significant advances over the disk management functions available today.

Storage Spaces implements a new Storage Management Provider with the introduction of the Storage Spaces Controller.  This new bus type adheres to the architecture we saw when the iSCSI software initiator was introduced into Windows and implements the new “spaceport” driver.  This creates new disk drive types within the operating system and provides the framework around which features such as thin provisioning and de-duplication can be implemented.



Storage Services Role

Storage Services Role

Storage Spaces comes deployed by default with Windows 8 Server.  It is part of the Storage Services Role, which itself is part of File and Storage Services.  Configuration is performed under the “File and Storage Services” option of Server Manager, which can be launched from the Windows toolbar at the bottom of the screen.  By default, all unallocated disks are added to the “Primordial Pool” until they are used.

In my testing I created two pools from a set of ten available disks.  Each disk was a 1TB LUN from a Drobo 1200i currently under test in the lab.  In the 5-Way Pool, I added five disks, four of which were defined for general use, the fifth defined as a hot spare.  The hot spares perform exactly that function; they are available should one of the primary disks fail.   Within my two pools I created both parity (similar to RAID-5) and mirrored LUNs.  Although there were an odd number of disks in the pool (deliberately chosen), the allocation on the mirrored disk was evenly spaced across all available devices.  Clearly the Storage Spaces Controller defined LUNs are split into blocks and mirrored across all devices to get best performance from the disks available.

As a test of the mirroring resiliency, I picked a disk and removed it forcefully from the host by deleting the LUN on the Drobo.  This caused Windows to set the physical disk state to a warning mode, highlighting the volume and the disk had issues (see the yellow triangles).  The pool was then rebalanced across the remaining two disks and the LUN remained accessible.


Failed disk messages

Contents of the primordial pool after 8 disks are used

Two user pools and the primordial pool

Pros and Cons

Storage Spaces is certainly a move forward from the facilities provided under Disk Management in prior Windows versions.  However the implementation seems very much a version 1.0 so far.  On the plus side, the implementation provides simple mirroring, RAID, dynamic groups and thin provisioning.  However on the negative side there are still a number of flaws;


  • It’s seems impossible to track a LUNs SCSI ID through to the “PhysicalDisk” name for disks that are part of Storage Spaces.  Once added to a Storage Spaces pool, disks disappear from general view in Disk Management.
  • There doesn’t appear to be a way to remove a failed disk from a disk pool, so the pool shows a permanent failed status.
  • There’s no indication of RAID rebuild activity, when a disk fails and is recovered onto other free space.  The pool status remains “unknown”.
  • When additional capacity is added to a pool, existing allocations don’t appear to be balanced across the available new space.
  • The wizards incorrectly show the available capacity of a pool to include hot spare space and failed/missing disks, which isn’t directly available for allocation.  This can cause LUN creation to fail.
  • A pool may have free space available, but be unable to honour the mirroring type (i.e. have only 1 disk with free capacity when mirroring is requested).  This shows as insufficient free space rather than the true error.
  • It doesn’t appear to be possible to drain or evacuate a physical disk in order to remove it from a pool.
It should be noted that I’m working with a beta release of Windows Server 8 and the final RTM version may fix a number of these issues.  I hope that Microsoft do address many of these issues and make Storage Spaces more usable.


About Chris M Evans

  • Pingback: Windows Server 2012 (Windows Server “8″) – New Features Roundup | The Storage Architect()

  • Owen Curtis

    Hi Chris,

    Isn’t the ability to not spread the data similar to say VNX here the disk is just concatenated into the pool and likewise it is difficult to remove one as well.

    Owen (0751 603 1815) owen.curtis@btinternet.com

    • chrismevans

      Owen, it appears the disk data is spread across the whole pool for any given LUN.  This means removing a disk would require evacuating that physical disk.  The problem with not balancing data across the disks is that the LUNs created later in the pool with newer added disks will be written across less spindles.  This is clearly not desirable as these LUNs would have a lower performance level.


  • http://www.mstechpages.com/ Dustin Harper

    Storage Spaces is one of the big reasons for my upgrade from Server 2008R2 (which was an upgrade from Windows Home Server). Good article. I hope they do fix those issues (which they should – they are obvious bugs) before RTM. 

    • chrismevans

      I need to get the latest Customer Preview and see if things have changed there.  I have it downloaded; hopefully MSFT will fix in RTM; I will be testing.


  • Pingback: Server 2012 Storage Spaces | MSTechPages()

  • Guest

    Why are you using Storage Spaces on top of a SAN?  You’re creating a RAID on top of a RAID.  According to Microsoft, this is not a supported configuration.

    • chrismevans

      The “RAID on RAID” clearly is not an intended target setup, but it’s a quick way of getting some LUNs onto the host in order to test; I don’t have a server with lots of physical disks available.  You’re right, RAID on RAID is bad, whether supported by Microsoft or not.  It has serious performance issues if stripe widths of written data aren’t aligned correctly. However it does let me test, and the architecture MSFT have developed means that any disk on the system will slot into Spaces.

  • Pingback: Windows Server 2012 (Windows Server “8″) – Resilient File System | The Storage Architect()

0 Flares Twitter 0 Facebook 0 Google+ 0 StumbleUpon 0 Buffer 0 LinkedIn 0 Filament.io 0 Flares ×