天天看點

SMB Direct(加快檔案伺服器通路速度)

SMB Direct Requirements:

DMA NICs

Windows feature

QOS policy

Traffic class

RDMA (Remote Direct Memory Access) is based on Direct Memory Access

Remote DMA, or RDMA, is a technology that allows two different computers with RDMA network adapters to write data from the memory of one machine to the memory of another without involving the processor or even the processor cache of either computer.

The data goes from RAM to NIC to NIC to RAM. In the beginning of this course I said that if you wanted to transfer larger files faster you needed to buy a faster NIC, this is a faster NIC.

RDMA有三個實作版本,iWARP, RDMA over Converged Ethernet (RoCE)和Infiniband (IB)。由于融合網絡架構的流行,iWARP和RoCE使用場景更加廣泛。

代表iWARP的是Chelsio的T520-CR

代表RoCE的是Mellanox的ConnectX-3

兩者都支援RDMA,且都是兩個萬兆接口。

運作powershell

安裝 Data-Center-Bridging

Install-WindowsFeature Data-Center-Bridging

為 SMB Direct 設定網絡 QoS 政策(445 is the port number for Microsoft file sharing, or SMB. the priority that I'm going to assign it is a 3.)

New-NetQosPolicy "SMB" -NetDirectPortMatchCondition 445 -PriorityValue8021Action 3

建立新的NetQosPolicy

Enable-NetQosFlowControl -Priority 3

針對其他流量禁用流控制

Disable-NetQosFlowControl -Priority 0,1,2,4,5,6,7

Now we can apply this policy to the correct adapter(将網絡 QoS 政策應用于目标擴充卡。)

Enable-NetAdapterQos -InterfaceAlias "Slot 2*"

If you need to know your interface alias you can use the Get-NetIPInterface to list all of your network interfaces and it will show the interface alias for each one.

Get-NetIPInterface

建立流量類别并為 SMB Direct 指定 30% 的最高帶寬。 設定類名稱将為“SMB” 。And specify ETS as the Algorithm that will apply that.

New-NetQosTrafficClass "SMB" -Priority 3 -BandwidthPercentage 30 -Algorithm ETS

If your network adapter supports RDMA then all you need to do is make sure it's enabled on that NIC.

擷取網絡擴充卡清單來識别目标擴充卡(以查詢哪些是RDMA 擴充卡)

SMB Direct(加快檔案伺服器通路速度)

And specifically I'm looking for the vEthernet with the name of the virtual switch that my VM connects to. And I'm going to enable RDMA for the vEthernet, or the virtual network adapter that connects my server to the virtual switch named Adapter 1

Enable-NetAdapterRDMA "vethernet (Adapter 1)"

Now if you find that after creating and enabling these policies that things stop working the way they should or situations get worse removing these policies uses command very similar to the ones used to create the objects.

Remove-NetQosTrafficClass "SMB"

Remove-NetQosPolicy "SMB"