If you would like to read the other parts in this article series please go to:
- Storage planning for Hyper-V Hosts (Part 1)
- Storage planning for Hyper-V Hosts (Part 2)
- Storage planning for Hyper-V Hosts (Part 4)
- Storage planning for Hyper-V Hosts (Part 5)
- Storage planning for Hyper-V Hosts (Part 6)
Introduction
A key issue with regard to storage planning for Hyper-V hosts is optimizing the performance of the virtualized workloads running on these hosts. In traditional IT environments where physical servers run back-end business applications, the performance of the storage infrastructure is often a limiting factor that results in performance bottlenecks. Today’s business-class servers typically have several processors each with multiple cores, lots of RAM, and gigabit or higher Ethernet adapters. But it’s only been in the last year or so that the price of enterprise-class solid state disks (SSDs) has dropped to the point where they can begin to erode SAS and SCSI hard disk drives (HHDs) from their long-held position on the storage throne. Add Hyper-V virtualization into the mix and suddenly you have multiple virtual servers all trying to utilize the same processing, memory, networking and storage resources available on the host machine, with storage often being the main bottleneck limiting application performance. But in the real world of course there’s also another limiting factor for application performance on your servers, namely cost.
Storage Spaces with storage tiers
One of the key improvements introduced for storage in Windows Server 2012 R2 is storage tiering, an enhancement to Storage Spaces which was itself first introduced in Windows Server 2012. Storage Spaces provides storage virtualization capabilities that allow you to group industry-standard disks (such as Serial ATA or Serial Attached SCSI disks) into storage pools. You can then create virtual disks called “storage spaces” or “spaces” from the available capacity in the pools and provision resilient storage volumes as it is needed. This allows you to make more efficient use of disk capacity, provision storage quickly and easily without impacting users, delegate the administration of storage, and provide cost-effective storage for business-critical applications that make use of low-cost, commodity-based just-a-bunch-of-disks (JBODs).
Beginning with Windows Server 2012 R2 however, Storage Spaces now allows you to create a tiered storage solution that transparently delivers an appropriate balance between capacity and performance that can meet the needs of enterprise workloads. The result is that the workload’s most frequently accessed data (the working set) will automatically be stored on the SSD tier while the rest of the workload’s data is stored on the HDD tier. Storage Spaces accomplishes this by having the file system actively measure the activity of the workload in the background and then automatically and transparently move data to the appropriate tier (SSD or HDD) depending on how hot or cold the data is determined to be. Storage Spaces in Windows Server 2012 R2 can thus ensure that the workload’s hot data is always stored on the SSD tier to take advantage of the high performance of this tier, and it’s cold data on the HDD tier to make use of the high capacity of this tier. If a portion of the data for a particular file becomes hotter (is accessed more frequently), then it gets moved from the HDD tier to the SSD tier. And if the portion of data becomes cooler (is accessed less frequently), then it gets moved from the SSD tier to the HDD tier. This seamless movement of data between tiers is configured by default to happen daily in 1 MB chunks, but you also have the option of configuring the scheduled task for this operation to run as frequently as you want. Data moves between tiers in the background and has minimal impact on the performance of the storage space. If needed, you can use Windows PowerShell to assign certain files to a specific tier, thereby overriding the automatic placement of data based on heat. For example, the parent virtual hard disk file for a collection of pooled virtual machines in a VDI environment might be assigned to the SSD tier to ensure the file always remains pinned to this tier. The result of doing this can be to achieve significant improvements in the boot times of the hundreds or thousands of virtual desktops derived from this parent virtual hard disk.
The advantage of Storage Spaces with storage tiering as far as application performance is concerned is that it allows you to optimize the performance of server workloads while keeping costs under control. While spending thousands or tens of thousands of dollars to replace all your server HHDs with enterprise-class SSDs may sound like a great idea–and it will certainly make your server applications run blazingly fast–it’s actually quite wasteful. The reason is because not every application needs the kind of storage performance that SSDs can bring. By using Storage Spaces with storage tiers for host storage however, you can optimize the performance of your virtualized server workloads by utilizing the best characteristics of SSDs and HDDs in single storage system. The result provides a balance between capacity and performance, and therefore between performance and cost, so you get the best performance for your virtualized applications at the best possible cost.
Where to learn more
There are several places where you can learn more about how to implement Storage Spaces with storage tiers. First, here are some posts you should review on TechNet blogs:
The article “Storage Spaces: How to configure Storage Tiers with Windows Server 2012 R2” on the Ask Premier Field Engineering (PFE) Platforms blog has a good general walkthrough showing how to create tiered storage spaces.
The article “Step-by-step for Storage Spaces Tiering in Windows Server 2012 R2” on Jose Barreto’s blog walks you through how to use Windows PowerShell to create a minimal storage tiering scenario with Hyper-V that uses only one SSD and one HHD. This is really helpful for learning about storage tiering hands-on.
The article “Why R2? Step-by-Step: Automated Tiered Storage with Windows Server 2012 R2” on Keith Mayer’s blog has another helpful walkthrough along with links to various articles including one called “VMware or Microsoft? Reducing VMware Storage Costs WITH Windows Server 2012 Storage Spaces” that may be helpful for readers who work in VMware environments.
The article “What’s New in Storage Spaces in Windows Server” includes a quick summary of storage tiers and other new features of Storage Spaces in Windows Server 2012 R2. There is also a helpful article called “Monitor Storage Tiers Performance in Windows Server 2012 R2” at http://technet.microsoft.com/en-us/library/dn789160.aspx that explains how to optimize and monitor the performance of storage tiers you may want to read through.
Good to read also is the Microsoft Case Study titled “Fujitsu Reduces Cloud Storage Costs by 35 Percent, Creates More Competitive Offering” which describes how Fujitsu deployed a private cloud using Hyper-V clusters and Scale-out File Servers running Windows Server 2012 R2. They also used the storage tiering capabilities of Storage Spaces which increased I/O performance by a factor of up to 8 times.
Finally, the following videos from TechEd North America 2014 may be of interest:
- Delivering Exceptional IOPS/$ with Windows Server 2012 R2
- Best Practices for Deploying Tiered Storage Spaces in Windows Server 2012 R2
- Maximizing Storage Efficiency with Dell and Microsoft Storage Spaces
- Build Your Storage Infrastructure with Windows Server 2012 R2
If you would like to read the other parts in this article series please go to: