When I first learned what was possible with SMB 3.0 in Windows Server 2012 R2, I was a little taken aback. I wondered if I’d misheard what was being said about the new capabilities.
The first server I was responsible for managing was a file server. I knew there were some things that file servers were great at, such as hosting folders and documents. And of course, there were some things I would never use them for, such as hosting virtual machine (VM) files and disks or SQL Server database files.
For example, with virtualization, I either needed to store the VM configuration files and virtual hard disk on the virtualization host, or I needed to store them on a special SAN device. The same applied to application data, such as SQL Server database files. When building a SQL Server, I could configure the database files and logs to be stored locally on the computer that hosted the SQL Server instance or on a SAN that the server connected to via iSCSI or Fibre Channel.
The basic rule of thumb I’d learned was this: If I wanted to store these files on a location other than the server, I needed to have an argument with someone about the cost of provisioning a SAN. Without a connection through iSCSI or Fibre Channel to a SAN, the VM or SQL Server solution wasn’t going to work.
Now, with Windows Server 2012 and Windows Server 2012 R2, much of what I’d taken to be unalterable truth about the types of workloads I could store on file servers can be thrown out the window. Windows Server 2012 introduced SMB 3.0, which improves performance so dramatically that it’s possible to store VM and database files on a shared folder that is hosted on a server running the operating system.
There are a couple of caveats, of course. You’re much better off configuring a Scale-Out File Server then just using a traditional file share to host this sort of data. A Scale-Out File Server is a file server that you deploy on a Windows Server Failover Clustering cluster; the server is designed to support server-application and VM workloads. The scale-out shares are accessible to each cluster node in the cluster, so the available bandwidth to the scale out file share is increased in comparison to a traditional single file share host. Scale-out shares are also highly available, so application data and VMs remain available even if one of the servers that hosts the Scale-Out File Server fails.
SMB 3.0 has other important technologies baked in, including SMB Multichannel and SMB Direct. SMB Multichannel allows bandwidth aggregation and network fault tolerance in scenarios that involve multiple network paths between an SMB 3.0 client and the SMB 3.0 file server. SMB Direct takes advantage of network adapters that have Remote Direct Memory Access (RDMA) capability, to increase throughput and reduce latency without increasing CPU utilization.
Learning about SMB 3.0 in Windows Server 2012 R2 has changed how I viewed the capabilities of the traditional file server. It has also given me a less expensive alternative to an iSCSI- or Fibre Channel-connected SAN, when considering how to move workloads off a virtualization host or a server that hosts a SQL Server instance. To explore Windows Server 2012 R2’s SMB (and virtualization) capabilities yourself, visit http://www.microsoft.com/en-us/server-cloud/solutions/storage.aspx#fbid=-2s7iNZnD88 and http://www.microsoft.com/en-us/server-cloud/solutions/virtualization.aspx#fbid=-2s7iNZnD88.