Hur använder SMB Multichannel flera vägar till en hemmabaserad NAS?

Eva Wong är Teknisk skribent och den boende fixaren på ZimaSpace. En livslång nörd med en passion för hemma-labb och öppen källkod, hon specialiserar sig på att översätta komplexa tekniska koncept till tillgängliga, praktiska guider. Eva tror att självhosting ska vara roligt, inte skrämmande. Genom sina handledningar ger hon gemenskapen verktyg att avmystifiera hårdvaruinstallationer, från att bygga sin första NAS till att bemästra Docker-containrar.

SMB Multichannel använder flera vägar till en hemmabas NAS genom att binda flera nätverksanslutningar till en logisk SMB-session. Klienten och servern upptäcker användbara gränssnitt och kapaciteter, och skapar sedan parallella kanaler över en RSS-kompatibel adapter, flera fysiska nätverkskort eller RDMA-kompatibla länkar.

Funktionen kan öka genomströmningen och bevara en filsessions när en anslutning misslyckas, men den lägger inte bara ihop varje annonserad porthastighet. De valda gränssnitten måste vara kompatibla och nåbara, och NAS-diskarna, klientlagringen, CPU:n, PCIe-vägen och switchen definierar fortfarande den användbara taknivån.

Hur upptäcker en SMB-klient mer än en väg?

Efter att den första SMB-anslutningen har upprättats utbyter ändpunkterna information om sina nätverksgränssnitt och kapaciteter. SMB utbyter information om gränssnittets kapacitet, inklusive länkhastighet och funktioner som påverkar om ett gränssnitt väljs.

En väg kräver mer än en extra fysisk port. Båda ändpunkterna behöver adresser som kan nå varandra, och SMB-implementationerna måste exponera dessa gränssnitt som berättigade för samma session.

Gränssnitt med olika hastigheter eller kapacitetsklasser kan inte användas tillsammans på det sätt som en enkel summa antyder. SMB kan föredra snabbare, RSS-kompatibla eller RDMA-kompatibla adaptrar istället för att fördela trafiken jämnt över alla tillgängliga vägar.

Varför skapar en SMB-session flera TCP-anslutningar?

En monterad delning och en autentiserad filsessions förblir logiskt förenade även när en SMB-session kan använda flera anslutningar. SMB binder de extra kanalerna till den befintliga sessionen istället för att presentera flera orelaterade delningar.

Filförfrågningar, svar, krediter och data kan fördelas över dessa kanaler. Operativsystemet hanterar mappningen, så en applikation öppnar normalt samma väg och filhandtag som den skulle använda med en anslutning.

Detta skiljer sig från att starta flera oberoende kopieringsprogram. Multikanal skapar transportparallellism inom en SMB-session, medan filprotokollet fortsätter att bevara autentisering, låsning, ordning och delningssemantik.

Hur förändrar RSS och flera NIC:ar den tillgängliga parallellismen?

Receive Side Scaling låter en nätverksadapter fördela mottagningsbearbetning över flera CPU-kärnor. RSS sprider nätverksbearbetningen över CPU-kärnor istället för att tvinga en högpresterande flöde genom en enda processor kö.

Med flera fysiska NIC:ar kan SMB också upprätta kanaler över olika gränssnitt. Detta ökar länkkapaciteten och ger sessionen separata felpunkter, förutsatt att både klienten och NAS:en exponerar kompatibla tillgängliga vägar.

En enda RSS-kompatibel högpresterande NIC och två oberoende NIC:ar är därför olika topologier. Den första förbättrar CPU-parallellism inom en länk; den andra kan öka den fysiska länkbandsbredden samt ge redundans.

Var passar RDMA in i SMB Multikanal?

SMB Direct är RDMA-transportfunktionen som används av SMB, medan Multikanal väljer och kombinerar tillgängliga SMB-vägar. RDMA minskar CPU-användningen för SMB-dataöverföring när både ändpunkterna och nätverket stödjer den nödvändiga RDMA-teknologin.

Multikanal kan fungera över vanlig TCP utan RDMA. En RDMA-kompatibel väg föredras vanligtvis för dess lägre belastning på värddatorn, men en vanlig hemmabas NAS med standard Ethernet-adaptrar kan fortfarande använda flera TCP-kanaler.

