Computers and Internet

Windows Server 2012 – Storage Spaces and Data Deduplication Hands-on Review

Storage Spaces is the new Windows Server 2012 feature that offers great flexibility straight from the OS. I did some hands-on configuration / feature evaluation tests and wanted to share my notes. I will include step-by-step screenshots as I go through various aspects of these capabilities.

  • Part 1: Introduction and Lab Environment Preparation (You’re here)
    • Physical Disk Pull
    • Introduce the Pulled Disk Back into the System
    • Extend Thinly Provisioned Virtual Disk and Observe Behavior at Limits
    • Bonus: Detecting and Replacing Physical Disk Failures
    • Removing a Disk from the Storage Pool
    • Reclaim Unused Space on Thin Provisioned Disks
    • Bonus: Defragmentation Attempt and Observations
    • Understanding Hot-Spare Behavior
    • Evaluating and Enabling Data Deduplication
    • Repurposing disks from other servers

 

Couple of new terms & concepts before we begin:

  • “Storage Space” named “Primordial” contains all unallocated physical disk resources. You pick these disks to create “Storage Pools”
  • “Storage Pools” can have a “Hot-spare” disk in them; however, parity/mirror settings are defined at the Virtual Disk level. Basically if any of the underlying virtual disks impacted by a disk failure, if assigned, hot spare will theoretically kick in. I say theoretically because I do not yet know how it really works.
  • “Virtual Disks” are created in a “Storage Pool”, and can be thin provisioned (dynamically expanding)
  • “Virtual Disks” can have different parity/protection levels even if they live inside the same “Storage Pool”
    • I can have 100GB Parity protected (RAID5) Virtual Disk and have a 200GB mirrored (RAID10) Virtual Disk inside the same “Storage Pool”; both of these Virtual Disks would benefit from the spare I can assign to the “Storage Pool”.
  • Finally, the “Volumes”. These are standard NTFS volumes. Volumes live in “Virtual Disks”.
  • Data deduplication is the capability where chunks of data that are the same within the volume(s) of the same disk, removing the duplicate content from the disk to enable more space. This is quite promising feature for certain data types.

 

Evaluation Lab Configuration

My lab gear is comprised of 6 JBOD disks of varying sizes simply plugged into an eSATA port, in an external 8-bay enclosure. Nothing datacenter-grade but it will enable me to test most features for a typical file server.

Baseline Windows Server Feature Configuration

Storage Spaces feature comes out of the box with Windows Server 2012 installation; I did not need to add any features/roles other than default. Data deduplication feature however, needs to be added manually and I used PowerShell to add the feature, like this:


Creating a Storage Pool

I will begin by showing how creating a Storage pool looks like. I will create a pool out of 3 disks (and later experiment with adding/removing using the other 3 that I have). Using Server Manager, I navigated to File and Storage Services node. I selected multiple disks using Ctrl-Click and then did a right-click on any one of the selected disks, chose “New Storage Pool” command. Review below screenshot:


Continued with the wizard… Here some screenshots:



Continued with the wizard and now I have a storage pool. This is how it looks when done:


Next, we need to create a virtual disk. This wizard can be launched from many places — I did a right-click on Storage Pool “TestSP1” I created above, then chose “New Virtual Disk“. Wizard is fairly straight-forward and I’m including some screenshots below. Note that I’m choosing parity protection so I will test add/remove/expand disk cases in that context.


Next option here is quite important for my test cases. I am choosing “Thin” just to see how this new capability behaves. With “Thin” provisioning, it will be possible to over-allocate disks over a smaller storage pool. I will experiment how testing the capacity limits are handled later. Keep reading.


Next, we need to specify virtual disk size. I am noticing that “Maximum size” is dimmed. In a “Thin” provisioning scenario, you can create a Virtual Disk that is larger than the available Storage Pool space. For example I could enter 3000 below and would still be fine – this is probably why maximum size is dimmed. It can be as high as you want it to be. For the moment, I am going to start with 300GB and see how it behaves. I will evaluate how changing these on a provisioned system looks like. Keep reading.


Virtual Disk is created. Below is how things look like from Server Manager (see my virtual disk “TestVirtualDisk1” on the lower left below). Because it’s “Thin” provisioned and is empty, note how much space actually allocated on the Storage Pool for this. Merely 1GB.


Now that parity-protected virtual disk ready, here’s how you create a volume within. Right-click on the Virtual Disk and choose “New Volume…“.


You will notice in below screen that the volume can be created directly on physical disks that do not belong to any Storage Pool, or, they could be created on Virtual Disks. In other words, “Virtual Disk” behaves just like any other disk in the system. Because I right-clicked on the Virtual Disk, that particular one comes up as highlighted/default. I will click next to proceed…


Keep in mind here that “Thin” provisioning applies only to the underlying disk object. There is no thin “Volume” concept. Because of this, and because our target Virtual Disk has a maximum capacity of 300 GB, largest Volume we can create on that disk is 300 GB. For this exercise, I will proceed with 300 GB.


I’ll then continue with the default settings in the wizard, Drive D, NTFS, Default allocation unit size etc. Once created, this is how it looks like:


Let’s copy some content to it. New copy UI in Windows Server is neat – I like it. Note that my disks are easily 6+ years old, server itself is about the same. You should not draw any “Performance” conclusions from the numbers you see here. This write-up is only about capabilities and not about performance. Performance evaluation of Storage Spaces is a topic for another blog post.


Now that the environment is prepared, various test cases will commence. Continue reading on Part 2.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s