Lead Image © Twwx, photocase.com

Lead Image © Twwx, photocase.com

Storage Spaces Direct with different storage media

Colorful Mix

Article from ADMIN 43/2018
In Windows Server 2016, software-defined storage lets you combine several volumes to create a central storage pool; then, you can use a combination of HDD, SSD, and NVMe SSD storage media to divide the pool into different volumes.

In Windows Server 2016, a Storage Spaces Direct (S2D) can comprise several hard disks, but also several servers, that can be connected to a cluster to increase data storage flexibility. S2D is certainly the most important innovation in the Windows Server 2016 storage universe. The system lets you combine locally allocated storage space from cluster nodes to create shared virtual storage in a cluster. The storage can then be used as a shared data carrier (e.g., for storing data from virtual servers).

The local volumes of the cluster nodes are used as data storage in a cluster with S2D. S2D requires a cluster with at least three hosts. With four hosts, the technology supports mirrored resiliency. If you want parity-based resiliency, at least four or more hosts are required. S2D is protected against host failure by default. The technology can even cope with the failure of an entire rack, including the servers it houses, depending on the configuration and the number of servers in the cluster.

Three Storage Technologies

In Windows Server 2016, three storage tiers can be used in the storage spaces: NVMe-based solid-state drives (SSDs) (NVM Express), SSDs, and hard disk drives (HDDs). Windows Server 2012 R2 supports only two storage tiers in storage pools and storage spaces. NVMe memory is used to cache data, and SSDs and HDDs are used for traditional data storage and archiving. You can also create different combinations of storage tiers with these three data carrier types.

S2D sees Microsoft competing with VMware's Virtual SAN, in which drives of several servers in a cluster are used as shared data storage. The focus is primarily on virtualization environments. For example, the storage locations of the virtual hard disks belonging to the virtual machines (VMs) in a Hyper-V cluster no longer represent a single point of failure if they are located on S2D, whose hard disks also replicate to different servers. If a server fails, the data is still available. On this basis, VMs can be saved, and companies can use Hyper-V replication in combination with S2D and volume replication. In this case, the data is not just kept highly available in the S2D, the entire storage pool is replicated to another data center. As a filesystem, you will want to use the ReFS filesystem rather than NTFS, because it is more stable and is already set up for storage spaces.

Basics of S2D

As mentioned before, S2D lets you combine conventional data carriers and bundle different storage technologies to create more storage space with higher speeds. NVMe memory can be mixed with traditional SSDs and HDDs in S2D. Windows Server 2016 distributes the data ideally – and even automatically in some cases. If you also use a scale-out file server (SOFS) as a cluster service, you can store shares on S2D, manage them within the SOFS, and make them available on the network. Microsoft's Storage Replica [1] can in turn replicate the data from S2D, for example, in other data centers and to other clusters.

To create an S2D, Windows Server 2016 merges the physical hard disks into a virtual storage pool. On the basis of this cross-device storage pool, virtual hard disks can be created and used for data storage in the cluster. The installation therefore involves several steps.

S2D is initially based on a cluster with nodes that have different physical data carriers. Servers allow SSDs, NVMe disks, and traditional HDDs to work together and across different filesystems. Communication between the data carriers of the various clusters is handled by the SMB protocol, including SMB Multichannel and SMB Direct. The connection is established by the Software Storage Bus in Windows Server 2016. Storage pools, which in turn combine the physical hard disks of the individual cluster nodes into one or more virtual stores, build on this.

The next layer is Storage Spaces, virtual disks that build on the storage pools, which in turn are based on the physical disks of the cluster nodes. The C:\ClusterStorage cluster shared volume is also connected to the S2D, and the data in this directory of cluster nodes is stored in the S2D.

Adding Hard Disks

The internal hard disks of the cluster nodes represent the elementary part of the data storage. For S2D, servers should have at least two additional hard disks. You must install the File Server server role and the cluster features on all servers that are to become members of the cluster for S2D. The easiest way to do this is in PowerShell:

> Install-WindowsFeature -Name File-Services, Failover-Clustering -IncludeManagementTools

Disks for S2D also must be displayed as online and initialized in disk management. Partitions should not be created. After installing the role and cluster feature and initializing the hard disks, the servers can be restarted, but they do not have to be. If a restart is required, PowerShell will display the appropriate message.

If you enter the Get-Physicaldisk command on a cluster node in PowerShell, it displays the disks of all cluster nodes and indicates that they are suitable for pooling. However, this does not work until you have enabled S2D in the cluster. As mentioned before, the hard disks should not have their own partitions. As part of the configuration verification wizard in the Failover Cluster Manager, you will find a separate test that ensures that S2D can be used in the cluster (Figure 1). You will want to run this before proceeding with the setup to ensure that everything can be configured correctly. Alternatively, you can use PowerShell.

Figure 1: In the Failover Cluster Manager, you can test the suitability of the cluster nodes for S2D.

Another advantage of S2D is support for nano servers with Windows Server 2016, which you can use to build clusters and create very small but efficient Hyper-V clusters. Once the cluster is set up, the function can be activated in PowerShell:


As part of the setup, you can enter

> Test-Cluster -Node <Node1,Node2,Node3,Node4> -Include "Storage Spaces Direct",Inventory,Network,"System Configuration"

to test cluster nodes in PowerShell for cluster capability and support for S2D.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy ADMIN Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our ADMIN Newsletters
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs

Support Our Work

ADMIN content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.

Learn More”>


		<div class=