SMB Direct
In Windows Server steht ein Feature namens „SMB Direct“ zur Verfügung, das die Verwendung von Netzwerkadaptern mit der Funktion für direkten Remotespeicherzugriff (Remote Direct Memory Access, RDMA) unterstützt. Netzwerkadapter mit RDMA können bei voller Geschwindigkeit mit geringerer Latenz arbeiten, ohne die CPU-Auslastung zu beeinträchtigen. Für Arbeitsauslastungen wie Hyper-V oder Microsoft SQL Server bedeutet dies, dass ein Remotedateiserver einem lokalen Speicher gleichkommt. SMB Direct ist unter Windows Server 2012 und zukünftigen Iterationen standardmäßig automatisch konfiguriert und aktiviert.
Die Verwendung von SMB Direct ermöglicht Folgendes:
- Erhöhter Durchsatz: nutzt den gesamten Durchsatz von Hochgeschwindigkeitsnetzwerken, in denen die Netzwerkkarte die Übertragung großer Datenmengen mit Leitungsübertragungsrate koordiniert.
- Geringe Latenz: Schnelle Antworten auf Netzwerkanforderungen lassen Remotedateispeicher wirken, als wären sie direkt angefügter Blockspeicher.
- Geringe CPU-Auslastung: verwendet bei der Datenübertragung über das Netzwerk weniger CPU-Zyklen, sodass mehr Leistungsreserven für Serveranwendungen erhalten bleiben.
Sie können %%amp;quot;SMB Direct%%amp;quot; in einem Failovercluster verwenden. Sie müssen jedoch sicherstellen, dass die für den Clientzugriff verwendeten Clusternetzwerke für %%amp;quot;SMB Direct%%amp;quot; geeignet sind. Die Failover-Clusterunterstützung ermöglicht die Verwendung mehrerer Netzwerke für den Clientzugriff zusammen mit Netzwerkadaptern, die sowohl RSS-fähig (empfangsseitige Skalierung) als auch RDMA-fähig sind.
Hinweis
Sie können %%amp;quot;SMB Direct%%amp;quot; auf dem Hyper-V-Verwaltungsbetriebssystem verwenden, um Hyper-V über SMB zu unterstützen und um Speicher für einen virtuellen Computer bereitzustellen, für den der Hyper-V-Speicherstapel verwendet wird. RDMA-fähige Netzwerkadapter werden jedoch nicht direkt für einen Hyper-V-Client bereitgestellt. Wenn Sie eine Verbindung zwischen einem RDMA-fähigen Netzwerkadapter und einem virtuellen Switch herstellen, sind die virtuellen Netzwerkadapter des Switches nicht RDMA-fähig.
Anforderungen
Für %%amp;quot;SMB Direct%%amp;quot; gelten die folgenden Anforderungen:
- Ein oder mehrere Netzwerkadapter mit RDMA-Funktion.
- Mindestens zwei Computer, auf denen mindestens eines der folgenden Betriebssysteme ausgeführt wird:
- Windows Server 2012 und höher
- Windows 10 Enterprise und höher
- Windows 10 Education und höher
- Windows 10 Pro for Workstations und später
- Windows 10 Pro 22H2 (sauber installiert, ohne Upgrade ausgehend von älteren Versionen) und höher.
Hinweis
Die Windows 10- und Windows 11-Familien sind auf Clients beschränkt und können nicht als SMB-Direct-Server fungieren.
SMB Multichannel
Bei %%amp;quot;SMB Multichannel%%amp;quot; handelt es sich um das Feature zum Erkennen der RDMA-Funktion von Netzwerkadaptern, um %%amp;quot;SMB Direct%%amp;quot; zu aktivieren. Ohne %%amp;quot;SMB Multichannel,%%amp;quot; verwendet SMB reguläres TCP/IP für die RDMA-fähigen Netzwerkadapter (alle Netzwerkadapter stellen zusammen mit dem neuen RDMA-Stapel einen TCP/IP-Stapel bereit).
Mit SMB Multichannel erkennt SMB, ob ein Netzwerkadapter über RDMA-Funktionen verfügt und stellt mehrere RDMA-Verbindungen für diese eine Sitzung her (zwei pro Schnittstelle). Dies ermöglicht SMB die Nutzung des hohen Durchsatzes, der geringen Latenz sowie der geringen CPU-Auslastung, die RDMA-fähige Netzwerkadapter bieten können. Das Feature bietet zudem eine Fehlertoleranz, wenn Sie mehrere RDMA-Schnittstellen verwenden.
Ab Windows Server 2016 Sie können RDMA-fähige Netzwerkadapter unter Verwendung von Switch Embedded Teaming (SET) kombiniert werden. Nachdem mindestens eine RDMA-Netzwerkverbindung erstellt wurde, wird die für die ursprüngliche Protokollverhandlung verwendete TCP/IP-Verbindung nicht mehr verwendet. Für den Fall, dass die RDMA-Netzwerkverbindungen fehlschlagen, wird die TCP/IP-Verbindung jedoch aufrecht erhalten.
Durch Deaktivieren von SMB Multichannel wird auch SMB Direct deaktiviert. Da SMB Multichannel Netzwerkadapterfunktionen erkennt und bestimmt, ob ein Netzwerkadapter RDMA-fähig ist, kann SMB Direct nicht vom Client verwendet werden, wenn SMB Multichannel deaktiviert ist.
SMB-Verschlüsselung
Von Windows Server 2022 und Windows 11 an unterstützt SMB Direct jetzt Verschlüsselung. Zuvor wurde durch Aktivieren der SMB-Verschlüsselung die direkte Datenplatzierung deaktiviert, sodass die RDMA-Leistung so langsam wie TCP wurde. Jetzt werden Daten vor der Platzierung verschlüsselt, was zu einer relativ geringfügigen Leistungsbeeinträchtigung führt, während Paketdatenschutz mit Schutz durch AES-128 und AES-256 hinzugefügt wird. Weitere Informationen zum Konfigurieren der SMB-Verschlüsselung finden Sie unter SMB-Sicherheitserweiterungen.
Darüber hinaus unterstützen Windows Server-Failovercluster jetzt eine detaillierte Steuerung der Verschlüsselung der knoteninternen Speicherkommunikation für freigegebene Clustervolumes (Cluster Shared Volumes, CSV) und die Speicherbusebene (Storage Bus Layer, SBL). Dies bedeutet, dass Sie sich bei Verwendung von Direkte Speicherplätze und SMB Direct dafür entscheiden können, die Ost-West-Kommunikation innerhalb des Clusters selbst zu verschlüsseln, um die Sicherheit zu erhöhen.
Deaktivieren und Aktivieren von SMB Direct-Features
Der SMB-Client erkennt und verwendet automatisch mehrere Netzwerkverbindungen, wenn eine entsprechende Konfiguration identifiziert wird. Da SMB Direct standardmäßig aktiviert ist, muss es nach der Deaktivierung bei Bedarf manuell erneut aktiviert werden.
In der Regel müssen Sie SMB Direct nicht deaktivieren. Falls Sie es dennoch wünschen, können Sie die folgenden Windows PowerShell-Befehle ausführen.
Um SMB Direct zu deaktivieren, geben Sie Folgendes ein:
Disable-WindowsOptionalFeature -Online -FeatureName SMBDirect
Um SMB Multichannel auf Serverseite zu deaktivieren, geben Sie Folgendes ein:
Set-SmbServerConfiguration -EnableMultiChannel $false
Um SMB Multichannel auf Clientseite zu deaktivieren, geben Sie Folgendes ein:
Set-SmbClientConfiguration -EnableMultiChannel $false
Wenn Sie RDMA für eine spezielle Schnittstelle deaktivieren möchten, geben Sie Folgendes ein:
Disable-NetAdapterRdma <name>
Wenn Sie RDMA für eine alle Schnittstellen deaktivieren möchten, geben Sie Folgendes ein:
Set-NetOffloadGlobalSetting -NetworkDirect Disabled
Wenn Sie RDMA auf dem Client oder auf dem Server deaktivieren, kann RDMA von den Systemen nicht verwendet werden. Network Direct ist der interne Name für die grundlegende Netzwerkunterstützung für RDMA-Schnittstellen unter Windows Server.
Führen Sie das folgende Cmdlet aus, um den aktuellen Konfigurationszustand von SMB Direct zu überprüfen:
Get-WindowsOptionalFeature -Online -FeatureName SMBDirect
Testen von SMB Direct
Sie können die Leistung von SMB Direct testen, indem Sie den Durchsatz beim Kopieren einer großen Datei messen. Stellen Sie vor dem Testen mithilfe von PowerShell sicher, dass der Netzwerkadapter RDMA unterstützt.
Geben Sie auf der Serverseite Folgendes ein:
Get-SmbServerNetworkInterface
Geben Sie auf der Clientseite Folgendes ein:
Get-SmbClientNetworkInterface
Führen Sie, nachdem Sie überprüft haben, ob der Netzwerkadapter RDMA-fähig ist, den folgenden Test aus:
- Weitere Informationen zum Deaktivieren von RDMA auf dem Netzwerkadapter finden Sie unter Aktivieren und Deaktivieren von SMB Direct.
- Messen Sie die Zeit, die zum Kopieren einer umfangreichen Datei ohne SMB Direct erforderlich ist.
- Aktivieren Sie RDMA auf dem Netzwerkadapter erneut, kopieren Sie dieselbe Datei, und vergleichen Sie dann die beiden Ergebnisse.
- Wenn Sie die Auswirkungen der Zwischenspeicherung vermeiden möchten, sollten Sie die folgenden Schritte ausführen:
- Kopieren Sie eine große Datenmenge (mehr Daten, als der Arbeitsspeicher verarbeiten kann).
- Kopieren Sie die Daten zweimal. Nutzen Sie dabei die erste Kopie als Übung, und messen Sie dann beim zweiten Kopiervorgang die Zeit.
- Starten Sie den Server und den Client vor jedem Test neu, um sicherzustellen, dass gleiche Bedingungen vorherrschen.
Darüber hinaus können Sie die Leistungsindikatoren während des Tests mithilfe desselben Szenarios mit dem Tool „Systemmonitor“ beobachten, indem Sie Folgendes ausführen:
- Wählen Sie Start aus, geben Sie perfmon ein, drücken Sie die EINGABETASTE.
- Wählen Sie im linken Bereich unter Überwachungstools> die Option Systemmonitor aus.
- Wählen Sie im rechten Bereich das grüne Symbol „+“ aus, um einen neuen Indikator hinzuzufügen.
- Erweitern Sie im Dialogfeld Leistungsindikatoren hinzufügen die Option SMB Direct-Verbindung.
- Wählen Sie sowohl RDMA lesen Byte/s als auch RDMA schreiben Byte/s aus. Wählen Sie anschließend Hinzufügen und dann OK aus.
Failoverfunktionalität von SMB Direct
So überprüfen Sie die Failoverfunktion von SMB Direct:
- Stellen Sie sicher, dass %%amp;quot;SMB Direct%%amp;quot; in einer Konfiguration mit mehreren Netzwerkadaptern funktioniert.
- Führen Sie einen umfangreichen Dateikopiervorgang aus. Simulieren Sie während der Ausführung des Kopiervorgangs einen Fehler für einen der Netzwerkpfade, indem Sie eines der Kabel trennen (Sie können dazu auch einen der Netzwerkadapter trennen).
- Stellen Sie mithilfe eines anderen Netzwerkadapters sicher, dass der Dateikopiervorgang fortgesetzt wird und dass beim Dateikopiervorgang keine Fehler auftreten.
Tipp
Stellen Sie zum Vermeiden von Fehlern für eine Arbeitsauslastung, für die %%amp;quot;SMB Direct%%amp;quot; nicht verwendet wird, sicher, dass der getrennte Netzwerkpfad von keiner anderen Arbeitsauslastung verwendet wird.