How to Use Windows Server Storage Spaces for Software-Defined Storage

Historically, building a redundant storage array for a Windows Server required purchasing an expensive hardware RAID controller. If the controller failed, recovering the data was notoriously difficult. Microsoft solved this by introducing Storage Spaces, a robust Software-Defined Storage (SDS) solution built directly into Windows Server. It allows you to group cheap, commodity hard drives into a single logical pool and create highly resilient virtual disks on top of them.

Step 1: Understand the Terminology

Before configuring Storage Spaces, you must understand its three layers:

  1. Physical Disks: The actual SATA, SAS, or NVMe drives installed in your server (or connected via a JBOD enclosure). They must be blank and unformatted.
  2. Storage Pool: A logical grouping of those physical disks. You aggregate their capacity into one large bucket.
  3. Virtual Disk (Storage Space): A volume created out of the Storage Pool. This is where you define the RAID-like resiliency (Mirroring, Parity, or Simple). This Virtual Disk is then formatted with NTFS or ReFS and presented to Windows as a standard drive letter (e.g., the D: drive).

Step 2: Create the Storage Pool

  1. Open Server Manager.
  2. In the left pane, click on File and Storage Services, then click Volumes, and finally click Storage Pools.
  3. In the “Storage Pools” pane, right-click the empty space and select New Storage Pool…
  4. The New Storage Pool Wizard will open. Click Next.
  5. Give your pool a descriptive name (e.g., “Data_Archive_Pool”). Click Next.
  6. The wizard will display all unformatted physical disks attached to the server. Check the boxes next to the drives you want to include in this pool.
  7. Click Next, then Create. Wait for the process to finish and click Close.

Step 3: Create a Virtual Disk

Now that you have a massive pool of raw storage, you need to carve out a usable disk and define how it protects against hardware failure.

  1. In Server Manager, click on the Storage Pool you just created.
  2. In the bottom pane (labeled “Virtual Disks”), click Tasks and select New Virtual Disk…
  3. Select your Storage Pool and click Next. Name the Virtual Disk (e.g., “Company_Shares”).
  4. Select the Storage Layout:
    • Simple: Stripes data across all disks for maximum performance, but offers zero fault tolerance. If one drive dies, you lose everything.
    • Mirror: Writes data to two or three drives simultaneously. Excellent performance and high reliability, but costs 50% of your total capacity. (Requires at least 2 disks).
    • Parity: Spreads data and parity information across three or more disks (similar to RAID 5). Highly space-efficient, but suffers from slow write performance. (Requires at least 3 disks).
  5. Select Mirror (the best balance for general file servers) and click Next.
  6. Choose the Provisioning type. Fixed uses all the space immediately (faster). Thin only uses space as files are written (more flexible). Select Fixed and click Next.
  7. Specify the size of the Virtual Disk (e.g., 4 TB) and click Create.

Step 4: Format the Volume

As soon as you finish creating the Virtual Disk, the “New Volume Wizard” will automatically launch. This is exactly the same process as formatting a standard C: drive.

  1. Select the new Virtual Disk and click Next.
  2. Assign it a drive letter (e.g., S:) and click Next.
  3. Choose the File System. For Storage Spaces, ReFS (Resilient File System) is highly recommended over NTFS, as it includes built-in protection against data corruption (bit rot).
  4. Click Create.

Your users can now save data to the S: drive, completely unaware that Windows is silently duplicating their files across multiple physical hard drives in the background.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.