Microsoft Storage Spaces Direct Ready Nodes that are configured in the fully-converged network topology with Mellanox ConnectX-4 LX and Mellanox ConnectX-5 EX adapters require DCB configuration on the ToR switches and Quality of Service (QoS) configuration in the host OS. Also, the high-performance all NVMe configurations using Qlogic network adapters may also need the DCB and QoS configurations described in this section.
Ensure that the QoS policies are configured to prioritize the SMB traffic related to the storage adapters. Ensure that the QoS configuration in the host OS matches the QoS configuration that is performed in Network switch configuration.
The below table provides an overview of QoS priorities and the required state for the set of priorities.
QoS Priority | State |
0,1,2,4,6,7 | Disabled |
3 | Enabled |
5 | Enabled |
Perform the following steps to configure QoS in the host OS.
# Variables for the scenario
$StorageAdapters = @('SLOT 1 PORT 1','SLOT 1 PORT 2')
#New QoS policy with a match condition set to 445 (TCP Port 445 is dedicated for SMB)
#Arguments 3 and 5 to the PriorityValue8021Action parameter indicate the IEEE 802.1p #values for SMB and cluster traffic.
New-NetQosPolicy -Name 'SMB' –NetDirectPortMatchCondition 445 –PriorityValue8021Action 3
New-NetQosPolicy 'Cluster' -Cluster -PriorityValue8021Action 5
#Map the IEEE 802.1p priority enabled in the system to a traffic class
New-NetQosTrafficClass -Name 'SMB' –Priority 3 –BandwidthPercentage 50 –Algorithm ETS
New-NetQosTrafficClass -Name 'Cluster' –Priority 5 –BandwidthPercentage 1 –Algorithm ETS
#Configure flow control for the priorities shown in the above table
Enable-NetQosFlowControl –Priority 3,5
Disable-NetQosFlowControl –Priority 0,1,2,4,6,7
#Enable QoS for the Mellanox network adapter ports.
foreach ($port in $StorageAdapterName) {
Enable-NetAdapterQos –InterfaceAlias $port
}
#Disable DCBX Willing mode
Set-NetQosDcbxSetting -Willing $false