Hi Folks -
In my previous post, I listed my favorite storage improvements in Windows Storage Server 2012 R2. In the next few blog posts, I will focus on providing a bit more detail on these storage improvements. This post covers the protocol layer changes, exploring the improvements we’ve made to SMB and the iSCSI Target Server.
SMB 3.0, which was delivered with Windows Server 2012 in September 2012, included enhancements such as SMB Direct, SMB Multichannel, and SMB Scale Out. These improvements made SMB a compelling means of storing Hyper-V VMs and SQL Server databases on cost-effective, easily deployed file shares, thereby reducing the need for more costly and complicated Fibre Channel storage.
The newly refined version of SMB 3.0 that is included in Windows Storage Server 2012 R2 builds on many of the innovations we introduced a year ago to provide an even better protocol for the storage of application data. New and improved features in the latest version of SMB include:
- Automatic rebalancing of scale-out file server clients, which improves scalability and manageability for scale-out file server clusters by reducing redirection traffic between file server nodes. This is achieved by tracking SMB client connections per file share (instead of per server) and redirecting those clients to the cluster node with the best access to the volume used by the file share.
- Improved performance of SMB Direct (SMB over RDMA), which increases efficiency for workloads with small I/Os, such as an OLTP database hosted within a VM. Performance improvements are most evident when using higher speed network interfaces, such as 40 Gbps Ethernet and 56 Gbps InfiniBand.
- Improved SMB event messages, which now contain more detailed and helpful information. This makes troubleshooting easier and reduces the need to capture network traces or enable more detailed logging.
- VHDX files as shared storage for guest clustering, which simplifies the creation of guest clusters by enabling the use of shared VHDX files for storage inside the VMs. The coolest way to use this feature is by storing the VHDX in a Cluster Shared Volumes (CSV) to enable resilient shared access to the data using scale-out file shares. (For more information on this capability, see Deploy a Guest Cluster Using a Shared Virtual Hard Disk.)
- Hyper-V Live Migration over SMB, which enables you to perform a live migration of VMs by using SMB 3.0 as a transport. This allows you to take advantage of SMB Direct and SMB Multichannel to perform high-speed migrations with low CPU utilization.
- Improved SMB bandwidth management, which enables you to control bandwidth usage by configuring bandwidth limits for three different SMB traffic types: default, live migration, and virtual machine.
- Support for multiple SMB instances on a scale-out file server, which improves scalability and reliability by providing an additional instance dedicated to Cluster Shared Volume (CSV) traffic on the cluster node.
- SMB 1.0 as an optional feature, which improves security and reduces patching by removing SMB 1.0 features such as the legacy computer browser service and Remote Administration Protocol (RAP).
More information on what’s new for SMB in Windows Server 2012 R2 can be found here.
iSCSI Target Server
Microsoft began including the iSCSI Target Server as an optional add-on for Windows Storage Server 2003 and included it in-the-box with Windows Unified Data Storage Server 2003. After eight years of continuous improvements, the iSCSI Target Server is mature, stable, and reliable.
Now that the iSCSI Target Server is included in all editions of Windows Server 2012, it’s a great way to provide raw block storage for application servers. The iSCSI Target can also be used to boot an entire farm of diskless HPC servers or diskless datacenter servers, with a regular network adapter from a single master operating system image, leveraging differencing VHDs to create hundreds of iSCSI boot images on the fly.
Enhancements to the latest version of the iSCSI Target Server include:
- Full compatibility with the VHDX virtual hard disk format, which enables 64TB virtual disks, helps protect against data corruption during power failures, and optimizes structural alignment of dynamic and differencing disks to prevent performance degradation on new, large-sector physical disks.
- An improved (and included in-the-box) SMI-S provider, which enables you to manage iSCSI Target Server deployments by using System Center Virtual Machine Manager 2012 SP1.
- New Windows PowerShell cmdlets, including those for exporting and importing configuration files—a major potential timesaver—and for disabling remote management of an iSCSI Target Server.
- Optimizations to enable disk-level caching, which can improve performance when you have Force Unit Access (FUA)-capable back-end disks or JBODs behind the iSCSI Target Server. The FUA bit tells the target to immediately send the data to the media surface and to not buffer it through a cache. Previously, the iSCSI Target Server always set the disk cache bypass flag (i.e., enabled FUA) on all back-end writes, so the disk-cache would be bypassed. Now, it sets the disk cache bypass flag only when the issuing application explicitly requests that the data be written-through to the disk. This will enable higher performance on FUA-capable storage systems that have write-cache because the Windows I/O subsystem won't instruct the storage to prevent caching.
- Improved scalability and resiliency, including an increase in the maximum number of sessions per target server (from 276 to 544) and an increase in the maximum number of logical units per server (from 128 to 256). We test 264 virtual machines residing on a Windows Server iSCSI Target cluster and simulate an unexpected failover event. If there are any blue screens on the Hyper-V host running the virtual machines, we consider it a failure. (Remounting the storage and reconnecting to 264 iSCSI initiators with only a slight pause in I/O is no simple feat.)
- Local mount functionality has been removed, which still works for VHD files but not for VHDX files. (A simpler approach is to use the new Export-IscsiVirtualDiskSnapshot cmdlet to create an associated virtual disk and then access it through any initiator. This is feasible because iSCSI Target Server now supports a “loopback initiator”—basically, the ability of the initiator and target to be on the same computer.)
A great blog article that goes into more depth on enhancements to the iSCSI Target Server can be found here.
With SMB 3.0 and the iSCSI Target, whether you need file or block access, Windows Server 2012 R2 is ready to deliver. The new SMB storage enhancements make it a top-tier storage protocol—and make Windows Storage Server 2012 R2 a great storage solution for hosting your VMs and SQL databases. The iSCSI Target is just as easy to quickly deploy and configure, without advanced skills in storage management.
I can’t wait to see new storage solutions based on these technologies come to market later this year!
Scott M. Johnson
Senior Program Manager
Windows Storage Server