Storage Spaces, JBODs, and Failover Clustering – A Recipe for Cost-Effective, Highly Available Storage
Hi Folks –
I’m often asked how to deploy inexpensive, reliable, cluster-connected storage using Windows Storage Server 2012—without the cost of expensive RAID adapters, external RAID arrays, and SAN switch fabric. Fortunately, the answer is an easy one. Other than a couple servers running Windows Storage Server 2012 Standard, all you need are SAS host bus adapters and a certified JBOD enclosure (just a bunch of disks). Everything else you need is built into the OS—namely, Storage Spaces and Failover Clustering, which you can use to implement highly available, clustered storage.
How it works:
The new Storage Spaces feature in Windows Server 2012 is a software virtualization and abstraction layer, which is used to improve manageability and data protection.
Storage administrators can group inexpensive disks into Storage Pools, which enable storage aggregation, elastic expansion, and delegated administration.
The resulting pools of storage can then be used to create virtual disks—with configurable levels of data protection, such as simple, mirrored, or parity. When a virtual disk is created, Storage Spaces will stripe the data across the physical disks.
With Storage Spaces, if you specify that you want mirrored copies of the data and plenty of disks are available, Windows Storage Server will utilize the disks and spread the copies around intelligently. If a drive goes out, Storage Spaces will automatically begin creating a new copy using other available disks to ensure you still have the desired number of copies. When you replace the disk, Storage Spaces will add it to the pool and begin using it again.
Storage Spaces + Failover Clustering + CSV = Scale-Out File Server
Storage Spaces works well in a standalone system, however, you can also use it together with Failover Clustering, Cluster Shared Volumes (CSV) and one or more JBOD enclosures to create a Scale-Out File Server (SOFS). Here is a deployment view of application servers connecting to a highly-available storage cluster.
And here is an example of a 4-node cluster. Each node contains 4 SAS HBAs connecting to 4 separate JBODs. With 4TB drives, this configuration would have a petabyte of raw disk space!
Hardware Requirements and Configuration
To implement clustered Storage Spaces, you’ll need some hardware:
Two or more systems running Windows Server 2012 (Standard or Datacenter) or Windows Storage Server 2012 Standard.
SAS Host Bus Adapter (HBA). Using a simple SAS HBA is preferred and not a RAID controller. You can use a RAID controller if it supports ‘pass-through’ or non-RAID mode, however, using an expensive RAID controller would be a waste of money if you are just connecting to a JBOD.
A Windows Server 2012-certified SAS JBOD enclosure. (You can find a list under the Storage Spaces Category in the Windows Server Catalog.)
A minimum of three physical drives, more depending on the number of columns and resiliency. Dual-parity storage spaces require a minimum of seven drives.
You can use SSD drives for high-speed caching and data tiering and you can carve up a partition in the SSD for the operating system drive if you want and dedicate the rest to storage spaces.
If you want to deploy a cluster that has more nodes, you might also need a SAS switch to enable all the nodes to connect to all the disks in the JBOD.
After you have all the parts, you can find instructions on how to configure a Clustered Storage Space using Windows Server 2012 here. These instructions also tell you how to configure the storage using Windows PowerShell scripts. A great overview on storage pools and Storage Spaces can be found here and this FAQ highlights the new features found in Windows Storage Server 2012 R2.
Certified JBOD Enclosures
If you’re planning to deploy a clustered Storage Space, I can’t stress enough how important it is to use one of the Windows Server 2012-certfied JBOD enclosures listed here, in the Windows Server Catalog. The reasons you’ll want to use a certified enclosure is to ensure that:
Its backplane chipset supports the required features and delivers adequate performance.
The JBOD supports SCSI Enclosure Services (SES), which makes the correct lights blink to identify the enclosure, power activity, hot spares and, most importantly, if a drive needs replacement.
As of the posting of this blog article, the list of certified enclosures on the market included:
Fujitsu: PRMERGY CX420 S1 – a 2-node Cluster-in-a-box with built-in storage.
Fujitsu: PRIMERGY SX980 S2
Quanta Computer: M4240H
Quanta Computer: M4600H
Super Micro Computer: SuperChassis 847E26-RJBOD1
Of course, new vendors and models are being added to the catalog as they become certified, so if you’re reading this post after its publication date, don’t assume that the above vendors and models are your only options. Check the Windows Server Catalog for the most recent list of products.
These other resources may also be useful:
- Another good overview of Storage Spaces and its capabilities can be found here.
- An excellent presentation from TechEd 2013 that covers Storage Spaces can be found here.
The speed and horsepower of modern CPUs coupled with the continual drop in memory and hard disk drive costs have really made it possible to integrate storage into an industry standard server without having to offload the storage calculations to a dedicated processor that increases total costs.
When used together, Storage Spaces, Failover Clustering, and external JBODs are a great way to get reliable storage that is easy to manage and doesn’t require a mortgage to afford—inexpensive, reliable storage built using Windows Storage Server is really a great recipe for your data storage needs!
Scott M. Johnson
Senior Program Manager
Windows Storage Server