Windows Server 8: Part 5.1—Clustering Fun
July 10, 2012 1 Comment
Slalom consultant and accomplished Microsoft systems developer Derek Martin sheds light on Windows Server 8 (WS8) through his insightful blog series focusing on his research within the technical preview documentation, personal experimentation with the product, and thoughts of how they can apply to the real world as soon as it is released to manufacturing (RTM).
I was thinking that I’d just go through each of the technical preview documents, call out the stuff that I thought was cool, break it down into easily readable prose, go in order, and keep each post short and sweet. Then I realized a lot of the documents bounce around, so I took a little bit of time and decided to condense and do them in rough order of feature. My point, I’m trying to paint a picture using the limited documents available, as well as my own encounters as I try each of them out.
The long and short of it is this: in order to build the private cloud—and that consists of more than just virtual machines—you have to have high availability, orchestration (some of which is provided by Windows itself, and some by System Center 2012 which is my next series) and the ability to constantly move resources around, whatever they may be, based on current conditions—which requires scalability and monitoring. No feature in Windows Server is more fundamental (except maybe storage) than clustering services. Clustering has been available for a long time, but until 2008R2 you had a great deal of work cut out for you to set them up and keep them running. Now in WS8, we expand extensively the flexibility and robustness of the tools to create and manage clusters, starting of course with full PowerShell support, great built in tooling with Server Manager and a slew of new wizards (I counted six new wizards around just clustering) and extended support tools like System Center 2012. But tooling is only part of the story; we need to scale clustering to big—really, really big—to build a private cloud.
Hyper-V and File Server clustering got the most attention in this release and it makes sense—it is the underpinning of everything else in our environment. A lot of those improvements are going to be described in their constituent articles, but I’m going to highlight some key clustering components that were enablers to their updates in this article:
Continuously Available File Share Storage
Without a doubt, the biggest piece of all of the clustering changes is the full and native support of all things SMB2, the industry standard for storage. By placing their development efforts here, we now have solutions available to us that we could only dream of previously. Here are a rundown of the SMB features, as per the documentation:
- SMB3 transparent failover. You can now more easily perform hardware or software maintenance of nodes in a clustered file server by moving file shares between nodes without interrupting server applications that are storing data on these file shares. Also, if a hardware or software failure occurs on a cluster node, server message block 2 (SMB2) transparent failover lets file shares fail over to another cluster node without interrupting server applications that are storing data on these file shares.
- SMB3 multichannel. This improvement allows aggregation of network bandwidth and network fault tolerance if multiple paths are available between the SMB2 client and the SMB2 server. Server applications can then take advantage of all available network bandwidth and be resilient to a network failure.
- SMB3 direct. This improvement uses a special type of network adapter that has remote direct memory access (RDMA) capability and can function at full speed with very low latency, while using very little CPU. For server roles or applications such as Hyper-V or SQL Server, this allows a remote file server to have performance that compares to local storage.
- SMB3 performance counters for server applications. Performance counters provide detailed information about I/O size, I/O latency, IOPS, and so on. This lets a SQL Server database administrator or Hyper-V administrator analyze the performance of the SMB2 file shares where their data is stored.
- SMB3 performance optimizations. The SMB2 client and SMB2 server have been optimized for small, random read/write I/O, which is common in server applications such as SQL Server online transaction processing (OLTP). In addition, a large maximum transmission unit (MTU) is enabled by default, which significantly enhances performance in large sequential transfers, such as with a SQL Server data warehouse, a database backup or restore, or the copying or deployment of virtual hard disks.
- SMB3 management with Windows PowerShell. With Windows PowerShell, you can use the command line to manage SMB2 on the file server, end to end.
- SMB3 remote file storage. Hyper-V can now store virtual machine files (including configuration files, virtual hard disk files, and snapshots) in shared folders that use the SMB2 protocol. Support for storing database files in shared folders that use the SMB protocol was introduced in SQL Server 2008 R2.
These underpinnings speak to all that follows.