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.
Question received via blog mail:
I picked up a couple ConnectX-2 adapters and a cable off of ebay for cheap (about $300 for everything) to test out SMB Direct. I followed your blog "Deploying Windows Server 2012 with SMB Direct (SMB over RDMA) and the Mellanox ConnectX-2/ConnectX-3 using InfiniBand – Step by Step" and got it working. It sure is fast and easy to setup!
Another technology I was looking to explore was SR-IOV in Hyper-V. When I created the virtual switch using the HCA and enabled single-root IO on it, SMB Direct no longer worked from the host. Are these two technologies (SMB Direct and SR-IOV) mutually exclusive? The Get-SmbServerNetworkInterface does not show an RDMA capable interface after enabling the virtual switch.
I was hoping SMB Direct would work from within a virtual machine. More specifically I was hoping I'd be able to utilize network direct/NDKPI from within the VM and I was using SMB Direct to verify if this was possible or not.
Long story short, is it possible to run SMB Direct from within a VM?
Those are known limitations of RDMA and SMB Direct. If you enable SR-IOV for the NIC, you lose the RDMA capabilities. If you team the RDMA NICs, you lose the RDMA capabilities. If you connect the RDMA NIC to the virtual switch, you lose the RDMA capabilities.
Essentially SMB needs to have a direct line of sight to the RDMA hardware to do its magic. You include any additional layers in between, we can no longer program the NIC for RDMA.
If you want to use RDMA in your Hyper-V over SMB configuration, you need to have a NIC (or two for fault tolerance) used for RDMA and a NIC (or two for fault tolerance) that you connect to the virtual switch.
More details at http://blogs.technet.com/b/josebda/archive/2013/02/04/hyper-v-over-smb-performance-considerations.aspx