Note: This script is provided as a preview for customers with no warrenties expressed or implied. Please provide questions/feedback on this guide and scripts to

2016/04/27 Update: Thanks Jason Gerend for reporting that the script did not reserve enough capacity for parallel rebuild. I have also relaxed the dedupe requirement to only apply if you are provisoning a backup pool, and set the storage pool to auto-retire failed disks.

2015/10/27 Update: Thanks John Yatborough for finding these bugs! Fixed column count selection logic with non-enclosure aware deployments, and fixed minimum number of storage enclosures required to support enclosure awareness with triple mirrored deployments and two physical disk redundancy.

First, the script will determine all the shared SAS storage available to be claimed for Storage Spaces. During execution, the script will prompt the user for the resiliency settings and the percentage of space to be used for backup/archival data. These figures should be determined in advance to and will be based on the expected workloads the storage will handle. The script will take this data and then develop a storage spaces configuration consisting of one or more storage pools and multiple virtual disks. The script will finish by confirming the proposed configuration to the user, and then creating the configuration on top of the physical hardware.


For full details see the wiki at



  1. Simply run the script with no arguments from any storage node in a not-yet-clustered configuration.
  2. After this script has finished running, the user should create a cluster from the nodes with access to the shared storage and add all the virtual disks the script created to cluster shared volumes.