Since the last few Windows Server 2012 IT camps a few discussions have sprouted regarding “Thin provisioning” in Storage Spaces. a new feature of Windows Server 20912.  Those discussions mainly revolved around 3 things:

  1. What is Thin provisioning?
  2. How will that bring me value?
  3. And, Why should I care?

Thin Provisioning and Storage Spaces?

Thin provisioning or “just-in-time allocations” is a method of optimizing the efficiency with which the available disk space is utilized and the ability to reclaim storage that is no longer needed (also known as trim).

Thin provisioning is designed to address several issues with traditional models for provisioning storage used by enterprises:

  • Unreliable forecasting of future storage needs makes it hard to pre-allocate storage capacity to meet changing demand.
  • Pre-allocated storage is often underused, which leads to inefficiencies and unnecessary expenditures.
  • Managing an enterprise storage system can often add considerable overhead to the overall cost of managing an IT infrastructure

It’s all part of Windows Server 2012 Storage Spaces that operates by allocating disk storage space in a flexible manner based on the space required at any given time. It means is that you can let the server/application/users think they have all the storage they needs, but only purchase disk to keeps pace with total actually consumed storage.

You can also pool together commodity storage devices so you can provision storage as you need it. Storage Spaces is a highly available storage solution that has all the power and flexibility of a SAN but is considerably cheaper and also easier to manage.

Storage Spaces can virtualize storage to create what are called storage pools. A storage pool is an aggregation of unallocated space on physical disks installed in or connected to servers (These disks could be installed inside servers on your network or within just-a-bunch-of-disks (JBOD) enclosures). Storage pools are flexible and elastic, allowing you to add or remove disks from the pool as your demand for storage grows or shrinks.

Once you’ve created a storage pool using Storage Spaces, you can provision storage from the pool by creating virtual disks. A virtual disk behaves exactly like a physical disk except that it can span multiple physical disks within the storage pool. Virtual disks can host simple volumes or volumes with resiliency (mirroring or parity) to increase the reliability or performance of the disk. A virtual disk is sometimes called a LUN.

Storage Spaces is fully remoteable and scriptable. This increases the Operational simplicity. Management is permitted through the Windows Storage Management API, WMI, and Windows PowerShell. And, Storage Spaces can be easily managed through the File Services role in Server Manager.

Configuring a storage pool

Configuring a storage pool using Storage Spaces requires that you have at least one unallocated physical disk available (a disk with no volumes on it). If you want to create a mirrored volume, you’ll need at least two physical disks; a parity volume requires at least three physical disks. Pools can consist of a mixture of disks of different types and sizes. Table 3-3 shows the different types of disks supported by Storage Spaces. These disks could be installed inside servers on your network or within just-a-bunch-of-disks (JBOD) enclosures.

Supported drive types

  • SATA – Serial Advanced Technology Attachment
  • SCSI – Small Computer System Interface
  • iSCSI – Internet Small Computer System Interface
  • SAS – Serial Attached SCSI
  • USB – Universal Serial Bus

 

 

Monitoring

It's very important to mention that thin provisioning will not prevent storage shortages. Applications will break if storage is not added to the thinly provisioned volumes in time.  After you deploy thin-provisioned volumes to application and data servers, and threshold notification and resource exhaustion settings are configured by the storage administrator. The system administrator and the storage administrator MUST monitor and respond to related events. look for the following threshold notification warning events in Event Viewer.

Event ID General Information
144

Threshold notification without additional information

145 Threshold notification without specific information
146 Threshold notification with used LUN capacity and available LUN capacity information
147 Threshold notification with used LUN capacity and available pool capacity information
148 Threshold notification with used pool capacity and available LUN capacity information
149 Threshold notification with used pool capacity and available pool capacity information
150 Permanent resource exhaustion threshold is reached

 

Home lab setup

After Lab #2 We have our 2 physical machines and 2 virtual Domain controllers (one on each physical hosts)

VMhost10a and VMhost10b.  We have them configured as follows:  

  • VMhost10a – physical     
    • IP Address: 192.168.11.5
    • Subnet Mask: 225.225.225.0
    • Gateway: none
    • DNS1: 192.168.11.100
    • DNS2: 192.168.11.110         
  • VMHost10B – physical, 192.168.11.10
    • IP Address: 192.168.11.10
    • Subnet Mask: 225.225.225.0
    • Gateway: none
    • DNS1: 192.168.11.100
    • DNS2: 192.168.11.110

ITCAMP-DC1 and ITCAMP-DC2.  We have them configured as follows:

  • ITCAMP-DC1 – Virtual
    • IP Address: 192.168.11.100
    • Subnet Mask: 225.225.225.0
    • Gateway: none
    • DNS1: 192.168.11.100
    • DNS2: 192.168.11.110
  • ITCAMP-DC2 – Virtual
    • IP Address: 192.168.11.110
    • Subnet Mask: 225.225.225.0
    • Gateway: none
    • DNS1: 192.168.11.110
    • DNS2: 192.168.11.100

ITCAMP-SMB and ITCAMP-SCVMM. We have them configured as follows:

  • ITCAMP-SMB – Virtual
    • IP Address: 192.168.11.150
    • Subnet Mask: 225.225.225.0
    • Gateway: none
    • DNS1: 192.168.11.110
    • DNS2: 192.168.11.100
  • ITCAMP-SCVMM – Virtual
    • IP Address: 192.168.11.130
    • Subnet Mask: 225.225.225.0
    • Gateway: none
    • DNS1: 192.168.11.110
    • DNS2: 192.168.11.100

lab 2 end

 

In my home Lab I collected a few removable drives that will be configured as a storage Pool.  If you have a third machine that can become a physical ITCAMP-SMB use it.  It will makes the shared storage exercises and clustering labs a lot more straight forward.  I also included a gateway to the internet to facilitate updating and remote access to the lab.  But there is no real reason why you can’t keep it as described above.

DSC_0006

So my Lab now looks like the following diagram:

image

In this lab we will achieve the following:

  • Create a storage pool & thin disk
  • Create iSCSI Disk & iSCSI target
  • Configure iSCSI access from hosts

Watch the following 13 minute video on configuring our Storage Space into a Pool and iSCSI disks to prepare for our next lab where we will setup a failover cluster.

 

If you have other scenarios you would like me to explore and post please leave me a comment.

As always, the easiest way to learn is to download the evaluation and start getting your hands dirty. 

you can find the evaluation download here.  ( http://aka.ms/ws2012eval)

Cheers!

Signature

Pierre Roman, MCITP, ITIL | IT Pro Advisor
Twitter | Facebook | LinkedIn