Storage Spaces on Windows: software RAID without the marketing
Build a pool, choose mirror or parity, understand why parity writes are slow, and know the cases where Storage Spaces is the wrong tool.
- Build
- 26300.9457 / 26100.33650
- Edition
- Pro (26H2) / Server
- Architecture
- x64
- Support
- Documentation (E1)
- Evidence
- E1Official documentation
- Verified
- 2026-10-29
- Page type
- Task
The short answer
Section titled “The short answer”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).
Before you start
Section titled “Before you start”- 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.
Get-PhysicalDisk | Select-Object FriendlyName,MediaType,BusType,Size,CanPool,HealthStatusCanPool : False usually means the disk holds a partition (including a stray recovery partition). Clear it deliberately, or use a different disk.
Build a mirrored pool
Section titled “Build a mirrored pool”# 1. pool$disks = Get-PhysicalDisk -CanPool $trueNew-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 + filesystemGet-VirtualDisk DataMirror | Get-Disk | Initialize-Disk -PartitionStyle GPTNew-Partition -DiskNumber (Get-VirtualDisk DataMirror | Get-Disk).Number -UseMaximumSize -DriveLetter DFormat-Volume -DriveLetter D -FileSystem NTFS -NewFileSystemLabel Data -Confirm:$falseFor parity, change -ResiliencySettingName to Parity. Expect much lower write throughput and plan the workload accordingly.
Resiliency settings that matter
Section titled “Resiliency settings that matter”| 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.
Check health and rebuilds
Section titled “Check health and rebuilds”Get-StoragePool | Select-Object FriendlyName,HealthStatus,OperationalStatus,Size,AllocatedSizeGet-VirtualDisk | Select-Object FriendlyName,ResiliencySettingName,HealthStatus,OperationalStatusGet-PhysicalDisk | Select-Object FriendlyName,HealthStatus,OperationalStatus,UsageA 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”.
Where Storage Spaces is wrong
Section titled “Where Storage Spaces is wrong”- 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 pool
Section titled “ReFS on a 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.
Related
Section titled “Related”Lab boundary
Section titled “Lab boundary”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.