Windows 7 / Getting Started

Provisioning and managing shared storage

Provisioning and managing shared storage is an important part of the system administrator's job. In the previous tutorial, you learned how Storage Spaces, a new feature of Windows Server 2012 file servers, can enable you to implement low-cost, flexible storage solutions using commodity-based disk hardware. This lesson demonstrates how to use Storage Spaces to provision, manage, and maintain shared storage using both Server Manager and Windows PowerShell.

Provisioning shared storage

Provisioning shared storage using Storage Spaces involves performing the following steps:

  1. Create one or more storage pools.
  2. Create virtual disks from your storage pools.
  3. Create volumes on your virtual disks.

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.

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.

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:

  1. Launch the New Storage Pool Wizard-for example, by right-clicking on the Primordial storage pool item.
  2. 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.
  3. 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 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.
  4. 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
------------   -----------------  ------------  ------------
Primordial     OK 		  Healthy 	True

IsReadOnly
----------
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
------------    -------   -----------------   ------------ -----
PhysicalDisk0   False OK  Healthy 	      Auto-Select  232.83
PhysicalDisk1   True OK   Healthy 	      Auto-Select  232.83
PhysicalDisk2   True OK   Healthy 	      Auto-Select  232.83
PhysicalDisk3   True OK   Healthy 	      Auto-Select  232.83

Size
----
GB
GB
GB
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
------------   -----------------  ------------  ------------
Archive Pool   OK 		  Healthy 	False

IsReadOnly
----------
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
------------   -----------------   ------------   ------------
Primordial     OK 		   Healthy 	  True
Archive Pool   OK 		   Healthy 	  False

IsReadOnly
----------
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}
...
[Previous] [Contents] [Next]