Microsoft Storage Spaces

Microsoft Storage Spaces

January 6, 2014 2 By Eric Shanks

Microsoft Storage Spaces feature used to handle data redundancy, scalability and performance.  Storage Spaces takes a set of Just a Bunch of Disks (JBOD) and pairs them together to allow for; either failures of a disk, gaining the performance of multiple spindles, or gaining the space of multiple disks.  Traditionally this has all been handled by creating a Redundant Array of Independent Disks (RAID) group.  Some examples of RAID would be:

  • Striping (RAID 0)
  • Mirroring (RAID 1)
  • Parity (RAID 5 or 6)

Storage Spaces create a similar type of RAID Group but then throw a virtual disk on top of them so that multiple types of stripes can be used on the same disks.  For example, three physical disks can be put into a storage space.  From there, three separate types of VDISKs can be created, Mirrored, Spanned and Parity can then be placed on the same set of disks with no issue.  The diagram below shows an example.

StorageSpace-Diagram

 

 

Setting Up Storage Spaces

Setting up Storage Spaces in Server 2012 is fairly simple.  Here, we have a system drive already in use, but there are also three additional unused drives attached to the server.

StorageSpaces1

Make sure the File Server Role is installed on the server.  Then use the Server Manager to create a “Storage Pool” from the tasks drop down menu.

StorageSpaces2

 

The Storage Pool Wizard will begin.  Give the pool a name.StorageSpaces3

 

Select the physical disks that will be used for the pool.  Notice that you can use them as hot spares if needed.  A hot spare would be useful if a failure occurred because it will automatically rebuild the data from the failed disk.

StorageSpaces4

 

Confirm your selections and click Finish.

StorageSpaces5

 

The build process may take a few minutes depending on the size of the disks.StorageSpaces6

Notice what happened to our physical disks in the Disk Management Console.  THEY’RE GONE!!!! (don’t worry, we’ll see them again.StorageSpaces7

 

Create a VDISK

From the Server Manager, go to the task section of the VDISKs and choose new VDISK.  From there the VDISK wizard will open.  Choose which storage pool this VDISK should be built on.

StorageSpaces-vdisk1

 

Give the VDISK a Name.

StorageSpaces-vdisk2

 

 

Pick the storage layout.  Here is where we can choose Mirrored, Simple or Parity.  A description of the layout types are listed next to the type if you’re unsure.

StorageSpaces-vdisk3

 

Pick a provisioning type.  Thin only allocates space as needed allowing you to over provision your storage.  Fixed is synonymous with Thick provisioning.

StorageSpaces-vdisk4

 

What is the size of the VDISK?  The storage pool will only have a certain amount of space available to be used.  You can create a subset of this total space.

StorageSpaces-vdisk5

 

Wait for the VDISK to be created.

StorageSpaces-vdisk6

 

Once the VDISKS have been created, they still need to be formatted as either NTFS or ReFS, given a drive letter etc, just like a normal volume would be created.  You’re allowed to start the volume setup wizard automatically when you’re done creating the VDISK.

Once you’re done, check Disk Management again.  You’ll now see the VDISKs listed as though they are physical disks.  I’ve added a screenshot of my server that demonstrates Spanned, Mirrored, and Parity Disks are all available on the Storage Spaces and are using different file systems.

DISKManagement

Summary

I’m not saying that getting rid of your RAID Controllers is the thing to do, but Microsoft has added a pretty nice new feature into their OS to make your data more resilient.  Check them out if you have time.