Skip to content

Storage Spaces on Windows: software RAID without the marketing

Verified 2 min read

Build a pool, choose mirror or parity, understand why parity writes are slow, and know the cases where Storage Spaces is the wrong tool.

Tested onPro (26H2) / Server · Build 26300.9457 / 26100.33650 · x64
E1
Build
26300.9457 / 26100.33650
Edition
Pro (26H2) / Server
Architecture
x64
Support
Documentation (E1)
Evidence
E1Official documentation
Verified
2026-10-29
Page type
Task

Storage Spaces pools physical disks and presents one or more virtual disks with simple, mirror or parity resiliency.

  • Mirror is fast and survives a disk failure at 50% usable capacity.
  • Parity uses capacity efficiently and is slow for writes — it computes parity on every write.
  • Simple has no redundancy; it is a volume manager, not a RAID.

It is the right tool for bulk data on Windows. It is not a replacement for a hardware RAID controller in a database server, and it is not Storage Spaces Direct (which is a clustered, server-grade feature).

  • Use dedicated disks. Adding a disk with data destroys it.
  • Prefer identical disks per pool; mixed sizes waste capacity or reduce resiliency.
  • Do not pool the boot disk.
  • Have a backup. Resiliency protects against a dead disk, not against deletion or ransomware.
Terminal window
Get-PhysicalDisk | Select-Object FriendlyName,MediaType,BusType,Size,CanPool,HealthStatus

CanPool : False usually means the disk holds a partition (including a stray recovery partition). Clear it deliberately, or use a different disk.

Terminal window
# 1. pool
$disks = Get-PhysicalDisk -CanPool $true
New-StoragePool -FriendlyName DataPool -StorageSubSystemFriendlyName 'Windows Storage*' -PhysicalDisks $disks
# 2. virtual disk (mirror, fixed provisioning is predictable)
New-VirtualDisk -StoragePoolFriendlyName DataPool -FriendlyName DataMirror `
-ResiliencySettingName Mirror -Size 2TB -ProvisioningType Fixed
# 3. volume + filesystem
Get-VirtualDisk DataMirror | Get-Disk | Initialize-Disk -PartitionStyle GPT
New-Partition -DiskNumber (Get-VirtualDisk DataMirror | Get-Disk).Number -UseMaximumSize -DriveLetter D
Format-Volume -DriveLetter D -FileSystem NTFS -NewFileSystemLabel Data -Confirm:$false

For parity, change -ResiliencySettingName to Parity. Expect much lower write throughput and plan the workload accordingly.

Setting Effect
PhysicalDiskRedundancy How many disks may fail (1 or 2)
NumberOfColumns Stripes across disks; more columns = more throughput, fewer disks can fail
Interleave Stripe unit size; defaults are usually fine
ProvisioningType Fixed predictable, Thin over-commits

Two-way mirror on two disks gives you one disk of usable capacity and survives one failure. Three-way mirror needs five disks for the same usable capacity. Do the arithmetic before buying disks.

Terminal window
Get-StoragePool | Select-Object FriendlyName,HealthStatus,OperationalStatus,Size,AllocatedSize
Get-VirtualDisk | Select-Object FriendlyName,ResiliencySettingName,HealthStatus,OperationalStatus
Get-PhysicalDisk | Select-Object FriendlyName,HealthStatus,OperationalStatus,Usage

A degraded virtual disk still serves data but has no redundancy left. Replace the failed disk and let the pool repair; do not remove a second disk “to see what happens”.

  • Boot volume — not supported on client Windows.
  • Database with random writes — parity is unsuitable; mirror or hardware RAID.
  • Mixed USB drives — removable and unreliable; a single glitch can drop the pool.
  • Storage Spaces Direct — that is a different feature requiring a cluster and certified hardware; do not follow S2D guides for a desktop pool.

ReFS on a Storage Spaces volume gives you integrity streams and faster repair in some scenarios, but:

  • it is not bootable on client Windows;
  • some applications (and some backup tools) behave differently;
  • it is not a substitute for backups.

Use NTFS unless you specifically need ReFS features.

E1. The cmdlets are Microsoft-documented; the lab’s virtual machines have not had a Storage Spaces pool created for this page, so no pool performance is claimed.

Sources