Storage Spaces Direct is one of the most highly anticipated features being introduced in Windows Server 2016. Storage Spaces Direct builds onto the Windows Storage Spaces feature, allowing administrators to pool storage from servers in a cluster.
Windows failover clusters typically make use of a cluster shared volume (CSV). A CSV is a storage volume that is accessible to all of the nodes that make up the cluster. If a server hosting a clustered resource -- which Microsoft refers to as a clustered role -- fails, then the workload can be seamlessly moved to another node within the cluster. This is possible because all the cluster nodes share a common CSV and therefore have access to the same files.
CSVs have been used for many years and are dependable, but they can be complicated and expensive to create. In large, enterprise-class organizations, CSVs tend to exist on storage area networks and are connected to the cluster nodes via Fibre Channel. Smaller organizations may opt to use iSCSI connectivity, which is generally less expensive to implement, but can be complicated to configure.
Storage Spaces Direct avoids need for CSV
This is where the Windows Server 2016 Storage Spaces Direct feature comes into play. Storage Spaces Direct is designed to allow failover clusters to be built around commodity storage without a CSV.
A CSV must be created on top of a supported shared storage architecture. In contrast, Storage Spaces Direct can use either Direct Attached Storage or locally connected JBOD storage.
Storage Spaces Direct does not turn a cluster node's local storage into shared storage or make each cluster node a full mirror of the cluster storage. Administrators must create storage pools on each cluster node. These storage pools include the node's local storage. Once the pools are created, virtual disks are created on top of the storage pools. If a virtual disk uses a combination of SSD and HDD storage, then storage tiering can be enabled automatically for the virtual disk. These virtual disks are then made available as cluster storage.
The key difference with Storage Spaces Direct
The important thing to understand about this configuration is that the virtual disks are not simply being treated as virtual hard disk (VHD) files, but rather as a series of extents. An extent is a 1 GB segment of a virtual hard disk. As such, a 500 GB VHD is made up of 500 separate extents.
This is important because the VHD is not being mirrored to each cluster node; therefore, there isn't a dedicated copy of the VHD for each cluster node. That being the case, Storage Spaces Direct applies a technique called fault domain awareness to maintain the integrity and availability of the cluster storage.
Fault domain awareness works by placing extents on the various cluster nodes in a manner to prevent data loss if the node -- or node storage -- fails. As an example, say a 500 GB VHD has been created on a four-node cluster.
There are a few different ways to structure the data, but one of the preferred methods involves creating a three-way mirror. When a three-way mirror is created, there are three copies of the data. Since there are four nodes in this particular cluster, not every node can have its own copy of the data. As such, Windows creates three separate copies of the 500 extents for a total of 1,500 different extents. These extents are scattered among the cluster nodes in a way that maximizes resiliency.
Storage Spaces Direct promises to drive down the cost of cluster storage, while simplifying the creation of failover clusters. You can find a more comprehensive introduction to the technology on TechNet.
Is a Windows Server 2016 upgrade worth it?
Test drive Windows Server Technical Preview with Boot to VHD