RoCE och andra RDMA-designs introducerar sina egna krav på switch, förlusthantering, drivrutin och topologi. Att lägga till RDMA till en hemmabaserad NAS är ett separat infrastrukturbeslut, inte en kryssruta som krävs för grundläggande SMB Multichannel.

Hur ger Multichannel failover utan att starta om kopieringen?

Eftersom flera anslutningar tillhör samma SMB-session kan återstående kanaler bevara SMB-sessionen. Klienten kan fortsätta använda kanaler som fortfarande är nåbara istället för att bygga om hela delningsanslutningen.

Avbrottet kan fortfarande vara synligt medan den felande anslutningen upptäcks och utestående förfrågningar återställs. Filens hållbarhet beror också på SMB-dialekten, serverbeteendet och applikationens timeout.

Multichannel skyddar mot ett fel på en anslutning eller NIC-bana; det skyddar inte mot att NAS:en startar om, att lagringspoolen går sönder, att switchen tappar ström eller att alla kanaler går genom samma dolda fysiska komponent.

Varför garanterar inte flera nätverk flera överföringshastigheter?

Microsofts multi-NIC-design tillåter SMB-arbetsbelastningar att använda flera godkända nätverksvägar, men flera vägar kan inte överstiga lagringsflaskhalsen. En tvåportig NAS kan inte leverera dubbla genomströmningen när dess diskar eller CPU redan var mättade av en port.

Klienten måste också skriva eller läsa data i den kombinerade hastigheten. En långsam laptop-SSD, USB-adapter, PCIe-bana, krypteringsprocess eller SMB-signeringsväg kan hålla sessionen under summan av nätverksgränssnitten.

SMB ger delad filåtkomst över enheter. Använd Multichannel när en SMB-klient eller arbetsbelastning kan använda mer än en väg, kontrollera sedan aktiva kanaler och mät NAS-lagringsvägen innan oanvänd länk-kapacitet betraktas som ett protokollfel.

Nätverkskapacitet Vad SMB Multichannel tillför Återstående begränsning
En icke-RSS NIC Vanligtvis en effektiv anslutningsväg Enkel länk och processor-kö
En RSS-kompatibel NIC Flera anslutningar kan använda flera CPU-kärnor Fysisk NIC-linjefrekvens
Flera kompatibla NICs Länkaggregering på SMB-sessionens nivå och vägfelövergång NAS och klientens lagringsgenomströmning
NICs med RDMA-stöd SMB Direct-kanaler med låg CPU-belastning RDMA-konfiguration och lagringshastighet

Vanliga frågor

Är SMB Multichannel samma sak som länkaggregering?

Nej. Länkaggregering fungerar under SMB och fördelar vanligtvis varje flöde till en medlemslänk. SMB Multichannel skapar flera anslutningar för en SMB-session och kan använda dem direkt.

Kan en 2,5GbE-klient använda två 1GbE NAS-portar?

Det kan det i stödda topologier när SMB-klienten och servern upptäcker kompatibla kanaler och klientlänken kan ta emot den sammanslagna trafiken. Faktiskt stöd varierar beroende på NAS-implementering, operativsystem och NIC-kapacitet.

Kräver SMB Multichannel en hanterad switch?

Inte automatiskt. Flera vanliga Ethernet-vägar kan fungera genom en switch utan LACP, men gränssnitt, adresser, subnät och loopfri topologi måste fortfarande vara korrekt utformade.

Klarar en filkopiering att fortsätta om en kabel dras ur?

Den kan fortsätta över återstående kanaler när klienten och servern upprätthåller SMB-sessionen, även om upptäckt och återställning av förfrågningar kan orsaka ett tillfälligt uppehåll.

Slutsats

SMB Multichannel förvandlar en filöverföringssession till en uppsättning parallella transportkanaler. RSS kan fördela en högpresterande anslutning över CPU-kärnor, flera nätverkskort (NIC) kan öka bandbredd och vägen blir mer motståndskraftig, och RDMA kan minska CPU-belastningen. Funktionen förbättrar endast nätverksvägen; lagring, klient-I/O, gränssnittskompatibilitet och delad hårdvara avgör fortfarande om den uppmätta överföringshastigheten kan skalas.

Teknik- och AI-hubb

Mer att läsa

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.