Implementing Storage Spaces in Windows Server 2016

By | 03/04/2018

Technology description

Storage Spaces enables cost-effective, highly available, scalable, and flexible storage solutions for business-critical (virtual or physical) deployments. Storage Spaces delivers sophisticated storage virtualization capabilities, which empower customers to use industry-standard storage for single computer and scalable multi-node deployments. It is appropriate for a wide range of customers, including enterprise and cloud hosting companies, which use Windows Server for highly available storage that can cost-effectively grow with demand.

With Storage Spaces the Windows storage stack has been fundamentally enhanced to incorporate two new abstractions:

  • Storage pools. A collection of physical disks that enable you to aggregate disks, expand capacity in a flexible manner, and delegate administration.
  • Storage spaces. Virtual disks created from free space in a storage pool. Storage spaces have such attributes as resiliency level, storage tiers, fixed provisioning, and precise administrative control.

Storage Spaces is integrated with failover clustering for high availability, and it’s integrated with cluster shared volumes (CSV) for scale-out file server deployments. You can manage Storage Spaces through:

  • System Center Virtual Machine Manager
  • Failover Cluster Manager
  • Server Manager
  • Windows PowerShell
  • Windows Management Instrumentation (WMI)

Important functionality Storage Spaces includes the following features:

  • Storage pools. Storage pools are the fundamental building blocks for Storage Spaces. Storage administrators are already familiar with this concept, obviating the need to learn a new model. They can flexibly create storage pools based on the needs of the deployment. For example, given a set of physical disks, an administrator can create one pool (by using all the available physical disks) or multiple pools (by dividing the physical disks as required). Furthermore, to maximize the value from storage hardware, the administrator can combine hard disks and solid-state drives (SSDs) in the same pool, using storage tiers to move frequently accessed portions of files to SSD storage, and using write-back caches to buffer small random writes to SSD storage. Pools can be expanded dynamically by simply adding additional disks, thereby seamlessly scaling to cope with data growth.
  • Resilient storage. Storage Spaces provides three storage layouts (also known as resiliency types):
    • Mirror. Writes data in a stripe across multiple disks while also writing one or two extra copies of the data. Use the mirror layout for most workloads – it helps protect your data from disk failures and provides great performance, especially when you add some SSDs to your storage pool and use storage tiers.
    • Parity. Writes data in a stripe across physical disks while also writing one or two copies of parity information. Use the parity layout for archival and streaming media workloads, or other workloads where you want to maximize capacity and you’re OK with lower write performance.
    • Simple (no resiliency). Writes data in a stripe across physical disks without any extra copies or parity information. Because the simple layout doesn’t provide any protection from disk failures, use it only when you require the highest performance and capacity and you’re OK with losing or recreating the data if a disk fails. You can also use the simple layout when your application provides its own data protection.

    Additionally, Storage Spaces can automatically repair mirror and parity spaces in which a disk fails by using dedicated disks that are reserved for replacing failed disks (hot spares), or more rapidly by using spare capacity on other disks in the pool. Storage Spaces also includes background scrubbing and intelligent error correction to allow continuous service availability despite storage component failures. In the event of a power failure or cluster failover, the integrity of data is preserved so that recovery happens quickly without lost data.

  • Continuous availability. Storage Spaces is integrated with failover clustering, which allows it to deliver continuously available service deployments. One or more pools can be clustered across multiple nodes within a single cluster. Storage spaces are accessed by one node, and the storage will seamlessly fail over to a different node when necessary (in response to failure conditions or due to load balancing). Integration with CSVs permits scale-out access to data.
  • Storage tiers. Storage tiers combine the best attributes of SSDs and hard disk drives (HDDs) by letting you create virtual disks with two tiers of storage – an SSD tier for frequently accessed data, and a HDD tier for less-frequently accessed data. New data is generally written to the HDD tier and then Storage Spaces transparently moves data at a sub-file level between the two tiers based on how frequently data is accessed. As a result, storage tiers can dramatically increase performance for the most used (“hot”) data by moving it to SSD storage, without sacrificing the ability to store large quantities of data on inexpensive HDDs.
  • Write-back cache. Storage Spaces in Windows Server 2016 supports creating a write-back cache that uses a small amount of space on existing SSDs in the pool to buffer small random writes. Random writes, which often dominate common enterprise workloads, are directed to SSDs and later are written to HDDs.
  • Operational simplicity. The Windows Storage Management API, WMI, and Windows PowerShell permit full scripting and remote management. Storage Spaces can also be easily managed through the File and Storage Services role in Server Manager and through System Center Virtual Machine Manager. Storage Spaces also provides notifications when the amount of available capacity in a storage pool hits a configurable threshold.
  • Multitenancy. Administration of storage pools can be controlled through access control lists (ACLs) and delegated on a per-pool basis, thereby supporting hosting scenarios that require tenant isolation. Storage Spaces follows the familiar Windows security model; therefore, it can be fully integrated with Active Directory Domain Services.

For this Demo, I’m using my server.

So lets get started. be patient.. this going to be a long step by step,

01 – Create a storage from six disks on Hyper-v server. (Please Refer to the Pictures)

1 – Hard Drive  and click Add.


2 – Now we need to create a new virtual hard disk. Click new to create new virtual harddisk.


3 – Just Click Next.


4 – You have three options to choose disk type – Fixed Size, dynamically expanding and Differencing. In this case, I am going with dynamically.


5 – Specify Name and location.


6 – You can create a blank virtual hard disk or copy the contents of an existing physical disk.


7 – Summary of your new virtual hard disk which we are creating and click

Okay below to create your new virtual hard disk.


8 – Once Hyper-V completed it process of creating new virtual hard disk, this is how you should see the end result.


