SMB client - multichannel support

SMB client - multichannel support
« kdy: Dnes v 14:40:30 »
Ahoj, je tu nejaky zkuseny CIFS/Samba odbornik? Nedari se mi prinutit smb klienta, aby pouzival 2 sitovky v multichannel modu:

Konfigurace klienta: UBUNTU server, Samba client 4.19.5-Ubuntu.
 
Problem:
server ma 2 GBe adapters, IP addresses: 10.0.0.242, 10.0.0.243 (fixed)
client ma 2 GBe adapetrs, IP addresses: 10.0.0.19, 10.0.0.36 (DHCP)
(takze celkem 4 kabely v temze switchi)
 
1) primountuji share ze smb serveru pomoci libovolne z jeho IPs:
mount -t cifs -o multichannel,username=******,pass=******,vers=3.11 //10.0.0.243/WindowsImageBackup /mnt/WindowsImageBackup
 
2) samba client korektne pozna obe server IPs a pouzije je, viz log:
[   19.356382] CIFS: Attempting to mount //10.0.0.243/WindowsImageBackup
[   19.471326] CIFS: VFS: successfully opened new channel on iface:10.0.0.242
 
3) ale klient ma bind jen na JEDNU local IP (.19). Druha klientova IP (.36) se flaka:
netstat -n|grep 10.0.0.24[23]
tcp        0      0 10.0.0.19:45554         10.0.0.243:445          ESTABLISHED
tcp        0      0 10.0.0.19:33314         10.0.0.242:445          ESTABLISHED
 
Takze rychlost je samozrejme jen 1 Gbps misto ocekavanych 2. Bottleneck je pouzivani jedineho adapteru klienta.
Server ma pouzite / vytizerne oba adaptery, celkem rovnomerne  (kazdy ~ 500 Mbps)

Pokud na teze konfiguraci nabootuji Win 11, mam samozrejme rychlost 2 Gbps dle ocekavani

Predem dik za rady

MP
 


M Z

Re:SMB client - multichannel support
« Odpověď #1 kdy: Dnes v 15:15:01 »
Pokud se za poslednich par mesicu nic nezmenilo, tak linuxovi cifs klient multichannel nepodporuje.


Re:SMB client - multichannel support
« Odpověď #2 kdy: Dnes v 15:25:34 »
Mohl bys poslat odkaz?
Ze je to experimentalni feature vim, ale jak vidis, klient pouziva 2 kanaly, jen oba z jedne klientske sitovky.

Treba je omezene podporovany jen multichannel pomoci RSS jedne sitovky, ale nikde jsem nenasel jasnou informaci.

Dik

MP

Re:SMB client - multichannel support
« Odpověď #3 kdy: Dnes v 15:35:44 »
Jeste doplnim kernel 6.8.0-49

Multichannel by MEL BYT podporovan jadernym modulem (dle https://wiki.samba.org/index.php/LinuxCIFSKernel) od kernelu 5.5

MP

Re:SMB client - multichannel support
« Odpověď #4 kdy: Dnes v 20:01:02 »
Wel yes, but actually no.

Resp. dostal jsem prvni odpoved od samba.org, kam jsem hlasil jako potencialni chybu, volne prekladam:
"neni to chyba, je to vlastnost; multichannel znamena, ze klient pouziva jednu sitovku, a server 2 a vice"
Neslusne jsem odpovedel neco jako ze take dokazu zvysit vykon zasuvky tim, ze do ni dam rozdvojku.

Asi jsem ti mel verit, nicmene bez odkazu na ofiko dokumentaci jsem neduverivy.

MP



ja.

  • ****
  • 348
    • Zobrazit profil
    • E-mail
Re:SMB client - multichannel support
« Odpověď #5 kdy: Dnes v 20:36:39 »
Ako tu už bolo spomenuté, libsmbclient (súčasť samby) nepodporuje multichannel. Multichannel podporuje samba iba na strane serveru.

Modul z jadra možno áno, ale to nie je to, čo Ubuntu (gvfs, kio) používajú.

Multichannel samozrejme môžu podporovať aj klienti a to je presne to, čo robí napríklad Windows alebo MacOS. Viacero sieťových rozhraní je pritom len jedna alternatíva, ďalšou je použitie sieťových rozhraní s asymetrickou kapacitou (napr. klient má 2.5 GbE a server niekoľko 1 GbE rozhraní; keď klient vytvorí 2-3 spojenia multichannel, pôjde mu to rýchlejšie aj s jedným rozhraním), alebo ďalšou alternatívou je použitie iných transportov ako tcp (RoCE/RDMA, ktoré sú z pohľadu protokolu ďalší kanál). Ďalšia možnosť je teaming/bonding, keď klient chce vyťažiť jeho kapacitu, tak nutne potrebuje viacero tcp spojení. Dokonca aj keď má zariadenie len jednu sieťovku, ktorej bandwidth je menší ako naproti na serveri, môže multichannel priniesť zrýchlenie, pretože RSS.

No ale presne toto je to, čo libsmbclient používaný v linuxových DE nevie. Niektoré, nebudem teraz ukazovať prstom, jeden dokonca robí kontraproduktívne veci, ako je rozsekanie trafficu na 64kB segmenty, čím spoľahlivo zabije možnosť mať viacero paralelných async requestov (ktoré libsmbclient vie).