Note: this post originally appeared on https://aka.ms/clausjor by Claus Joergensen.
Storage Spaces Direct enables service providers and enterprises to use industry standard servers with local storage to build highly available and scalable software defined storage for private cloud. Enabling Storage Spaces to use local storage for highly available storage clusters enables use of storage device types that were not previously possible, such as SATA SSD to drive down cost of flash storage, or NVMe flash for even better performance.
The primary use case for Storage Spaces Direct is private cloud storage, either on-prem for enterprises or in hosted private clouds for service providers. Storage Spaces Direct has two deployment modes: private cloud hyper-converged, where Storage Spaces Direct and the hypervisor (Hyper-V) are on the same servers, or as private cloud storage where Storage Spaces Direct is disaggregated (separate storage cluster) from the hypervisor. A hyper-converged deployment groups compute and storage together. This simplifies the deployment model, with compute and storage scaled in lock step. A private cloud storage deployment separates the compute and storage resources. While a more complex deployment model, it enables scaling compute and storage independently and avoids over provisioning.
A server with local storage contains internal storage devices in the chassis, in a storage enclosure physically connected only to that server, or a combination of these. This contrasts our current model in Windows Server 2012 R2, where storage devices must be in one or more shared SAS storage enclosures and the enclosure must be physically connected to all servers in the highly available cluster.
Storage Spaces Direct uses the network connecting the cluster nodes to pool all storage devices across the nodes instead of the currently required shared SAS fabric. Shared SAS fabrics can be cumbersome and complex to deploy, especially as the number of cluster nodes increases, whereas an Ethernet network fabric is simpler and well known. Another advantage of using the Ethernet network fabric is that we can benefit from our investments in SMB Direct, which enables RDMA-enabled Ethernet network adapters for the storage traffic amongst the cluster nodes (so-called “east-west” storage traffic). Using RDMA-enabled Ethernet network adapters provides lower IO latency, which improves application performance and response times, and lowers CPU consumption, which leaves more CPU resources for the application. In addition SMB 3 Multichannel enables network fault tolerance and bandwidth aggregation in deployments with multiple network adapters.
Storage Spaces Direct can scale out more and much simply than a shared SAS fabric; the latter fabric scales to four server and four storage enclosures, with complex cabling needed for each node must be connected to each enclosure. Storage Spaces Direct is simply connected to Ethernet networks, which do not have this limitation. Storage Spaces Direct also makes expansion simpler: you complete it by simply connecting additional nodes to the network and adding them to the cluster. Expansion can be done in one node increments. Once the desired number of nodes has been added, the storage devices are added to the pool – increasing the storage capacity – and existing data can be rebalanced onto the new storage devices for improved performance with more storage devices available to service data requests.
Storage Spaces Direct uses ReFS, aggregated into the CSV file system (CSVFS) for cluster wide data access. Using ReFS provides significant enhancements over NTFS. In addition to the existing scale, availability, and checksum-based resiliency that ReFS provides, new optimizations increase performance for Storage Spaces Direct and Hyper-V. First, Hyper-V checkpoint merges are implemented by remapping data between checkpoints, eliminating the copying I/O that was previously required. This dramatically lowers the disk load incurred during Hyper-V backup operations. Next, the file zeroing that happens upon creation of a fixed VHDX file is replaced by a pure metadata operation (the zeroing isn’t deferred, it simply doesn’t happen), making fixed VHDX creation instant and drastically reducing VM deployment time. Finally, the zeroing I/O during dynamic VHDX expansion is eliminated, further decreasing and leveling out disk load. Using ReFS allows us to reduce the I/O load of Hyper-V workloads while increasing reliability and resiliency.
Storage Spaces Direct is managed using System Center or Windows PowerShell. We have updated System Center Virtual Machine Manager (SCVMM) to support Storage Spaces Direct, including bare-metal provisioning, cluster formation, and storage provisioning and management. We also updated System Center Operations Manager (SCOM) to interface with the reimagined storage management model. Traditional storage monitoring with System Center collects health information from individual components and performs state computation and health roll-up, meaning the management pack tightly couples with the version and storage technology. It also required highly knowledgeable management pack authors, making it harder for service providers and enterprises to enhance storage monitoring. The new storage monitoring model is based on a health service that is built into Storage Spaces Direct and focuses only on the relevant objects, such as storage subsystem, volumes and file shares, and does automatic remediation when possible. Alerts are presented only on the relevant objects and specify urgency, remediation action, and even automatically resolve when the issue is addressed.
We are collaborating closely with partners, including Cisco, Dell, Fujitsu, HP, Intel, Lenovo and Quanta, to define platforms, components and configurations providing a prescriptive Storage Spaces Direct solution for service providers and enterprises. We rigorously validate these configurations at the component, node and system level in order to provide the best possible user experience.
If you are anxious to try out Storage Spaces Direct, it is available in Windows Server 2016 Technical Preview 2, which you can download here. Instructions for deploying and setting up Storage Spaces Direct can be found here. Initial evaluation can be done using four or more generation 2 virtual machines on Windows Server 2016 Technical Preview 2. An finally you can review my talk at Microsoft Ignite 2015 conference BRK3474 Enabling Private Cloud Storage using Servers with Local Disks.