02 – Create a storage pool from six disks that are attached to the server

1 – On Dc-CLOUDclick Start, and then click Server Manager.


2 – In Server Manager, in the left pane, click File and Storage Services, and then in the Servers pane, click Storage Pools.


3 – In the STORAGE POOLS pane, click TASKS, and then, in the TASKS drop-down list, click New Storage Pool.


4 – In the New Storage Pool Wizard, on the Before you begin page, click Next.


5 – On the Specify a storage pool name and subsystem page, in the Name text box, type
StoragePool1, and then click Next.


6 – On the Select physical disks for the storage pool page, select the first six disks in the Physical disks list and then click Next.


7 – On the Confirm selections page, click Create.


8 – On the View results page, wait until the task completes, and then click Close.


03 – Create a three-way mirrored virtual disk (need at least five physical disks)

1 –  On DC-CLOUD, in Server Manager, in the Storage Pools pane, click StoragePool1.


2 – In the VIRTUAL DISKS pane, click TASKS, and then, from the TASKS drop-down list, click New Virtual Disk.


3 – Click Okay.


4 – In the New Virtual Disk Wizard, on the Before you begin page, click Next.


5 – On the Specify the virtual disk name page, in the Name text box, type Mirrored Disk, and then click Next23

6 – On the Specify enclosure resiliency page, click Next.


7 – On the Select the storage layout page, in the Layout list, click Mirror, and then click Next. 


8 – On the Configure the resiliency settings page, click Three-way mirror, and then click Next.


9 – On the Specify the provisioning type page, click Thin, and then click Next.


10 – On the Specify the size of the virtual disk page, in the Specify size text box, type 10, and then click Next.


11 – On the Confirm selections page, click Create. 


12 – On the View results page, wait until the task completes.

30Ensure that the Create a volume when this wizard closes check box is selected, and then click Close.

13 – In the New Volume Wizard window, on the Before you begin page, click Next.


14 – On the Select the server and disk page, in the Disk pane, click the Mirrored Disk virtual disk, and then click Next.


15 – On the Specify the size of the volume page, click Next to confirm the default selection.


16 – On the Assign to a drive letter or folder page, in the Drive letter drop-down list, ensure that E is selected, and then click Next.


17 – On the Select file system settings page, in the File system drop-down list, click ReFS, in the Volume label text box, type New Volume, and then click Next.


18 – On the Confirm selections page, click Create.


19 – On the Completion page, wait until the creation completes, and then click Close.


04 – Copy a file to the volume, and verify it is visible in File Explorer

1 – On DC-CLOUD, click Start, on the Start screen, type command prompt, and then press Enter.


2 – When you receive the command prompt, type the following command, and then press Enter:

Copy C:\windows\system32\write.exe E:\


3 – Close Command Prompt.


4 – On the taskbar, click the File Explorer icon.


5 –  In the File Explorer window, in the navigation pane, click New Volume (E:). and Verify that write.exe is visible in the file list. 

42.pngClose File Explorer.

05 – Remove a physical drive to simulate drive failure (Please Refer to the Pictures)

1 – On the host computer, open Hyper-V Manager. the Virtual Machines pane, right-click DC-Server=Win 2016, and then click Settings.


2 – In Settings for DC-Server=Win 2016, in the Hardware pane, click the hard drive that begins with DC-Server=Win 2016Hard Disk 06.


4 – In the Hard Drive pane, click Remove, click OK, and then click Continue.


06 – Verify that the file is still available

1 – Switch to DC-CLOUD SERVER, and On the taskbar, click the File Explorer icon.


2 – In the 
File Explorer window, in the navigation pane, click New Volume (E:).

In the 
file list pane, verify that write.exe is still available. then Close File Explorer.

3 – In 
Server Manager, in the STORAGE POOLS pane, on the menu bar, click Refresh “Storage Pools”.


4 – In the VIRTUAL DISK pane, right-click Mirrored Disk, and then click Properties.


5 – In the Mirrored Disk Properties dialog box, in the left pane, click Health.

49.pngNotice that the Health Status indicates a warning. The Operational Status should indicate one or more of the following: Incomplete, Unknown, or Degraded.

07 – Add a new disk to the storage pool and remove the broken disk

1 – On DC-CLOUD, in Server Manager, in the STORAGE POOLS pane, on the menu bar, click Refresh “Storage Pools”,  In the STORAGE POOLS pane, right-click StoragePool1, and then click Add Physical Disk.


2 – In the Add Physical Disk window, click the first disk in the list, and then click OK.


3 – Right-click Start, and then click Windows PowerShell (Admin).


4 – In Windows PowerShell, type the following command, and then press Enter:


5 – Note the FriendlyName for the disk that shows an OperationalStatus of Lost Communication.


6 – In Windows PowerShell, type the following command, and then press Enter:

$Disk = Get-PhysicalDisk -FriendlyName “diskname”


Replace diskname with the name of the disk that you noted in Step 6.

7 – In Windows PowerShell, type the following command, and then press Enter:

Remove-PhysicalDisk -PhysicalDisks $disk -StoragePoolFriendlyName StoragePool1


8 – In Windows PowerShell, type A, and then press Enter.


9 – In Server Manager, in the STORAGE POOLS pane, on the menu bar, click the Refresh“Storage Pools” button to see the warnings disappear.


Results: After completing this exercise, you will have successfully created a storage pool and added five disks to it. Additionally, you should have created a three-way mirrored, thinly-provisioned virtual disk from the storage pool. You also should have copied a file to the new volume and then verified that it is accessible. Next, after removing a physical drive, you should have verified that the virtual disk was still available and that you could access it. Finally, you should have added another physical disk to the storagepool.

Leave a Reply

Your email address will not be published. Required fields are marked *