14.3 Storage Spaces & Storage Spaces Direct (S2D)
Key Takeaways
- Storage Spaces virtualizes physical SAS, SATA, and NVMe drives into flexible Storage Pools, carving out resilient Virtual Disks (Spaces) with thin or fixed provisioning.
- Storage Spaces Direct (S2D) delivers a Software-Defined Storage (SDS) fabric across 2 to 16 cluster nodes using the Software Storage Bus (SSB) and high-speed RDMA networking (RoCEv2 or iWARP).
- S2D automatically binds the fastest storage media (NVMe or high-end SSDs) as an active read/write Cache tier, fronting capacity SSDs or HDDs without manual administrator intervention.
- Resiliency models balance fault tolerance and capacity efficiency: Two-Way Mirroring (tolerates 1 failure, 50% efficiency, 2+ nodes), Three-Way Mirroring (tolerates 2 failures, 33.3% efficiency, 3+ nodes), Dual Parity (tolerates 2 failures, 50-80% efficiency, 4+ nodes), and Mirror-Accelerated Parity.
- Fault Domains (Site, Rack, Chassis, Node, Enclosure) distribute redundant copies across physical boundaries to ensure uptime during enclosure, rack, or power supply failures.
Storage Spaces & Storage Spaces Direct (S2D)
Modern enterprise data centers require high-performance, cost-effective, and highly available storage architectures that scale dynamically without the complexity and capital expense of proprietary SAN or NAS appliances. Microsoft addresses this through Storage Spaces (for standalone and shared-SAS architectures) and Storage Spaces Direct (S2D) (for hyperconverged and disaggregated software-defined storage fabrics).
Understanding Storage Spaces Direct architecture—including the Software Storage Bus (SSB), Remote Direct Memory Access (RDMA) networking, automatic tiering/caching, resiliency geometries (Two-Way Mirror, Three-Way Mirror, Dual Parity, Mirror-Accelerated Parity), and Fault Domain Awareness—is a core domain on the AZ-800 exam.
1. Storage Spaces Fundamentals: Pools, Spaces & Provisioning
Traditional storage architectures map volumes directly to physical disks or hardware RAID arrays. Storage Spaces introduces an abstraction layer that pools disparate physical drives into a shared storage fabric.
+-----------------------------------------------------------------------------------+
| STORAGE SPACES ABSTRACTION MODEL |
| |
| [PHYSICAL DRIVES] [STORAGE POOL] [VIRTUAL DISKS / CSV]|
| +-------------------+ +-----------------------+ +------------------+ |
| | Physical NVMe/SSD | | Enterprise Storage | | Virtual Disk 1 | |
| | Physical SATA SSD | ====> | Pool (Aggregated Raw | ===> | (3-Way Mirror, | |
| | Physical SAS HDD | | Capacity: e.g., 48 TB)| | ReFS CSV Volume)| |
| +-------------------+ +-----------------------+ +------------------+ |
| | Virtual Disk 2 | |
| | (Dual Parity, | |
| | ReFS Volume) | |
| +------------------+ |
+-----------------------------------------------------------------------------------+
Core Storage Spaces Components
- Physical Disks: Standard, non-RAID SAS, SATA, or NVMe drives attached to a Host Bus Adapter (HBA) running in pure pass-through (IT) mode. Hardware RAID controllers configured in RAID-0 or non-pass-through modes are unsupported.
- Storage Pool: The aggregated container of raw physical storage capacity. Disks of mixed sizes, bus types, and performance characteristics can be combined into a single pool.
- Virtual Disks (Storage Spaces): Logical disks carved out of the pool with defined resiliency settings (Simple, Mirror, Parity) and capacity allocations.
- Volumes: Partitions formatted with NTFS, ReFS, or CSVFS (Clustered Shared Volume File System) that host virtual machines, databases, or file shares.
Provisioning Types: Thin vs. Fixed
- Thin Provisioning: Allocates physical storage capacity from the pool only as data is written. If an administrator creates a 10 TB thinly provisioned volume on an 8 TB pool, the volume presents 10 TB of usable space to applications while consuming only the actual physical gigabytes written. Thin provisioning supports
UNMAP/TRIMcommands to reclaim space when files are deleted. - Fixed Provisioning: Allocates the full physical capacity from the pool immediately upon creation, eliminating the risk of volume dismounts caused by pool oversubscription.
2. Storage Spaces Direct (S2D) Hyperconverged Architecture
Storage Spaces Direct (S2D) extends Storage Spaces across multiple clustered servers. Rather than requiring shared SAS enclosures (JBODs), S2D aggregates internal, locally attached drives across all cluster nodes into a single software-defined storage pool.
+-----------------------------------------------------------------------------------+
| STORAGE SPACES DIRECT (S2D) ARCHITECTURE |
| |
| +--------------------------+ +--------------------------+ +-----------------+ |
| | NODE 1 (Hyper-V / S2D) | | NODE 2 (Hyper-V / S2D) | | NODE 3 (S2D) | |
| | [VM1] [VM2] [VM3] | | [VM4] [VM5] [VM6] | | [VM7] [VM8] | |
| | CSVFS_ReFS Clustered Vol | | CSVFS_ReFS Clustered Vol | | CSVFS_ReFS Vol | |
| |--------------------------| |--------------------------| |-----------------| |
| | Software Storage Bus | | Software Storage Bus | | Software Storage| |
| | (SMB Direct / RDMA) | | (SMB Direct / RDMA) | | Bus (RDMA) | |
| |--------------------------| |--------------------------| |-----------------| |
| | [NVMe] [SSD] [HDD] [HDD] | | [NVMe] [SSD] [HDD] [HDD] | | [NVMe][SSD][HDD]| |
| +--------------------------+ +--------------------------+ +-----------------+ |
| | | | |
| +=============================+========================+ |
| 10/25/100 GbE RDMA Network Fabric |
+-----------------------------------------------------------------------------------+
Software Storage Bus (SSB)
The architectural foundation of S2D is the Software Storage Bus (SSB). The SSB spans all servers in the Failover Cluster, establishing a virtual storage fabric. It allows each node to see, query, read, and write to physical drives located in every other node across the high-speed network as if those drives were locally connected via a physical PCIe/SAS backplane.
Deployment Models: Hyperconverged vs. Converged (Disaggregated)
- Hyperconverged Infrastructure (HCI): Compute (Hyper-V virtual machines) and Storage (S2D cluster) run on the same physical servers. This eliminates dedicated storage hardware, reduces licensing costs, and maximizes hardware utilization for standard virtualization clusters.
- Converged (Disaggregated / Scale-Out File Server): Compute and Storage run on separate physical clusters. The S2D cluster acts as a dedicated storage back-end, exposing Clustered Shared Volumes (CSVs) as Scale-Out File Server (SoFS) SMB3 file shares to a separate Hyper-V compute cluster. This allows storage and compute to scale independently in multi-tenant cloud data centers.
3. S2D Hardware Requirements & High-Speed RDMA Networking
S2D enforces strict hardware and networking specifications to guarantee microsecond latencies and multi-million IOPS throughput.
Hardware Prerequisites
- Node Count: Minimum of 2 nodes, maximum of 16 nodes per S2D cluster. (A 2-node cluster requires a Cloud Witness, File Share Witness, or USB Witness to maintain quorum).
- Drive Media Requirements: Minimum of 4 capacity drives per node (e.g., 4 SATA SSDs or 4 HDDs). When deploying hybrid tiers, a minimum of 2 cache drives (e.g., NVMe) per node is required.
- Drive Controllers: Host Bus Adapter (HBA) in pure pass-through / IT mode. RAID controllers are strictly unsupported.
- Boot Drives: OS must be installed on dedicated boot drives (M.2 NVMe, SATADOM, or RAID-1 hardware controller) isolated from the pooled S2D data drives.
Networking & RDMA Protocols
S2D requires a dedicated, low-latency storage network fabric. Standard TCP/IP networking introduces excessive CPU interrupts and packet serialization latency, making Remote Direct Memory Access (RDMA) mandatory for enterprise deployments.
+-----------------------------------------------------------------------------------+
| RDMA NETWORKING PROTOCOL MATRIX |
| |
| PROTOCOL FULL NAME TRANSPORT LAYER SWITCH REQUIREMENTS |
| -----------+------------------------+------------------+------------------------|
| RoCEv2 | RDMA over Converged | UDP (Port 4791) | Requires Lossless |
| | Ethernet version 2 | over IP | Ethernet: PFC (802.1Qbb|
| | | | and ETS (802.1Qaz) |
| -----------+------------------------+------------------+------------------------|
| iWARP | Internet Wide Area | TCP/IP | Standard L2/L3 Switches|
| | RDMA Protocol | (Port 5445) | (No PFC/lossless req.) |
+-----------------------------------------------------------------------------------+
- Switch Embedded Teaming (SET): S2D leverages SET, an integrated Hyper-V Virtual Switch teaming architecture. SET aggregates up to 8 physical NICs into a single logical vSwitch while supporting RDMA virtualization and SMB Direct.
4. Drive Tiers & Automatic Caching Architecture
Storage Spaces Direct automatically inspects the physical bus types and media properties of all drives in each node and binds them into an intelligent Cache Tier and Capacity Tier.
+-----------------------------------------------------------------------------------+
| AUTOMATIC CACHING COMBINATIONS |
| |
| PHYSICAL MEDIA DETECTED CACHE TIER MEDIA CAPACITY TIER MEDIA |
| --------------------------+------------------------+----------------------------|
| NVMe + SSD + HDD | NVMe (Reads & Writes) | SSD (Cap/Perf) + HDD (Cap) |
| NVMe + SSD | NVMe (Reads & Writes) | SSD (Capacity) |
| NVMe + HDD | NVMe (Reads & Writes) | HDD (Capacity) |
| SSD + HDD | SSD (Reads & Writes) | HDD (Capacity) |
| All-Flash (All NVMe/SSD) | Disabled by default | All drives in Capacity Pool|
| | (or manual NVMe cache) | |
+-----------------------------------------------------------------------------------+
Cache Behavior Mechanics
- Write Caching: When an application writes data, the write lands immediately in the fast Cache tier (NVMe/Optane). The write is duplicated across multiple nodes' cache tiers (always mirrored) before acknowledging the I/O to the application. The cache then destages the dirty blocks to the slower capacity tier asynchronously.
- Read Caching: Frequently accessed ("hot") random read blocks from HDDs or capacity SSDs are retained in the cache tier, delivering sub-millisecond read access without taxing capacity spindles.
5. Resiliency Types and Storage Efficiency
Selecting the correct resiliency configuration requires balancing fault tolerance, rebuild times, and raw capacity efficiency.
+-----------------------------------------------------------------------------------+
| RESILIENCY TYPES & EFFICIENCIES |
| |
| RESILIENCY TYPE MIN NODES FAULT TOLERANCE CAPACITY EFFICIENCY |
| -------------------+----------+-----------------------+-------------------------|
| Two-Way Mirror | 2 Nodes | 1 Drive OR 1 Node | 50.0% (1/2 Raw Usable) |
| Three-Way Mirror | 3 Nodes | 2 Drives / 2 Nodes | 33.3% (1/3 Raw Usable) |
| Dual Parity | 4 Nodes | 2 Drives / 2 Nodes | 50.0% - 80.0% (e.g. 4+2)|
| Mirror-Accelerated | 4 Nodes | 2 Drives / 2 Nodes | Hybrid (e.g., 20% Mirror|
| Parity (MAP) | | (in both tiers) | + 80% Parity = ~65-70%) |
+-----------------------------------------------------------------------------------+
Detailed Resiliency Geometries
1. Two-Way Mirroring
- Writes two identical copies of every data slab.
- Tolerates the failure of one drive or one entire node simultaneously.
- Requires at least 2 nodes; provides 50% capacity efficiency.
- Use Case: Small branch office 2-node clusters.
2. Three-Way Mirroring
- Writes three identical copies of every data slab across three distinct nodes.
- Tolerates two simultaneous failures (e.g., 2 node failures, 2 drive failures, or 1 node failure plus 1 drive failure on a surviving node).
- Requires at least 3 nodes (4+ recommended for automatic rebuilds); provides 33.3% capacity efficiency.
- Use Case: Enterprise production Hyper-V VMs, SQL databases, and mission-critical workloads requiring maximum write IOPS and fast rebuilds.
3. Dual Parity (Erasure Coding)
- Uses Reed-Solomon erasure coding (such as $4+2$ or $8+2$) to calculate parity across nodes.
- Tolerates two simultaneous drive or node failures while providing 50% to 80% capacity efficiency.
- Requires at least 4 nodes.
- Trade-off: Random writes incur a write amplification penalty (reading data and parity, recalculating parity, and writing new data and parity). Therefore, pure Dual Parity is recommended for sequential or cold archival data rather than transactional databases.
4. Mirror-Accelerated Parity (MAP)
- A hybrid volume combining a fast Three-Way Mirror tier with a high-efficiency Dual Parity tier within a single ReFS volume.
- Write Pipeline: Incoming random writes land directly in the high-performance Three-Way Mirror tier. As data ages or becomes sequential, ReFS automatically rotates cold blocks from the mirror tier to the dual parity tier in the background without administrator intervention.
6. Fault Domains, Enclosure Awareness & PowerShell Deployment
Fault Domain Hierarchy
S2D structures physical infrastructure into an awareness hierarchy: Site -> Rack -> Chassis -> Node -> Enclosure.
- When Rack Awareness or Chassis Awareness is configured, S2D ensures that mirror copies or parity fragments are never written to the same physical rack or chassis. If an entire Top-of-Rack (ToR) switch fails or an enclosure loses power, all data remains online on surviving racks.
S2D Cluster Deployment Workflow in PowerShell
# Step 1: Validate cluster nodes and storage subsystem readiness
Test-Cluster `
-Node 'S2D-Node01', 'S2D-Node02', 'S2D-Node03', 'S2D-Node04' `
-Include 'Storage Spaces Direct', 'Inventory', 'Network', 'System Configuration'
# Step 2: Create the Failover Cluster without shared storage
New-Cluster `
-Name 'S2D-Cluster01' `
-Node 'S2D-Node01', 'S2D-Node02', 'S2D-Node03', 'S2D-Node04' `
-NoStorage `
-StaticAddress '192.168.10.50'
# Step 3: Enable Storage Spaces Direct
# (Claims all eligible blank drives, builds Software Storage Bus, configures cache)
Enable-ClusterStorageSpacesDirect -PoolFriendlyName 'S2D-Pool' -CacheState Enabled -Autoconfig $true
# Step 4: Provision a 10 TB Three-Way Mirror Volume formatted with CSVFS_ReFS
New-Volume `
-StoragePoolFriendlyName 'S2D-Pool' `
-FriendlyName 'Volume-VMStore' `
-FileSystem CSVFS_ReFS `
-Size 10TB `
-ResiliencySettingName Mirror `
-PhysicalDiskRedundancy 2
# Step 5: Provision a Mirror-Accelerated Parity Volume (2 TB Mirror + 18 TB Parity)
New-Volume `
-StoragePoolFriendlyName 'S2D-Pool' `
-FriendlyName 'Volume-Archive' `
-FileSystem CSVFS_ReFS `
-StorageTierFriendlyNames @('PerformanceMirrorTier', 'CapacityParityTier') `
-StorageTierSizes @(2TB, 18TB)
# Step 6: Verify Health and Performance of Physical Disks and S2D Storage Pool
Get-StoragePool -FriendlyName 'S2D-Pool' | Get-PhysicalDisk | Format-Table FriendlyName, MediaType, BusType, OperationalStatus
Get-VirtualDisk | Format-Table FriendlyName, ResiliencySettingName, OperationalStatus, HealthStatus, Size
An enterprise architect is designing a 4-node Storage Spaces Direct (S2D) hyperconverged cluster for a mission-critical database deployment. The network infrastructure utilizes standard Layer 2/Layer 3 switches that do not support Priority-based Flow Control (PFC) or Enhanced Transmission Selection (ETS). Which RDMA networking protocol must be selected for the storage network adapter team?
A storage administrator needs to create a new storage volume on an existing 4-node Storage Spaces Direct cluster. The workload consists of cold, sequential archival datasets requiring maximum raw capacity efficiency while retaining the ability to withstand two simultaneous drive or node failures. Which resiliency configuration should be chosen?
An administrator is designing a hybrid Storage Spaces Direct volume that must deliver high IOPS and low write latency for active virtual machine transactions while simultaneously providing cost-effective capacity for cold, infrequently accessed data. Which volume architecture and file system combination should be deployed?
Which core software component in Windows Server Storage Spaces Direct virtualizes local physical SAS, SATA, and NVMe drives across clustered servers, allowing every node in the cluster to access storage on all other nodes across the RDMA fabric?