Improve Performance of a File Server with SMB Direct

 

Betrifft: Windows Server 2012 R2, Windows Server 2012

Windows Server 2012 R2 und Windows Server 2012 beinhalten das Feature „SMB Direct“, 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 maximaler Geschwindigkeit mit sehr niedriger Latenz arbeiten – und das bei sehr geringer CPU-Nutzung. Für Arbeitsauslastungen wie Hyper-V oder Microsoft SQL Server bedeutet dies, dass ein Remotedateiserver einem lokalen Speicher gleichkommt. "SMB Direct" bietet 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: bietet extrem schnelle Antworten auf Netzwerkanforderungen und erweckt demzufolge den Eindruck, dass die Remotespeicherung von Dateien genauso erfolgt wie das Speichern mit einem direkt angeschlossenen Blockspeicher.

  • Geringe CPU-Auslastung: verwendet bei der Datenübertragung über das Netzwerk CPU-Zyklen, wodurch mehr Leistungsreserven für Serveranwendungen erhalten bleiben.

„SMB Direct“ wird von Windows Server 2012 R2 und Windows Server 2012 automatisch konfiguriert.

"SMB Multichannel" und "SMB Direct"

Bei "SMB Multichannel" handelt es sich um das Feature zum Erkennen der RDMA-Funktion von Netzwerkadaptern, um "SMB Direct" zu aktivieren. Ohne "SMB Multichannel," 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 die RDMA-Funktion verfügt. Anschließend werden mehrere RDMA-Verbindungen für diese eine Sitzung hergestellt (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.

Hinweis

  • Sie sollten RDMA-fähige Netzwerkadapter nicht in Teams zusammenfassen, wenn Sie die RDMA-Funktion der Netzwerkadapter verwenden möchten. Bei einer Zusammenfassung in Teams bieten die Netzwerkadapter keine RDMA-Unterstützung.

  • 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.

Inhalt dieser Anleitung

Anforderungen

Für "SMB Direct" gelten die folgenden Anforderungen:

Überlegungen zur Verwendung von "SMB Direct"

  • Sie können "SMB Direct" in einem Failovercluster verwenden. Sie müssen jedoch sicherstellen, dass die für den Clientzugriff verwendeten Clusternetzwerke für "SMB Direct" 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.

  • Sie können "SMB Direct" 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.

  • Bei einer Deaktivierung 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.

  • In Windows RT wird "SMB Direct" nicht unterstützt. Für „SMB Direct“ ist eine Unterstützung RDMA-fähiger Netzwerkadapter erforderlich, die nur in Windows Server 2012 R2 und Windows Server 2012 verfügbar ist.

  • In Vorgängerversionen von Windows Server wird "SMB Direct" nicht unterstützt. Es wird nur in Windows Server 2012 R2 und Windows Server 2012 unterstützt.

Aktivieren und Deaktivieren von "SMB Direct"

„SMB Direct“ ist standardmäßig aktiviert, wenn Windows Server 2012 R2 bzw. Windows Server 2012 installiert wird. Der SMB-Client erkennt und verwendet automatisch mehrere Netzwerkverbindungen, wenn eine entsprechende Konfiguration identifiziert wird.

Deaktivieren von "SMB Direct"

Normalerweise müssen Sie "SMB Direct" nicht deaktivieren. Sie können das Feature jedoch deaktivieren, wenn Sie eines der folgenden Windows PowerShell-Skripts ausführen.

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 entweder 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 in Windows Server 2012 R2 und Windows Server 2012 für RDMA-Schnittstellen.

Reaktivieren von "SMB Direct"

Nach dem Deaktivieren von RDMA können Sie mithilfe eines der folgenden Windows PowerShell-Skripts eine Reaktivierung ausführen.

Wenn Sie RDMA für eine spezielle Schnittstelle reaktivieren möchten, geben Sie Folgendes ein:

Enable-NetAdapterRDMA <name>

Wenn Sie RDMA für alle Schnittstellen reaktivieren möchten, geben Sie Folgendes ein:

Set-NetOffloadGlobalSetting -NetworkDirect Enabled

Wenn Sie RDMA wieder verwenden möchten, müssen Sie das Feature sowohl auf dem Client als auch auf dem Server aktivieren.

Testen der Leistung von "SMB Direct"

Mithilfe eines der folgenden Verfahren können Sie die Leistung testen.

Vergleichen einer Dateikopie mit und ohne Verwendung von "SMB Direct"

So messen Sie den erhöhten Durchsatz von "SMB Direct"

  1. Konfigurieren von "SMB Direct"

  2. Messen Sie die Zeit, die zum Ausführen einer umfangreichen Dateikopie mit "SMB Direct" erforderlich ist.

  3. Deaktivieren Sie RDMA auf dem Netzwerkadapter, siehe Aktivieren und Deaktivieren von "SMB Direct".

  4. Messen Sie die Zeit, die zum Ausführen einer umfangreichen Dateikopie ohne "SMB Direct" erforderlich ist.

  5. Reaktivieren Sie RDMA auf dem Netzwerkadapter, und vergleichen Sie dann die beiden Ergebnisse.

  6. Wenn Sie die Auswirkungen der Zwischenspeicherung vermeiden möchten, sollten Sie die folgenden Schritte ausführen:

    1. Kopieren Sie eine große Datenmenge (mehr Daten, als der Arbeitsspeicher verarbeiten kann).

    2. Kopieren Sie die Daten zweimal. Nutzen Sie dabei die erste Kopie als Übung, und messen Sie dann beim zweiten Kopiervorgang die Zeit.

    3. Starten Sie den Server und den Client vor jedem Test neu, um sicherzustellen, dass gleiche Bedingungen vorherrschen.

Simulieren eines Fehlers für einen von mehreren Netzwerkadaptern während eines Dateikopiervorgangs mit "SMB Direct"

So überprüfen Sie die Failoverfunktion von "SMB Direct"

  1. Stellen Sie sicher, dass "SMB Direct" in einer Konfiguration mit mehreren Netzwerkadaptern funktioniert.

  2. 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 (dazu können Sie auch einen der Netzwerkadapter trennen).

  3. Stellen Sie mithilfe eines anderen Netzwerkadapters sicher, dass der Dateikopiervorgang fortgesetzt wird und dass beim Dateikopiervorgang keine Fehler auftreten.

    Hinweis

    Stellen Sie zum Vermeiden von Fehlern für eine Arbeitsauslastung, für die "SMB Direct" nicht verwendet wird, sicher, dass der getrennte Netzwerkpfad von keiner anderen Arbeitsauslastung verwendet wird.

Siehe auch