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:
- Create one or more storage pools.
- Create virtual disks from your storage pools.
- 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:
- Launch the New Storage Pool Wizard-for example, by right-clicking on the Primordial storage pool item.
- 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 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 ------------ ----------------- ------------ ------------ 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} ...
In this tutorial:
- Storage and File Services
- Deploying Storage Spaces
- Fixed vs. thin provisioning
- Planning a Storage Spaces deployment
- Implementing Storage Spaces
- Provisioning and managing shared storage
- Creating virtual disks
- Creating volumes
- Provisioning SMB shares
- Types of SMB shares
- Managing shared storage
- Configuring iSCSI storage
- Configuring iSCSI Target Server
- Creating iSCSI virtual disks
- Using iSCSI Initiator