Hyper-V, Clustered Storage Spaces & Scale Out file Server – What do they do and what can I mix tohether?

In Windows 2012 a lot of emphasis was put into storage. Multiple technologies were introduced including SMB 3.0 – File share for large workloads (Mainly Hyper-V & SQL), ODX – Offloading storage commands directly to storage, VHDX file format and more.

Along with these came Clustered Storage Spaces and scale out file server. Both are cluster technologies that allow you in some form or another to build your own storage. Now there is a bit of confusion between the differences of these two technologies, when to use which, and when to use them together. So I’m going to try to help clear this up.

Lets start with Clustered Storage Spaces:
Clustered Storage Spaces allows you to connect a Jbod (Just a bunch of disks) directly to your clustered servers using SAS and use that Jbod as shared disk space for your cluster.

A few points:

  1. A Jbod is a raidless array of disks. So it’s fairly cheap. Windows 2012 storage spaces will create a redundant array of disks for you.
  2. The Jbod has to be connected directly to all servers in the cluster using a SAS connection.

Windows 2012 will create a redundant array out of the Jbod disks. The disks don’t even have to be the same size. Windows 2012R2 will even allow you to add SSD’s to the mix as tiered disks. Hot blocks will be automatically moved to the SSD’s for better performance.
Now clustered storage spaces is meant to be used in conjunction with an existing cluster as it presents shared disks to the cluster. So you can enable it on any windows cluster. This includes Hyper-V, SQL server, Exchange Server, File servers…

Your Clustered storage space is going to look something like this:

CSP1

Now you could even use 2 Jbods and span the array between them. This will improve resiliency as you could lose an entire Jbod and still have a fully working cluster.

Scale Out File Server:
Scale out file server, often refered to as SoFS, is a clustered file server-based on the new SMB 3.0 protocol. It is intended for storing Hyper-V VM’s and SQL server databases. It is not intended to be used as an actual file server. Once presented with shared disks the SoFS created a redundant Active/Active (Yes that is correct Active/Active) SMB 3.0 Share. The Share as already stated can be used for Hyper-V VM’s. I’ll state the benefits of this in a future post.

Now as SoFS is a cluster role it is not supported to install SoFS on the same cluster as your Hyper-V Servers. It is possible (for a lab) but not supported. You can as previously stated use Clustered storage pools and Sofs together. For use with Hyper-V you need 2-4 servers for SoFS Cluster and 2 or more servers for your Hyper-V Cluster.

So to summarize:
You can Install a Clustered Storage Pool along with a Hyper-V Cluster or a SoFS Cluster.
You may not install a SoFS cluster together with a Hyper-V CLuster. You need separate Servers for this.

If you don’t have an SMB 3.0 capable storage I highly recommend deploying a SoFS server either with your existing block storage or a Jbod and Clustered storage space and using this as your Hyper-V VM storage. It requires an extra couple of servers but the advantages of SMB 3.0 are well worth it.