SMB Multichannel och RDMA – så maxar du hastigheten mot din NAS

Du sitter med en ny NAS fullproppad med snabba SSD:er, men när du kopierar en stor filmapp över nätverket händer ingenting spännande – hastighetsmätaren klamrar sig fast vid 113 MB/s. Det är inte diskarna som är flaskhalsen. Det är din nätverkslänk som sätter taket, och det taket sitter mycket lägre än vad din hårdvara egentligen klarar av. Den goda nyheten är att du ofta kan få betydligt mer fart utan att dra en enda ny kabel. Lösningen heter SMB Multichannel – och för den som verkligen vill pressa gränserna finns RDMA.

SMB Multichannel är en inbyggd funktion i SMB-protokollet (version 3.0 och senare) som låter en klient använda flera nätverksanslutningar parallellt mot samma filresurs. I stället för att klämma all trafik genom en enda ström delar protokollet upp överföringen på flera parallella kanaler. Resultatet kan bli två, fyra eller ännu fler gånger högre genomströmning – ofta med hårdvara du redan har i racket eller under skrivbordet.

Så fungerar SMB Multichannel

När en SMB-klient ansluter till en server förhandlar de om vilka funktioner som stöds. Om båda sidorna har SMB 3.x och det finns mer än en nätverksväg mellan dem, öppnar klienten automatiskt flera samtidiga TCP-anslutningar – en per tillgänglig väg. Varje anslutning kallas en kanal, och protokollet fördelar SMB-förfrågningarna över dem. För användaren ser det ut som en enda anslutning; allt sker transparent under ytan.

Det fina är att ”flera vägar” inte nödvändigtvis kräver flera fysiska nätverkskort. Ett enda nätverkskort med stöd för RSS (Receive Side Scaling) kan presentera flera köer som protokollet behandlar som separata vägar. Har du två NIC:ar får du i stället genuint separata fysiska vägar, vilket också ger redundans: går ena länken ner fortsätter trafiken på den andra.

Det är värt att skilja SMB Multichannel från link aggregation (LACP). LACP slår ihop länkar på switchnivå och är begränsat av sin hash-policy, medan SMB Multichannel arbetar på protokollnivå och aktivt sprider enskilda filöverföringar över kanalerna – en enda stor kopiering kan faktiskt utnyttja den samlade bandbredden.

Krav och förutsättningar

Innan du börjar behöver du kontrollera att hela kedjan stöder tekniken. Ett enda svagt led gör att klienten tyst faller tillbaka till en vanlig enkel anslutning, och då märker du ingen skillnad alls.

På serversidan

Servern måste köra en SMB-implementation med stöd för SMB 3.0 eller senare och ha Multichannel aktiverat. TrueNAS (både CORE och SCALE) stöder det via Samba, liksom Windows Server och vanliga Linux-distributioner med en modern Samba-version. Servern behöver antingen två eller fler nätverksgränssnitt i samma subnät, eller ett NIC med RSS-stöd och flera köer.

På klientsidan

Windows 10/11 och Windows Server har SMB Multichannel aktiverat som standard – ingen konfiguration krävs i de flesta fall. På Linux kom stödet i SMB-klienten (cifs.ko) runt kernel 5.7, och det aktiveras med ett monteringsalternativ. macOS har däremot inget stöd för SMB Multichannel alls, så Mac-användare i hushållet får ingen nytta av tekniken oavsett hur servern är konfigurerad.

Så aktiverar du SMB Multichannel

I många fall behöver du inte göra någonting – Windows-klienter upptäcker flera vägar automatiskt. Men det är klokt att verifiera att det faktiskt fungerar, och på vissa plattformar krävs explicita inställningar.

TrueNAS

I TrueNAS hanteras SMB-inställningarna under Shares → SMB. Multichannel är normalt aktiverat som standard i moderna versioner, men kontrollera att servern exponerar båda nätverksgränssnitten i samma nätverk. Om du har två NIC:ar, ge dem IP-adresser i samma subnät och se till att ingen brandväggsregel blockerar SMB-trafiken (port 445) på det andra gränssnittet. Efter ändringar, testa med en stor filkopiering från en Windows-klient och kontrollera att hastigheten överstiger vad en enskild länk klarar.

Windows

På Windows-klienten kan du kontrollera läget med PowerShell: Get-SmbClientConfiguration visar om Multichannel är aktiverat, och Get-SmbMultichannelConnection visar de aktiva kanalerna mot servern – där ska du se fler än en anslutning om allt fungerar.

