This month, my team of fellow IT Pro Technical Evangelists are publishing a series of articles on Why Windows Server 2012 R2? that highlights the key enhancements and new capabilities that we're seeing driving particular interest in this latest release of our Windows Server operating system in the field. This article has been updated now that Window Server 2012 R2 is generally available. After reading this article, be sure to catch the full series at:
I’ve been speaking with lots of IT Pros over the past several weeks about the new storage improvements in Windows Server 2012 R2, and one feature in particular has gained a ton of attention: Automated Storage Tiers as part of the new Storage Spaces feature set.
In this article, I'll briefly discuss the benefits of Storage Tiers in Windows Server 2012 R2, and then I’ll step through the process of building an Automated Tiered Storage lab for the purpose of evaluating and demonstrating the functionality of Storage Tiers in a Windows Server 2012 R2 lab environment.
Storage Tiers in "R2" enhances Storage Spaces by combining the best performance attributes of solid-state disks (SSDs) with the best cost:capacity attributes of hard disk drives (HDDs) together. It allows us to create individual Storage Spaces LUNs ( called “Virtual Disks” – not to be confused with Hyper-V “Virtual Hard Disks” or VHDs ) that span SSD and HDD “tiers”. Once a tiered LUN is created, Windows Server 2012 R2 analyzes disk IO requests on-the-fly and keeps the most frequently accessed data blocks located on speedy SSDs while moving less frequently accessed data blocks to HDDs – all transparently to applications and users.
If you're new to Storage Spaces, check out this introduction to Storage Spaces, which was originally introduced in Windows Server 2012, in the following article:
Even if you're not necessarily in a "Windows-centric" environment today, Storage Spaces may still be able to help you reduce your overall Storage Costs. Check out one example of how Storage Spaces can reduce storage costs for VMware environments in the following article:
You can learn more about Storage Improvements in Windows Server 2012 R2 in Chapter 3 of our latest free eBook, Introducing Windows Server 2012 R2.
Most organizations tend to frequently access only a small subset ( generally 15% – 20% ) of their overall data storage, and Storage Tiers provide an ideal solution to keep all data online and accessible while providing super-quick access to the most frequently accessed data – without administrators needing to manually move files between separate tiers of storage. When using storage tiers, you only need to invest in enough SSD storage to hold your most frequently accessed data blocks, so this helps to dramatically reduce storage costs over investing in large amounts of SSDs. In fact, the cost-performance ratio of tiered Storage Spaces also appears to obviate the need for expensive 15K SAS hard disks – by investing in a small amount of SSD for performance-driven needs and less-expensive high-capacity 7.2K hard disks for capacity-driven needs, I’m not seeing a practical need for more-expensive 15K disks – further helping to reduce costs.
For production environments, you’ll definitely want to invest in SSDs and HDDs to gain the cost-performance benefits of Storage Tiers. But, when learning, evaluating and demonstrating Storage Tiers in a lab environment, you don’t necessarily need all these physical disks to just show Storage Tiers functionality. Instead, with a Hyper-V VM, a set of Virtual Hard Disks and a bit of PowerShell “magic”, you can create a Storage Tiers demo lab environment.
Here’s the steps to begin building a Storage Tiers demo lab without physical disks …
After hot-adding the virtual SCSI hard disks above, you may notice that the Windows Server 2012 R2 guest operating system running inside the VM sees the new VHDs as SAS disks with an “Unknown” media type, as shown below using the Server Manager tool.
Virtual SCSI Hard Disks showing “Unknown” Media Type
Well, if the Windows Server 2012 R2 guest operating system doesn’t see these disks as “SSD” and “HDD” disks, it won’t know how to tier storage properly across them. And, that’s where PowerShell comes in! Using PowerShell 4.0 in Windows Server 2012 R2, we can create a new Storage Pool and specifically tag the 250GB virtual hard disks with an SSD media type and tag the 500GB virtual hard disks with an HDD media type. This will allow us to build a tiered storage lab environment with "simulated" SSD and HDD tiers.
Note: If we have real SSD and HDD disks in a physical lab environment, the SSD and HDD disk media types would be detected automatically and shown in Server Manager. In such a physical lab environment, we could simply use the Tasks > New Storage Pool menu choice in the Physical Disks box on the screen above to create a new Storage Pool instead of requiring the PowerShell code below.
At this point, if you jump back into the Server Manager tool and refresh the Storage Pools page, you should see a new Storage Pool created and the Media types for each disk in the pool listed appropriately as shown below.
Server Manager – New Tiered Storage Pool
To demonstrate creating a new Storage LUN that uses your new Tiered Storage Pool, follow these steps:
Congratulations! You now have a new Tiered Storage Virtual Disk and Volume. Any disk IO that is written-to or read-from this new volume will automatically be processed across Storage Tiers based on frequency of access. Keep in mind that this demo configuration is intended for functional demos only – because we’re not really using SSD disks in this demo configuration, you shouldn’t expect to be able to see the same performance as in a production environment that is using real SSD and HDD disks.
Great question! If there’s particular files in your environment that you absolutely know are always frequently accessed, such as a Parent VHD that is used for multiple linked Child VHDs via Differencing Disks, an IT Pro can specifically pin those files to the SSD tier. In this manner, Windows Server 2012 R2 doesn’t have to detect frequent access to keep the data blocks associated with those files in the fastest tier – they will always be there!
To pin a file to the SSD tier, use the new Set-FileStorageTier PowerShell cmdlet, as follows:
Set-FileStorageTier -FilePath <PATH> -DesiredStorageTier $tier_ssd
To un-pin a file from the SSD tier, use the new Clear-FileStorageTier PowerShell cmdlet, as follows:
Clear-FileStorageTier –FilePath <PATH>
Be sure to check out these additional resources:
Keith Mayer is a Senior Technical Evangelist at Microsoft, focused on helping ISV partners leverage the Azure cloud platform. Keith has over 20 years of experience as a technical leader of complex IT projects, in diverse roles, such as Network Engineer, IT Manager, Technical Instructor and Consultant. He has consulted and trained thousands of customers and partners worldwide on design of enterprise technology solutions.
Keith is currently certified on several Microsoft technologies, including Private Cloud, System Center, Hyper-V, Windows, Windows Server, SharePoint and Exchange. He also holds other industry certifications from VMware, IBM, Cisco, Citrix, HP, CheckPoint, CompTIA and Interwoven.
You can contact Keith online at http://aka.ms/AskKeith.