Create Storage Pool on Storage Spaces Standard

Windows Storage Spaces pool is a data structure that groups disks into a pool.  Virtual Disks are carved out of disks within a pool.  Disk failures are also repaired within a storage pool.

This procedure applies to Windows Server 2012 R2. For the following example, we will not include all the disks available.  Disks can easily be added to a pool but are very difficult to later remove.

Note: This procedure is performed on a single computer system. The pool information is stored and managed on the storage system, which is shared by all the computers in the cluster.

Look for available disks to pool

List the disks on the system.  Open a PowerShell window and run command Get-PhysicalDisk

Powershell Get-PhysicalDisk

Clearing a Disk

If there are disks which have previous data or partitions, these will show as “False” in the CanPool column.  This can also cause unhealthy Storage Pools and Virtual Disks to be reported.

List disks with old data

Erase these disks with PowerShell.

Warning: Disk 0 is the Operating System and should not be modified with PowerShell.  There are other disks which should not be added to a pool such as Witness Disks and disks used for other purposes.

The commands to clear a disk are:

Get-PhysicalDisk -FriendlyName PhysicalDisk1 | get-Disk | Set-Disk -isReadOnly $false

Get-PhysicalDisk -FriendlyName PhysicalDisk1 | get-Disk | Set-Disk -isOffline $false

Get-PhysicalDisk -FriendlyName PhysicalDisk1 | get-Disk | Clear-Disk –RemoveData

Where PhysicalDisk1 in this case is the target disk to clear off.

The disk is cleared

Note: PhysicalDisk0 above is the Operating System internal disk and must be left out of the pool and not modified.

Reference the Argon System’s article for removing legacy data and pools entitled Clearing Disks on Microsoft Storage Spaces Direct

Create the Pool

First display the available disks listed in the order that they are arranged in the hardware by disk slot.

List physical disks sorted

When we create the pool, we will only select a portion of the disk drives initially.  We will reserve at least one hard drive as a quorum disk.  This can be reclaimed later and then added to the pool.

Note: This operation can also easily be performed from a GUI via Server Manager.

In the operations below, we create a Storage Spaces Pool with a single disk, then add more disks individually to the pool.  This procedure can be used to later expand or add disks to the pool.

Start by creating the pool adding one disk to the pool.


$disk=Get-PhysicalDisk -FriendlyName PhysicalDisk16

New-StoragePool -FriendlyName Pool1 -StorageSubSystemUniqueId $s.UniqueId -PhysicalDisks $disk

Add then add additional disks to the pool

$disk=Get-PhysicalDisk -FriendlyName PhysicalDisk15,PhysicalDisk14,PhysicalDisk13,PhysicalDisk12,PhysicalDisk11 Add-PhysicalDisk -StoragePoolFriendlyName Pool1 -PhysicalDisks $disk

$disk=Get-PhysicalDisk -FriendlyName PhysicalDisk10,PhysicalDisk9,PhysicalDisk8,PhysicalDisk7,PhysicalDisk6 Add-PhysicalDisk -StoragePoolFriendlyName Pool1 -PhysicalDisks $disk

Create Pool Commands

Display the new Pool

Now you can display the new Storage Pool and the disks currently in the pool

Get-StoragePool -FriendlyName Pool1

Get-StoragePool -FriendlyName Pool1 | Get-PhysicalDisk

Get-StoragePool -FriendlyName Pool1 | Get-PhysicalDisk | ft FriendlyName, SlotNumber, MediaType

Server Manager

The storage pool and disks can be seen from Server Manager under File and Storage Services à Storage Pools.   The disks associated with the Storage Pool “Pool1” are listed on the bottom right.

Server Manager - Show Storage Pool

Disks can be added from this GUI as well by Right-Click on the “Pool1” storage pool and selecting “Add Physical Disk”.   Managing Pools and Virtual Disks are simpler from the GUI if scripting is not required.

Additional References

Microsoft’s Storage Spaces Overview provides an introduction to the software defined storage solution for Windows Server 2016.

Was this article helpful?

Submit a Comment

Your email address will not be published. Required fields are marked *