Table of contents
Storage Spaces Direct, or S2D, is a technology included in Windows Server 2016 that is getting more and more momentum and adoption in current IT infrastructure. In this article, we will take a deeper look at the technology to discover the benefits it brings.
What is S2D?
When you browse the Microsoft Documentation regarding S2D, you’ll probably find the following explanation:
Storage Spaces Direct uses industry-standard servers with local-attached drives to create highly available, highly scalable software-defined storage at a fraction of the cost of traditional SAN or NAS arrays. Its converged or hyper-converged architecture radically simplifies procurement and deployment, while features like caching, storage tiers, and erasure coding, together with the latest hardware innovation like RDMA networking and NVMe drives, deliver unrivaled efficiency and performance.
Now you maybe think “Wow, that’s a lot of incredible things I’ve never heard about!”
So, let’s pick up the Buzzwords and explain it step by step.
S2D uses industry-standard servers with local-attached drives
This one is easily explained. To deploy S2D you don’t use any kind of special SAN or NAS hardware. You use simple standard servers from different vendors like Dell, HP, Lenovo or whoever delivers supported servers. Many vendors offer servers, which are perfect for S2D. All data is stored on enterprise-grade local disks in the servers. There is no central storage device and no special disks are required.
The picture below shows a Dell PowerEdge R730XD, which is an example of one such server:
Fun fact, those server designs are inspired by Microsoft, I will explain later why.
highly available, highly scalable software-defined storage at a fraction of the cost of traditional SAN or NAS arrays
When you compare S2D with classic SAN devices, most SAN devices use Hardware Controllers and management modules with special firmware, and you are bound to those hardware requirements and capacities. You are also not able to mix SAN devices from different Vendors in a replication cluster. Your Dell Compellent would never speak with an HP Lefthand for example. With S2D all hardware components are kind of “stupid” and without higher logic.
S2D abstracts those higher operations you typically see in hardware controllers to software and the operating system. Every disk, replication and data operation is managed by Windows. As a simple example, S2D does not use any RAID controller on the server. It only uses SAS Expanders and SAS Cards without any RAID capabilities.
These technologies give you a great opportunity to mix hardware types if needed and buy what is best for you. For example, you started with a Dell Server with the first deployment and after a few months, you need to expand the deployment. Now the HP Server with the same hardware specifications is cheaper? No worries, you can mix them in an S2D cluster if the CPU and disk configurations match. With that said, we’ll be talking about hardware further in a later part of this series.
Its converged or hyper-converged architecture radically simplifies procurement and deployment, while features like caching, storage tiers, and erasure coding
With S2D, Microsoft delivers a storage solution in which you can provide all necessary components for the operation of a cluster out of a single server. The system will have a hypervisor and usable storage directly within the box without any need for additional shared storage. An S2D storage solution also provides storage cache within memory, and storage tiering between different disk types like NVMe, SSD, and HDD. Together with erasure coding, which duplicates and distributes data packages to the storage subsystem of other cluster nodes, you get a very efficient and highly available storage system which runs with all the features enabled and with no additional licensing costs.
latest hardware innovations like RDMA networking and NVMe drives
When it comes to technology, S2D leverages technologies which were not very common in the past or were developed together with the help of Microsoft. Two of those examples are RDMA or Remote Direct Memory Access and NVMe or Non-Volatile Memory Express.
In computing, remote direct memory access (RDMA) is a direct memory access from the memory of one computer into that of another without involving either one’s operating system. This permits high-throughput, low-latency networking, which is especially useful in massively parallel computer clusters.
Source: https://en.wikipedia.org/wiki/Remote_direct_memory_access
NVM Express (NVMe) or Non-Volatile Memory Host Controller Interface Specification (NVMHCI) is a logical device interface specification for accessing non-volatile storage media attached via a PCI Express (PCIe) bus. The acronym, NVM, stands for non-volatile memory, which is commonly flash memory that comes in the form of solid-state drives (SSDs). NVM Express, as a logical device interface, has been designed from the ground up to capitalize on the low latency and internal parallelism of flash-based storage devices, mirroring the parallelism of contemporary CPUs, platforms and applications.
Source: https://en.wikipedia.org/wiki/NVM_Express
While this article simply serves as an introduction to S2D, there is MUCH more to S2D. Next, we’ll dive deeper into technologies like RDMA, NVMe, Storage Tiering, and other technologies that are used in S2D.
Any Questions?
Based on what you’ve heard thus far, does S2D sound like something you’d use in your own environment? Let us know in the comments section below!