Wie nutzt SMB Multichannel mehrere Pfade zu einem Heim-NAS?

Eva Wong ist die Technische Redakteurin und und leidenschaftliche Tüftlerin bei ZimaSpace. Eine lebenslange Geek mit einer Leidenschaft für Homelabs und Open-Source-Software, sie spezialisiert sich darauf, komplexe technische Konzepte in zugängliche, praktische Anleitungenzu übersetzen. Eva ist der Meinung, dass Self-Hosting Spaß machen und nicht einschüchternd sein sollte. Durch ihre Tutorials befähigt sie die Community, Hardware-Setups zu entmystifizieren, vom Bau ihres ersten NAS bis hin zur Beherrschung von Docker-Containern.

SMB Multichannel nutzt mehrere Pfade zu einem Heim-NAS, indem mehrere Netzwerkverbindungen an eine logische SMB-Sitzung gebunden werden. Der Client und der Server entdecken nutzbare Schnittstellen und Fähigkeiten und erstellen dann parallele Kanäle über einen RSS-fähigen Adapter, mehrere physische NICs oder RDMA-fähige Verbindungen.

Die Funktion kann den Durchsatz erhöhen und eine Dateisitzung aufrechterhalten, wenn eine Verbindung ausfällt, aber sie addiert nicht einfach alle beworbenen Portgeschwindigkeiten. Die ausgewählten Schnittstellen müssen kompatibel und erreichbar sein, und die NAS-Festplatten, der Client-Speicher, die CPU, der PCIe-Pfad und der Switch bestimmen weiterhin die nutzbare Obergrenze.

Wie entdeckt ein SMB-Client mehr als einen Pfad?

Nachdem die erste SMB-Verbindung hergestellt ist, tauschen die Endpunkte Informationen über ihre Netzwerkschnittstellen und Fähigkeiten aus. SMB tauscht Informationen über Schnittstellenfähigkeiten aus, einschließlich Linkgeschwindigkeit und Funktionen, die beeinflussen, ob eine Schnittstelle ausgewählt wird.

Ein Pfad erfordert mehr als nur einen zusätzlichen physischen Anschluss. Beide Endpunkte benötigen Adressen, die sich gegenseitig erreichen können, und die SMB-Implementierungen müssen diese Schnittstellen als für dieselbe Sitzung geeignet anzeigen.

Schnittstellen mit unterschiedlichen Geschwindigkeiten oder Fähigkeitsklassen können nicht einfach so zusammen genutzt werden, wie es eine einfache Summe vermuten lässt. SMB kann schnellere, RSS-fähige oder RDMA-fähige Adapter bevorzugen, anstatt den Datenverkehr gleichmäßig über alle vorhandenen Routen zu verteilen.

Warum erstellt eine SMB-Sitzung mehrere TCP-Verbindungen?

Ein eingebundener Share und eine authentifizierte Dateisitzung bleiben logisch vereint, selbst wenn eine SMB-Sitzung mehrere Verbindungen verwenden kann. SMB bindet die zusätzlichen Kanäle an die bestehende Sitzung, anstatt mehrere unabhängige Shares bereitzustellen.

Dateianfragen, Antworten, Credits und Daten können über diese Kanäle verteilt werden. Das Betriebssystem verwaltet die Zuordnung, sodass eine Anwendung normalerweise denselben Pfad und dieselbe Datei-Handle öffnet, die sie auch bei einer einzelnen Verbindung verwenden würde.

Dies unterscheidet sich vom Starten mehrerer unabhängiger Kopierprogramme. Multichannel erzeugt Transportparallelität innerhalb einer SMB-Sitzung, während das Datei-Protokoll weiterhin Authentifizierung, Sperrung, Reihenfolge und Freigabemechanismen bewahrt.

Wie verändern RSS und mehrere Netzwerkkarten die verfügbare Parallelität?

Receive Side Scaling ermöglicht es einem Netzwerkadapter, die Empfangsverarbeitung auf mehrere CPU-Kerne zu verteilen. RSS verteilt die Netzwerkverarbeitung auf CPU-Kerne, anstatt einen Hochgeschwindigkeits-Datenstrom durch eine einzelne Prozessorwarteschlange zu zwingen.

Mit mehreren physischen Netzwerkkarten kann SMB auch Kanäle über verschiedene Schnittstellen einrichten. Dies erhöht die Link-Kapazität und bietet der Sitzung separate Ausfallpunkte, vorausgesetzt, sowohl der Client als auch das NAS stellen kompatible erreichbare Pfade bereit.

Eine einzelne RSS-fähige Hochgeschwindigkeits-Netzwerkkarte und zwei unabhängige Netzwerkkarten sind daher unterschiedliche Topologien. Die erste verbessert die CPU-Parallelität innerhalb eines Links; die zweite kann sowohl die physische Link-Bandbreite als auch Redundanz erhöhen.

Wo passt RDMA in SMB Multichannel?

SMB Direct ist die RDMA-Transportfähigkeit, die von SMB verwendet wird, während Multichannel verfügbare SMB-Pfade auswählt und kombiniert. RDMA senkt die CPU-Auslastung bei der SMB-Datenübertragung, wenn sowohl Endpunkte als auch das Netzwerk die erforderliche RDMA-Technologie unterstützen.

Multichannel kann über gewöhnliches TCP ohne RDMA betrieben werden. Ein RDMA-fähiger Pfad wird im Allgemeinen wegen seines geringeren Host-Overheads bevorzugt, aber ein normales Heim-NAS mit Standard-Ethernet-Adaptern kann dennoch mehrere TCP-Kanäle verwenden.

