In previous versions of Windows Server software, failover clustering wasn't always up to the task, whether it was a restriction on the number of servers or file sharing constrained by only allowing one node at a time to have direct access to a disk.
Windows Server 2012 failover clustering tries to alleviate the pain. A new version of Cluster Shared Volumes now allows direct simultaneous access for up to 64 cluster nodes to SMB-based file shares. This new functionality leverages improvements to SMB 3.0 and truly makes Windows Server 2012 Failover Clusters an enterprise class solution.
Scale-out file servers
Traditional file sharing on a Windows failover cluster uses four different cluster resources: an IP address and network name for the virtual server, a physical disk to store the files and an SMB share to provide users with a connection point. Prior to Windows Server 2012, only one node in the cluster could access the disk associated with the virtual file server and the SMB file share. This limited the potential I/O throughput in the cluster to just one node when accessing files shares on that volume.
In Windows Server 2012, failover clustering can be configured with the scale-out file server role to provide continuous availability of SMB-based file shares. This allows multiple nodes to have simultaneous high speed direct I/O access to disks associated with SMB shares on cluster shared volumes. Load balancing across the cluster is achieved with a new cluster resource called the Distributed Network Name (DNN), which uses a round robin scheduling algorithm to select the next node in the cluster for SMB connections.
Scale-out file servers also leverage CSVs to store the SMB shares. As new disks are added to the CSV, they can be associated with different SMB shares to further balance the workload across the cluster nodes. Hyper-V and SQL Server 2012 can also benefit from scale-out file servers by storing VHDs and databases on SMB-based file shares providing continuous availability.
There are some restrictions associated with scale-out file servers limiting the functionality they can use. For example, with scale-out file servers you cannot use data deduplication or the File Server Resource Manager. The matrix in figure 1 provides a summary of what features are available for traditional and scale-out file servers.
Diving deeper into SMB 3.0 and CSV 2.0
SMB 3.0 and CSV 2.0 are the technologies behind the new scale-out file server. SMB 3.0 has been enhanced to provide SMB transparent failover functionality, which allows interrupted file operations to reconnect when workloads move or servers fail. SMB Multichannel allows multiple NICs to be used for SMB traffic increasing throughput and reliability. SMB Direct allows memory-to-memory transfers between servers with remote DMA-capable NICs. SMB Encryption provides end-to-end packet encryption of SMB traffic.
The main improvement to CSV 2.0 includes a single consistent file namespace called the CSV File System. It provides high speed direct I/O access by multiple simultaneous servers. CSV 2.0 also offers BitLocker Encryption support and VSS Backup for SMB-based shares without having to redirect I/O across the network like Windows Server 2008 R2.
It is possible to optimize CSVs for read-intensive applications by enabling the CSV Read Cache. This can be accomplished by using two configuration settings, SharedVolumeBlockCacheSizeInMB and CsvEnableBlockCache. The first setting is used to control the size of the cache in megabytes of RAM that buffer read requests, and the second enables a per disk private read cache to optimize particular volumes. You can use the following PowerShell cmdlets to enable and set the read cache:
(Get-Cluster).SharedVolumeBlockCacheSizeInMB = 512 - sets read cache to 512MB Get-ClusterSharedVolume "Cluster Disk 1" | Set-ClusterParameter CsvEnableBlockCache 1
Implementing scale-out file servers
Now that you are familiar with scale-out file servers, here is my seven-step recipe for implementing them on a new Windows Server 2012 failover cluster.
- Install File Server Role via Server Manager
- Install Failover Clustering Feature via Server Manager
- Use Disk Management to configure shared disks (bring online, initialize, format with NTFS)
Note -- do not assign drive letters to disks to be used with CSV
- Validate and Create Failover Cluster -- identical to Windows Server 2008/R2
- Add Disks to CSV (use Failover Cluster Manager, right-click disk and select Add to CSV)
- Add File Server Role (use Failover Cluster Manager, right-click Role, Configure Role…)
- Add File Share with continuous availability (right-click newly added File Server, Add File Share)
During the configuration of the File Server in step six, be sure to select the scale-out file server when choosing the type of file server, as seen in figure 2.
When adding the File Share in step seven, be sure to select "SMB Share -- Applications," as seen in figure 3. The New Share Wizard will then prompt you for the CSV volume and share name to create the share.
By using Windows Server 2012 failover clustering with scale-out file servers, it is now possible to support enterprise class environments with thousands of users. New functionality in CSV 2.0 and SMB 3.0 provide the foundation for continuous available file shares that offer high performance and reliability. Additional new clustering features -- such as cluster-aware updating, cluster-aware task scheduler, cluster resource startup priorities, dynamic quorum management and built-in NIC teaming -- reflect Microsoft's continued emphasis on failover clustering technology.
ABOUT THE AUTHOR
Bruce Mackenzie-Low, MCSE/MCSA, is a systems software engineer with HP providing third-level worldwide support on Microsoft Windows-based products, including Clusters and Crash Dump Analysis. With more than 20 years of computing experience at Digital, Compaq and HP, Bruce is a well-known resource for resolving highly complex problems involving clusters, SANs, networking and internals.