Storage Spaces in clusters

One of the most important Storage Spaces' features is using of Windows' failover cluster. The solution architecture is very simple: SAS disks are required, SAS JBOD with two SAS-expanders and at least two slots for connecting to each of the expanders (for a 2-node cluster). On servers: conventional SAS HBA's are used as controllers. We used LSI (LSI 9207-8e), but you can use Adaptec 6H series and higher.

The minimum configuration looks like this: 2 servers - in each of them a 2-port SAS HBA with connection to a 2-expander SAS JBOD-based on the Supermicro enclosure and SAS disks.

node

For use as a SAS JBOD we can use any Supermicro enclosure with 2 expanders (E26 or E2C for SAS2 and SAS3 accordingly). Each expander in Supermicro enclosures has at least 2 X4 SAS connectors (SFF-8087 or SFF-8643) that can be used as inputs. If there is a 3rd connector it can be used for cascading (connecting additional racks) or for building a topology with 3 nodes in a cluster.

There are options in one case, the so-called Cluster-in-a-box (CiB) based on Supermicro Storage Bridge Bay with pre-installed Windows Storage Server 2012 R2 Standard. Those are great for building resilient file- / iSCSI- servers.

Prerequisites

Ok, what do we have here for configuration:

  1. To create Storage Spaces in Failover Cluster mode we need at least 3 physical disks with the size at least 4 Gb for each disk.

  2. All disks inside Storage Pools must be Serial Attached SCSI (SAS) regardless of whether these disks are directly connected to the system. Regardless of whether there is any layer between the OS and disks as RAID-controllers and other disk subsystems or not.

  3. All physical disks in a clustered pool must successfully pass the validation test in Failover Clustering. In order to do this: open the Failover Cluster Manager - cluadmin.msc and select the Validate Cluster option.

node

  1. The clustered data space must use a fixed type of resource provision (we are talking about the type of vhd(x) - drive that is used for Storage Spaces).

  2. Supported simple and mirror types of Storage Spaces. A type with parity control is not supported.

  3. Disks that are used in a failover pool must be dedicated. Means that they cannot be used as a part of other pools.

  4. Storage Spaces that are formatted in ReFS cannot be added to the cluster shared volume (CSV).