This is an overview of the Server Message Block (SMB3) protocol from Microsoft. It offers a short insight into the history of SMB3 creation and development over the years (as the idea is technically around 30 years old). As of Windows Server 2012, the protocol got new features: SMB Transparent Failover, SMB Scale Out, SMB Multichannel, SMB Direct, SMB Encryption, VSS for SMB file shares, SMB Directory Leasing, SMB PowerShell. In Windows Server 2016, it also got Pre-authentication integrity and Cluster dialect fencing. The post concentrates on RDMA-capable SMB Direct and MPIO-utilizing SMB Multichannel and their benefits. Also, it is an introduction to a series of tests aimed at creating SMB 3.0 File Servers in an unusual way.
This is an overview of the Server Message Block (SMB3) protocol from Microsoft. It offers a short insight into the history of SMB3 creation and development over the years (as the idea is technically around 30 years old). As of Windows Server 2012, the protocol got new features: SMB Transparent Failover, SMB Scale Out, SMB Multichannel, SMB Direct, SMB Encryption, VSS for SMB file shares, SMB Directory Leasing, SMB PowerShell. In Windows Server 2016, it also got Pre-authentication integrity and Cluster dialect fencing. The post concentrates on RDMA-capable SMB Direct and MPIO-utilizing SMB Multichannel and their benefits. Also, it is an introduction to a series of tests aimed at creating SMB 3.0 File Servers in an unusual way.
Server Message Block, or SMB, is an application-layer network protocol, developed by Microsoft mainly for shared access to files, serial ports and different communications between network nodes. Initially, it was designed in IBM to create a networked file system for DOS, but then Microsoft took the lead, renaming SMB into CIFS (Common Internet File System) and developing it further. The second version – SMB 2.0, was introduced in Windows Vista with a whole bunch of new features, improved performance and compatibility.
Microsoft introduced SMB 3.0 (initially SMB 2.2) with Windows Server 2012, as the new version of its Server Message Block protocol. This version added a few significant features, like SMB Direct (SMB over RDMA) and SMB Multichannel (multiple connections per SMB session). They were intended to enhance functionality and performance, especially for virtualized data centers. Along with NFS, SMB is now among the most widespread network protocols.
It is interesting for us in particular, because SMB 3.0 file share is great for storing VMs, especially for Small and Medium Businesses and ROBO scenarios. Having a high-performance file server with enough disk capacity, it is possible to avoid purchasing a dedicated storage array, because there is no need to provision the host server with local storage for VM use. Bandwidth limitations restrict the maximum number of VMs, thus the solution is out of Enterprise league, but still good enough for SMB and ROBO. Microsoft also added its own Virtual Machine Manager to the protocol, making it easier for typical Windows administrators to handle the setup.
The latest developments in SMB technology were SMB 3.0.2 (in Windows Server 2012 R2) and 3.1.1 (Windows Server 2016), which were dedicated to security enhancements.
Free Microsoft Hyper-V Server 2012 R2 requires SMB protocol for work, so when one urgently needs an SMB 3.0 file share for a test, POC or just to prove a point, there is a way to get one for free. However, it means violating EULA, which is unacceptable. We strongly recommend that you don’t repeat the processes we went through in these two tests, their purpose was solely checking if it works:
SMB 3.0: Basic File Server on Free Microsoft Hyper-V Server 2012 R2
SMB 3.0: Failover (Clustered) File Server on Free Microsoft Hyper-V Server 2012 R2