RoCE und andere RDMA-Designs bringen eigene Anforderungen an Switch, Verlustmanagement, Treiber und Topologie mit sich. RDMA zu einem Heim-NAS hinzuzufügen ist eine separate Infrastrukturentscheidung und kein erforderliches Kontrollkästchen für grundlegendes SMB Multichannel.

Wie bietet Multichannel Failover ohne Neustart der Kopie?

Da mehrere Verbindungen zur selben SMB-Sitzung gehören, können verbleibende Kanäle die SMB-Sitzung erhalten. Der Client kann weiterhin Kanäle nutzen, die erreichbar bleiben, anstatt die gesamte Freigabeverbindung neu aufzubauen.

Die Unterbrechung kann weiterhin sichtbar sein, während die ausgefallene Verbindung erkannt und ausstehende Anfragen wiederhergestellt werden. Die Dateihaltbarkeit hängt auch vom SMB-Dialekt, dem Serververhalten und dem Anwendungs-Timeout ab.

Multichannel schützt vor einem Ausfall einer Verbindung oder eines NIC-Pfads; es schützt nicht davor, dass das NAS neu startet, der Speicherpool ausfällt, der Switch die Stromversorgung verliert oder alle Kanäle denselben versteckten physischen Bestandteil durchlaufen.

Warum garantiert Mehrfachvernetzung nicht die doppelte Übertragungsgeschwindigkeit?

Das Multi-NIC-Design von Microsoft ermöglicht es SMB-Arbeitslasten, mehrere geeignete Netzwerkpfade zu nutzen, aber mehrere Pfade können den Speicherengpass nicht überwinden. Ein NAS mit zwei Ports kann nicht die doppelte Durchsatzrate liefern, wenn seine Festplatten oder die CPU bereits durch einen Port ausgelastet sind.

Der Client muss Daten auch mit der kombinierten Geschwindigkeit schreiben oder lesen. Eine langsame Laptop-SSD, ein USB-Adapter, eine PCIe-Leitung, ein Verschlüsselungsprozess oder ein SMB-Signierungspfad können die Sitzung unter die Summe der Netzwerkschnittstellen drosseln.

SMB bietet gemeinsamen Datei-Zugriff über Geräte hinweg. Verwenden Sie Multichannel, wenn ein SMB-Client oder eine Arbeitslast mehr als einen Pfad nutzen kann, überprüfen Sie dann die aktiven Kanäle und messen Sie den NAS-Speicherpfad, bevor ungenutzte Link-Kapazität als Protokollfehler betrachtet wird.

Netzwerkfähigkeit Was SMB Multichannel hinzufügt Verbleibendes Limit
Eine nicht-RSS-fähige Netzwerkkarte Üblicherweise ein effektiver Verbindungsweg Einzelner Link und Prozessorwarteschlange
Eine RSS-fähige Netzwerkkarte Mehrere Verbindungen können mehrere CPU-Kerne nutzen Physikalische Netzwerkkarten-Datenrate
Mehrere kompatible Netzwerkkarten Link Aggregation auf SMB-Sitzungsebene und Pfad-Failover NAS- und Client-Speicher-Durchsatz
RDMA-fähige Netzwerkkarten SMB Direct-Kanäle mit geringer CPU-Auslastung RDMA-Konfiguration und Speicherleistung

FAQ

Ist SMB Multichannel dasselbe wie Link Aggregation?

Nein. Link Aggregation arbeitet unterhalb von SMB und verteilt üblicherweise jeden Datenstrom auf einen Mitgliedslink. SMB Multichannel erstellt mehrere Verbindungen für eine SMB-Sitzung und kann diese direkt nutzen.

Kann ein 2,5GbE-Client zwei 1GbE-NAS-Ports nutzen?

Das kann in unterstützten Topologien der Fall sein, wenn der SMB-Client und -Server kompatible Kanäle entdecken und der Client-Link den kombinierten Datenverkehr empfangen kann. Die tatsächliche Unterstützung variiert je nach NAS-Implementierung, Betriebssystem und Netzwerkkarten-Fähigkeiten.

Benötigt SMB Multichannel einen verwalteten Switch?

Nicht von Natur aus. Mehrere gewöhnliche Ethernet-Pfade können ohne LACP über einen Switch funktionieren, aber die Schnittstellen, Adressen, Subnetze und eine schleifenfreie Topologie müssen korrekt gestaltet sein.

Überlebt eine Dateiübertragung das Abziehen eines Kabels?

Die Übertragung kann über die verbleibenden Kanäle fortgesetzt werden, solange der Client und der Server die SMB-Sitzung aufrechterhalten, obwohl die Erkennung und Wiederherstellung von Anfragen eine vorübergehende Pause verursachen kann.

Fazit

SMB Multichannel verwandelt eine Dateiübertragungssitzung in eine Reihe paralleler Transportkanäle. RSS kann eine Hochgeschwindigkeitsverbindung über CPU-Kerne verteilen, mehrere Netzwerkkarten können Bandbreite und Pfadresilienz hinzufügen, und RDMA kann die CPU-Auslastung senken. Die Funktion verbessert nur den Netzwerkpfad; Speicher, Client-I/O, Schnittstellenkompatibilität und gemeinsam genutzte Hardware bestimmen weiterhin, ob die gemessene Übertragungsrate skaliert.

Tech- & KI-Zentrum

Mehr zum Lesen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.