How Microsoft Storage Spaces works
Storage Spaces Direct (S2D) takes internal storage across a cluster and pools it for fault tolerant and/or performance capability. The storage can consist of SAS or SATA HDD’s, SAS or SATA SSDs or NVMe.
S2D features built-in server-side caching to maximize storage performance by automatic configuration of SSD or NVMe drives. At its heart, Storage Spaces is about providing fault tolerance, often called 'resiliency', for your data. Its implementation is similar to RAID, except distributed across servers and implemented in software.
S2D supports various Storage efficiencies, 2 or 3 way mirroring and Accelerator Erasure Coding with Microsoft Local Reconstruction code, which is also used in Microsoft Azure (up to 80% efficiency).
As with RAID, there are various options when configuring Storage Spaces. These options allow you to customise to optimise factors such as faut tolerance, storage efficiency, and compute complexity. These broadly fall into two categories: 'mirroring' and 'parity'.
Resilience can be configured in various ways:
• As a two-way mirror with fault tolerance of 1 drive or server and 50% storage efficiency
• As a three-way mirror fault tolerance is 2 drives and storage efficiency of 33.3%
• As a dual parity with fault tolerance of 2 and storage efficiency of 50-80 %
• As a mixed mode with fault tolerance of 2 and storage efficiency of 33.3-80%