A blog by Jose Barreto, a member of the File Server team at Microsoft.
All messages posted to this blog are provided "AS IS" with no warranties, and confer no rights.
Information on unreleased products are subject to change without notice.
Dates related to unreleased products are estimates and are subject to change without notice.
The content of this site are personal opinions and might not represent the Microsoft Corporation view.
The information contained in this blog represents my view on the issues discussed as of the date of publication.
You should not consider older, out-of-date posts to reflect my current thoughts and opinions.
© Copyright 2004-2012 by Jose Barreto. All rights reserved.
Follow @josebarreto on Twitter for updates on new blog posts.
In this post, I'm providing a reference to the most relevant content related to Windows Server 2012 that is related to the File Server, the SMB 3.0 features and its associated scenarios like Hyper-V over SMB and SQL Server over SMB. It's obviously not a complete reference (there are new blog posts every day), but hopefully this is a useful collection of links for Windows Server 2012 users.
Summaries of SMB 3.0 features in Windows Server 2012:
Articles on File Storage for Application Servers (Hyper-V over SMB, SQL Server over SMB):
Articles on SMB Transparent Failover and SMB Scale-Out:
Articles on SMB Direct (SMB over RDMA) and SMB Multichannel:
Articles on Failover Clustering related to File Server Clusters:
Articles on other SMB 3.0 features and capabilities:
Windows Server File Server Tips and Questions:
Private Cloud Solution Architecture:
TechNet Radio (includes Video) with Bob Hunt and Jose Barreto:
Knowledge Base articles (Support KBs) related to Windows Server 2012 SMB 3.0:
Older posts and videos:
•Windows Server 2012 Beta - Test cases for Hyper-V over SMB (includes PowerShell examples) link doesn't work.
The link was fixed. Thanks for catching that.
Windows Server 2012 includes a new feature called SMB Multichannel, part of the
This is awesome Jose! Thanks!
Great link collection about Windows Server 2012 and SMB 3.0 !
Thanks a lot.
Cheers, James van den Berg
Any chance we'll see some articles on what to expect for performance, how to troubleshoot, and optimize?
I'm running in to a performance problem when using Hyper-V over SMB 3 and I'm not sure how to go about troubleshooting it. I'm using Mallanox connectx 2 Infiniband adapters and I can pass data at 3GBs so I have really fast interlinks but from my tests, SMB great for large sequential transfers (3GBs) where I max out the PCIe bus (8x) but on smaller transfers 4-512k performance and iOPs is really heavily impacted and writes speed falls off a cliff (20-40MBs).
@Dustyny1 - Have you baselined the storage subsystem on the server side? The most common bottleneck I have seen is the backend storage subsystem. If the storage does not perform locally, SMB 3.0 will not go beyond that.
I apologize if this isn't the right place for posting such questions: I have a small business network and a client app written in .NET. Multiple users use this app to insert and query in rapid succession into and from an access database which is located on a network drive; a connection is opened once before the inserts and querying begins. The app then uses the oledbdataadapter.fill and .update methods with datatable, and I'm compiling with VS 2010 Express with updated references afaik.
The client works well with a single user whether he uses SMB 1.0 or 2.0, and it works fine with multiple users if they are all configured to use SMB 1.0. However, in a mixed environment of SMB 1.0 and 2.0 (which so far is unavoidable since we have XP machines we sometimes use) we often see the following exception thrown by oledbdataadapter:
"Your network access was interrupted. To continue, close the database, and then open it again."
Once in a while, the dataadapter will also just return an empty table. Our server is Windows Server 2010 and is using SMB 2.1. Any help is appreciated.
To be clear, if your server is using SMB 2.1 (Windows Server 2008 R2) but your client is using SMB 1.0 (Windows XP), the negotiated session will be SMB 1.0.
Having said that, you seem to be having a specific issue with shared access to the a single file. SMB does allow for this, but the application should not open the files exclusively and locks are sometimes recommended to avoid common concurrent access issues. This is not diferent from having two instances of an application in the same computer accessing a file in a local disk.
I haven't used Access in a long while and I'm not sure what the expected behavior is. I would suggest you post the question to an access blogger or forum.
This is a very comprehensive and superb post with all the necessary links to knowing/understanding SMB 3.0. I have a question on NIC Teaming which I hope I can get some answers on. In one of the video presentation (link in the blog post) there is mention of a NIC team that can be set as Active/Standby. When the Active is down, the standby kicks in and becomes Active. And when the original Active is recovered, the team automatically fails back to the original Active. Can this automatic fallback be prevented? i.e.: I do not want the team to switch the Active back to the original NIC, but keep the Standby running as Active, until such time when the Standby experiences a problem. (something similar to using the Smart Load Balancing/Auto-Failback Disable (SLB/AfD), when teaming NICs using the BroadCOM suite on Windows 2008 R2).
I talked to the PM working with NIC teaming about your question.
Unfortunately, there is no way to prevent failback in the NIC teaming situation you mentioned.
I am interested in the client side of the equation also. In particular, I am looking for more information on the transparent caching (Windows 7/8) features and how they interact on the client side with the new SMB 3.0 services.
Can you point me in the right direction to getting more internal details - possibly a contact who might be familiar with the internal details and performance of the various interactions?
Thanks for the update. I wish you'd mirror this post to TechNet Wiki
I'm having strange behaviours. I've done a NIC teaming with LACP to provide channel aggregation to multiple protocols, I've disabled RSS because not all NICs are RSS capable, but file transfers between 2 servers stay at 2gb/s even if I have teamed 4 nics.
is this expected?
You should be able to use NIC Teaming and SMB Multichannel and achieve the aggregated throughput of the team if you're using LACP and the right type of teaming (Address Hash). You might want to try increasing the number of SMB connections per RSS NIC (also applies to team) by using:
Set-SmbClientConfiguration -ConnectionCountPerRssNetworkInterface 8