1. Provisioning shared storage
Provisioning shared storage using Storage Spaces involves
performing the following steps:
Once you complete the preceding steps, you are ready to create
SMB file shares on the volumes you created. Provisioning SMB file
shares is covered later in the section following this one.
1.1 Creating a storage pool
The first step in provisioning storage is to create one or
more storage pools. Before you create a new storage pool, make sure
that you have
-
At least one available physical disk in your primordial
pool if you plan on creating simple volumes.
-
At least two available physical disks in your primordial
pool if you plan on creating resilient volumes.
-
At least three available physical disks in your primordial
pool if you plan on creating resilient volumes in a failover
cluster containing two file servers.
Figure 1
shows the primordial storage pool on a server named HOST7 in Server
Manager. The Physical Disks tile of the Storage Pools page indicates
that there are three physical disks available. These disks are SAS
disks, and each one has a capacity of 233 GBs. You could create
different pool configurations from these disks—for example:
-
Three storage pools, with each pool created using a single
physical disk. This configuration would allow only simple
(nonresilient) volumes to be created.
-
Two storage pools, with one pool using two of the physical
disks and the second pool using the remaining physical disk. In
this configuration, the first pool would allow you to create
both simple and resilient volumes, while the second pool would
support only the creation of simple volumes.
-
One storage pool that uses all three physical disks to
support the creation of simple or resilient volumes.
To create a new storage pool using Server Manager, perform the
following steps:
-
Launch the New Storage Pool Wizard—for example, by
right-clicking on the Primordial storage pool item shown as
selected in Figure 1.
-
Give your new storage pool a descriptive name, such as
“Archive Pool,” that identifies the purpose of the new pool—for
example, to provide archival storage for presentations and media
files for your company.
-
Select the physical disks in the primordial pool that you
want to assign to your new pool. When you select a physical
disk, you have the option of choosing Automatic or Hot Spare
allocation for the disk. The configuration shown in Figure 2 will make
two physical disks available for the creation of new virtual
disks from the pool, while an additional physical disk will be
kept in reserve as a hot spare in case one of the other two
disks fails.
-
Click Next, and complete the remaining steps of the wizard
to create the new pool.
Alternatively, you could use Windows PowerShell to create the
same storage pool. Begin by using the Get-StoragePool cmdlet to
display a list of storage pools on the server:
PS C:\> Get-StoragePool
FriendlyName OperationalStatus HealthStatus IsPrimordial IsReadOnly
------------ ----------------- ------------ ------------ ----------
Primordial OK Healthy True False
Next, use the Get-PhysicalDisk cmdlet to display a list of
physical disks connected to the server:
PS C:\> Get-PhysicalDisk
FriendlyName CanPool OperationalStatus HealthStatus Usage Size
------------ ------- ----------------- ------------ ----- ----
PhysicalDisk0 False OK Healthy Auto-Select 232.83 GB
PhysicalDisk1 True OK Healthy Auto-Select 232.83 GB
PhysicalDisk2 True OK Healthy Auto-Select 232.83 GB
PhysicalDisk3 True OK Healthy Auto-Select 232.83 GB
Only disks that have their CanPool
property set to True are available for
assigning to new storage pools you create. Use Get-PhysicalDisk
again to assign such disks to a variable:
PS C:\> $phydisks = (Get-PhysicalDisk | where CanPool -eq True)
Next, use the Get-StorageSubSystem cmdlet to display the
available storage subsystem on the server:
PS C:\> Get-StorageSubSystem
FriendlyName HealthStatus OperationalStatus
------------ ------------ -----------------
Storage Spaces on HOST7 Healthy OK
Assign the object that is the output from this command to
another variable:
PS C:\> $subsystem = (Get-StorageSubSystem)
Now use the New-StoragePool cmdlet to create the new storage
pool as follows:
PS C:\> New-StoragePool -FriendlyName "Archive Pool" `
-StorageSubSystemFriendlyName $subsystem.FriendlyName -PhysicalDisks $phydisks
FriendlyName OperationalStatus HealthStatus IsPrimordial IsReadOnly
------------ ----------------- ------------ ------------ ----------
Archive Pool OK Healthy False False
Note that the $subsystem.FriendlyName in
the preceding command represents the value of the
FriendlyName property of the
$subsystem variable. In other words, it
represents the friendly name of the storage subsystem.
Finally, you can use Get-StoragePool again to verify the
result:
PS C:\> Get-StoragePool
FriendlyName OperationalStatus HealthStatus IsPrimordial IsReadOnly
------------ ----------------- ------------ ------------ ----------
Primordial OK Healthy True False
Archive Pool OK Healthy False False
And if you want detailed information about the new storage
pool, you can use this command:
PS C:\> Get-StoragePool -FriendlyName "Archive Pool" | fl *
Usage : Other
OperationalStatus : OK
HealthStatus : Healthy
ProvisioningTypeDefault : Fixed
SupportedProvisioningTypes : {Thin, Fixed}
...