Contents
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.
Look for available disks to pool
List the disks on the system. Open a PowerShell window and run command 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.
Erase these disks with PowerShell.
The commands to clear a disk are:
1 2 3 4 5 | 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.
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.
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.
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.
1 2 3 4 5 | $s=Get-StorageSubSystem $disk=Get-PhysicalDisk -FriendlyName PhysicalDisk16 New-StoragePool -FriendlyName Pool1 -StorageSubSystemUniqueId $s.UniqueId -PhysicalDisks $disk |
Add then add additional disks to the pool
1 2 3 | $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 |
Display the new Pool
Now you can display the new Storage Pool and the disks currently in the pool
1 2 3 4 5 | 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.
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.