Windows Server has certainly touted some major improvements over the past several iterations of the product. Windows Server 2016 architectures has produced great new capabilities for the enterprise data center. New functionality and features introduced include great new features and advancements in existing technology in the storage realm. These include Storage Spaces, Storage Spaces Direct, and Storage Replicas.
In this post, we will take a closer look at Windows Server 2016 Storage Spaces vs Storage Spaces Direct vs Storage Replicas to see the differences and use cases between these technologies.
Additionally, we will look at the advancements that have been made in Windows Server 2016 storage capabilities including how these relate to Windows Server 2016 Hyper-V.
Windows Server 2016 Storage Spaces
Storage Spaces was a technology that Microsoft introduced in Windows Server 2012 that allowed thinking about directly-attached storage in a different way. Storage Spaces abstracts the underlying physical storage that is attached to a Windows Server by using a software layer. This allows creating new volumes (“spaces”), and any redundancy operations to be handled at the Storage Spaces software layer. This is known as a “software-defined” approach to utilizing local storage. Microsoft has built into Storage Spaces the ability to provide high availability and scalability to the defined data.
With each iteration of Storage Spaces since Windows Server 2012, the technology has gotten even better. With Windows Server 2012 R2, there were several improvements introduced into the technology including the ability to have dual-parity spaces. This allows creating two copies of parity information instead of just one copy of parity information.
What does this allow?
- Additional Redundancy
- Parity in cluster configurations
- Faster rebuilds in the event of failures
Additionally, when a failure occurs, the information that is missing is rebuilt to parts of all the disks in the storage pool. This helps to prevent performance bottlenecks that result from all information being built to a single disk. Another major change with Windows Server 2012 R2 Storage Spaces is the introduction of tiering into the solution. With tiering, you have the concept of differentiating between spinning disks and flash storage. With Windows Server 2012 R2, you can create tiers of storage using the different underlying disk technologies and capabilities which results in being able to place performance-hungry workloads on faster storage than those workloads that may not need the extra performance of flash storage.
This is achieved at the block level. Storage Spaces moves the most used blocks to the faster tiers of storage so they benefit from the extra performance yielded by the faster underlying disk hardware. This can also serve as a write-back cache layer that allows all writes to first be written to the SSD layer and then offloaded to the HDD layer.
How are high-performance blocks detected?
There is an optimization job that defaults to run at 1:00 a.m. that detects the blocks that would benefit from high-performance storage and these are moved. However, it is important to note that you can pin files to a certain tier of storage as well which allows immediately benefiting from the performance benefits of faster-tiered storage.
This is accomplished with PowerShell by using the following cmdlet:
- Set-FileStorageTier -DesiredStorageTier
- Optimize-Volume -DriveLetter
-TierOptimize
Storage Spaces technology can be used in a Windows Server cluster as well where each node in the cluster is aware of an external array that is configured as a Storage Spaces Pool. This is a great capability for today’s modern virtualization environments where you can achieve great performance and resiliency by using a software-defined solution. This allows for great flexibility in the overall approach to architecting suitable storage for Hyper-V environments.
Windows Server 2016 provides even more improvements to this overall solution by introducing the ability to use Storage Spaces cluster storage in the form of Cluster Shared Volumes or CSVs. Windows Server 2016 also can tell the difference between SSDs and NVMe SSDs and configures these automatically in an optimal configuration for storage spaces performance. Keep in mind that you can use NVMe with regular storage spaces but not with clustered storage spaces due to PCI Bus sharing limitations in cluster configurations.
Other improvements include the optimization process for Storage Spaces in Windows Server 2016 runs more frequently. As mentioned above, the process by default in Windows Server 2012 versions runs once a day at 1:00 a.m. by default. With Windows Server 2016, this process now runs every 4 hours so that your data gets optimized more frequently between tiers. Server Manager in Windows Server 2016 has also been improved to include the resiliency options as part of the New Virtual Disk Wizard so more options are configurable through the Server Manager GUI.
Windows Server 2016 also includes a storage health service that monitors the components of Storage Spaces and helps to automate the recovery process in the event of any failures.
Windows Server 2016 Storage Spaces Direct
Storage Spaces Direct in Windows Server 2016 allows Windows Server to now compete with the other software-defined storage solutions on the market such as VMware’s vSAN software-defined storage. It allows creating a cluster shared volume or CSV that is shared between Windows Server Failover Cluster hosts. It does this by aggregating directly attached storage that is found in each Windows Server Failover Cluster host with the storage found in other Windows Server Failover Cluster hosts. This is all accomplished by connecting the directly attached storage using an existing Ethernet or RDMA network as the storage fabric that takes care of the synchronization and coordination of this disk aggregation mechanism.
There are two models to use with Storage Spaces Direct including the hyperconverged and the converged models. The difference between the two is the hyperconverged model has both the compute and storage resources located on the same nodes in the same cluster. In other words, if you add hosts to this model you are essentially adding both storage and compute resources since they are coupled together. In the converged model, or disaggregated model, one cluster is used to compute resources and another cluster is used for the storage resources. This is accomplished by presenting cluster shared volumes via the Scale-Out File Server mechanism or SoFS.
In Hyper-V environments, this means your Hyper-V role is housed with the compute cluster and accesses the SMB3 storage cluster for virtual machine storage. The converged model is typically used for larger environments since either the compute or storage can be scaled independently of one another which generally suits the needs of larger environments. Additionally, this means that each part of the cluster (compute and storage) can be managed separately as well if there are a strict separation of duties policies in place in certain environments.
Windows Server 2016 Storage Replica
Windows Server 2016 introduces another new feature in the Windows Server realm called Storage Replicas. The Storage Replica technology can bring a tremendous amount of value to the Hyper-V infrastructure. Storage Replica is a new feature that allows replication at the storage level and can be configured to be both synchronous and asynchronous block-level replication. Synchronous replication allows for no data loss between the primary storage and the replica storage, whereas asynchronous replication means that writes are acknowledged and written to the source location and then in the background, those writes are sent to the replica. The performance will be less with synchronous replication.
There are various use cases for this type of replication. When thinking about Hyper-V replication, the lowest interval for replicating data is 30-seconds whereas, with storage replica, the replication can be synchronous, meaning there is no data variance or loss between the primary and replicated storage.
Storage Replica is not DFS or a filesystem. In fact, the filesystem with Storage Replica can be CSVFS, NTFS, or ReFS. Storage Replica is a mechanism that sits beneath the filesystem and replicates data using log files on the source and the destination storage.
Concluding Thoughts
Windows Server 2016 provides a great deal of new technology aimed at helping enterprise environments have more flexibility, features, and functionality as related to storage. Data is the primary concern of most businesses today. Having new mechanisms that allow scaling storage and making it highly available helps to solve real business problems. With Windows Server 2016 there are enhancements to existing storage technologies such as Storage Spaces. There have also been new technologies introduced as with Storage Spaces Direct and Storage Replica. Storage Spaces Direct is a game-changing technology with Windows Server 2016 that truly allows it to compete in the world of software-defined storage, especially in the virtualization world with Hyper-V. Storage Replica provides a built-in mechanism that is vendor agnostic and storage agnostic that allows replicating storage between a primary and secondary storage location. This can be either synchronous or asynchronous replication. By making use of these new storage technologies and enhancements, businesses can have a powerful, robust, and flexible storage deployment to run production workloads including Hyper-V virtual machines.
Follow our Twitter and Facebook feeds for new releases, updates, insightful posts and more.