Linux

På Linux monterar du resursen med alternativet multichannel, till exempel i /etc/fstab eller direkt med mount. Kerneln måste vara tillräckligt ny och servern måste annonsera stöd för det. Eftersom stödet är nyare här än på Windows är det extra viktigt att verifiera med faktiska överföringstester – titta på den uppnådda hastigheten snarare än att lita på att flaggan räcker.

RDMA – när nätverket kringgår processorn

För den som vill gå ett steg längre finns SMB Direct, som använder RDMA (Remote Direct Memory Access). Med RDMA skriver nätverkskortet data direkt till minnet på mottagarsidan utan att processorn behöver kopiera varje paket. Resultatet är extremt låg latens, minimal CPU-belastning och hastigheter som kan mätta 25, 40 eller 100 GbE-länkar.

Haken är hårdvaran. Både server och klient behöver RDMA-kapabla NIC:ar – typiskt Mellanox/NVIDIA ConnectX-kort – och de måste prata samma RDMA-protokoll (RoCE eller iWARP). Begagnade ConnectX-3-kort har blivit överkomliga på andrahandsmarknaden, men det kräver fortfarande direktanslutning eller en switch som hanterar det valda protokollet. För de flesta hemanvändare är SMB Multichannel över vanliga 2,5 eller 10 GbE-länkar den rimliga vägen; RDMA är entusiastnivå.

När hjälper det – och när gör det inte det?

SMB Multichannel gör störst nytta när du flyttar stora filer sekventiellt – säkerhetskopior, mediebibliotek eller VM-avbildningar. Där kan du realistiskt närma dig den samlade bandbredden av dina länkar. Det hjälper också när flera användare eller tjänster belastar NAS:en samtidigt, eftersom kanalerna ger bättre parallellitet.

Däremot gör det liten skillnad för många småfiler, där protokollöverhead och latens dominerar snarare än rå bandbredd. Det hjälper inte heller om flaskhalsen sitter någon annanstans: en mekanisk hårddisk i NAS:en eller en långsam klientdisk sätter taket oavsett hur många kanaler SMB öppnar.

Viktiga punkter

  • SMB Multichannel sprider en filöverföring över flera parallella nätverkskanaler och kan mångdubbla hastigheten mot din NAS.
  • Kräver SMB 3.x på både server och klient samt flera nätverksvägar – två NIC:ar eller ett NIC med RSS-stöd.
  • Windows har det aktiverat som standard; på Linux krävs kernel 5.7+ och monteringsalternativet multichannel, medan macOS saknar stöd helt.
  • Skiljer sig från LACP: Multichannel arbetar på protokollnivå och accelererar även en enskild stor kopiering.
  • RDMA via SMB Direct ger extrem prestanda med minimal CPU-belastning men kräver särskilda NIC:ar och är entusiastnivå.
  • Störst nytta vid stora sekventiella överföringar – mät alltid var den verkliga flaskhalsen sitter först.
Scenario Teoretisk maxhastighet Typisk uppmätt hastighet Hårdvarukrav
Enkel 1 GbE-länk 125 MB/s ~113 MB/s Standard-NIC, vanlig switch
Enkel 2,5 GbE-länk 312 MB/s ~280 MB/s 2,5 GbE-NIC och switch
SMB Multichannel, 2 × 1 GbE 250 MB/s ~220 MB/s Två NIC:ar eller RSS-NIC
SMB Multichannel, 2 × 2,5 GbE 625 MB/s ~550 MB/s Två 2,5 GbE-NIC:ar
SMB Direct med RDMA, 25 GbE 3125 MB/s ~2800 MB/s RDMA-kapabla NIC:ar, t.ex. ConnectX

Slutsats

Om din NAS redan har två nätverksportar – eller ett modernt NIC med RSS – är SMB Multichannel den billigaste prestandauppgradering du kan göra: den kostar ingenting och kräver i Windows-fallet inte ens konfiguration. Aktivera det, verifiera med Get-SmbMultichannelConnection och mät med en riktig filkopiering. Når du taket för dina länkar är nästa steg snabbare länkar snarare än fler – ett 10 GbE-kort begagnat slår ofta två aggregerade 1 GbE-länkar både i hastighet och enkelhet. RDMA sparar du till den dagen du bygger ett 25 GbE-hemmanätverk på allvar. Börja med Multichannel i dag – det tar tio minuter och kan fördubbla din NAS-hastighet.

Leave a Comment