SMB client - multichannel support

M Z

Re:SMB client - multichannel support
« Odpověď #15 kdy: 22. 11. 2024, 14:27:05 »
smb.conf option: "server multi channel support"
nomen omen  8)


Re:SMB client - multichannel support
« Odpověď #16 kdy: 22. 11. 2024, 14:56:00 »
Uz to, ze jednou se v dokumentaci pise o multichannel, pak o multi-channel, pripadne Multi-Channel o necem hovori a hrozne blbe se to hleda.

Zpet k me konfiguraci:
upgrade na kernel 6.11.0-9-generic #9-Ubuntu, samba 4.20.4-Ubuntu-4.20.4+dfsg-1ubuntu1, STEJNE CHOVANI

MP

Re:SMB client - multichannel support
« Odpověď #17 kdy: 22. 11. 2024, 14:58:07 »
smb.conf option: "server multi channel support"
nomen omen  8)
Ale ja mam problem na KLIENTU (-o multichannel), server slape jak z praku!

MP

Re:SMB client - multichannel support
« Odpověď #18 kdy: 22. 11. 2024, 15:07:45 »
To bude asi tím, že ta volba je pro server a ne pro klienta, jak název napovídá.  ;D ::)

Re:SMB client - multichannel support
« Odpověď #19 kdy: 22. 11. 2024, 23:49:57 »
Zpet k me konfiguraci:
upgrade na kernel 6.11.0-9-generic #9-Ubuntu, samba 4.20.4-Ubuntu-4.20.4+dfsg-1ubuntu1, STEJNE CHOVANI

Tak jsem se k tomu ještě na chvíli vrátil.

Dva virtuály..
- klient je Clonezilla (založeno na Ubuntu Oracular verze s kernelem 6.11.0-8-generic, abych se trochu přiblížil tvé konfiguraci)
- server pak openSUSE Leap 15.6 (kernel 6.4.0)
Je tam distr. balíček samba-4.19.8+git.368.51d32c069f-150600.3.6.11.x86_64
Server je totéž, co jsem používal včera.

Každý virtuál má dvě přidané virt. síťovky, co jsou limitované v QEMU na 1 Gbit a dedikované jen na test. Samba na serveru je pak nastavená tak, aby poslouchala jen na těchhle rozhraních.

Ale napadla mě od minula ještě drobná změna - dal jsem každou z těch párových síťovek do jiné virtuální síťě (isolated, každá svůj bridge) a nastavil jiný subnet.
Začalo to vše chodit - i pro čtení ze serveru se to rozkládá přes obě síťovky. Jediné, kdy to pak jede jen přes jednu je při zápisu s iodepth 1, ale to by bylo pořád docela logické.

Všechno tady:
https://youtu.be/RD3x8W-JE_A



Re:SMB client - multichannel support
« Odpověď #20 kdy: 23. 11. 2024, 09:08:42 »
Dik moc.

To me uz take napadlo (je to sice spise scenar pro redundancy a ten muj je spise pro throughput).
Ale uplne se mi uplne nechce prekonfigurovavat server.

Dava to logiku / odhad, kde je problem:
Server nahlasi dalsi IP a moznost multichannel pripojeni.
Pri druhem spojeni na server se pouzije sitovka (pokud maji stejnou rychlost), ktera ma vyhodnejsi trasu do druhe IP.  Pokud je to extra sit, je vyber jasny. Pokud stejna sit, vybere smbclient tu 1. v poradi, tedy stejnou, jako pro prvni pripojeni.

MP

Re:SMB client - multichannel support
« Odpověď #21 kdy: 23. 11. 2024, 10:28:30 »
Ted mi doslo, ze jsem nezkontroloval metriky tech interfaces ve stejne siti, treba je prob jeste tam

MP

Re:SMB client - multichannel support
« Odpověď #22 kdy: 23. 11. 2024, 14:41:47 »
Metriky jsou stejne. Zda se, ze se bere prvni v poradi.

MP

Re:SMB client - multichannel support
« Odpověď #23 kdy: 23. 11. 2024, 16:25:30 »
Metriky na síťovkách na to podle mě nemají vůbec vliv, i když jsem to taky zkoušel (na serveru a klientu).

Mě teď šlo primárně o to zjistit, jestli to je možné rozchodit, agreguje to šířku pásma a nebude tedy platit, že to vůbec nefunguje.

Dělal jsem ještě pár dalších pokusů a víceméně se to chová konzistentně.
Pokud jsou tam odlišné subnety, tak mi ta agregace fungovala jak pro čtení, tak pro zápis. Potvrdil jsem si, že to funguje i v případě, že jsou oba subnety v jedné L2 síti (trochu prasečinka jako když skončí víc různých podsítí v unmanaged switchi).
Otestoval jsem si i situaci, kde bych měl server, v kterém jsou dvě síťovky s různými subnety, a klienta s jednou, rychlejší síťovkou v třetím subnetu za routerem. Chodilo to taky.

Zkoušel jsem pak i víc verzí Samba serveru (4.19, 4.20, 4.21 pre v Tumbleweedu) a chovalo se to také stejně.
S FreeBSD a Sambou 4.19 se to podařilo rozchodit taky (což mě zajímá třeba kvůli ZFS NASům), ale tam ten mount z Linux klienta šel udělat jen na jednu IP adresu z těch dvou. Na druhou z nich se to chvíli o něco snažilo, ale finálně na serveru proběhlo mnoho hlášek o špatném ověření SMB podepisování a klient se nepřipojil.

Když to bylo všechno v jedné podsíti, tak se mi sice také podařilo připojit na server dvěma kanály (ověřeno přes DebugData), ale agregovalo je to jen ve směru z klienta na server, jak jsem psal poprvé.
Jednou jsem to dostal do stavu, že se klient sice vypsal, že server má víc rozhraní, ale otevřel oba kanály na jedno rozhraní (allocated v DebugData). Ale tenhle stav už se mi to nepodařilo podruhé zreplikovat.

Jinak ten mechanismus výběru kanálu je evidentně sofistikovanější, není to vždy jen round-robin, řeší to i aktuální vytížení atp.
Určitě by se dalo zjistit ještě víc s nějakým hustším debugováním, nebo studiem kódu, ale na to mi upřímně teď chybí dost znalostí jak ohledně SMB3 samotného, tak i fungování CIFS modulu.

Re:SMB client - multichannel support
« Odpověď #24 kdy: 23. 11. 2024, 16:50:55 »
Ze supportu/bugreportu samby mi napsali, ze mam napsat na bugreport kernelu. Pozal jsem je aspon o vyjadreni zda je to ocekavane chovani, nebo bug.

Zatim se pokorne vracim k Win 11

MP

RDa

  • *****
  • 2 733
    • Zobrazit profil
    • E-mail
Re:SMB client - multichannel support
« Odpověď #25 kdy: Dnes v 01:20:15 »
A proc to proste neupgradnes na 10G/25G ?

Re:SMB client - multichannel support
« Odpověď #26 kdy: Dnes v 04:30:31 »
A proc to proste neupgradnes na 10G/25G ?
5 sitovek a 5 kabelu je lepsi nez 1x 25G, to da rozum, ne?  ;D Cela tahle diskuse me pobavila, linuxovy klient proste multichannel nepodporuje.

LeosB

Re:SMB client - multichannel support
« Odpověď #27 kdy: Dnes v 09:50:49 »
Nepomohlo by nastavit statické routy? Třeba takhle (za eth0 a eth1 si dosaďte svoje názvy síťovek):

ip route add 10.0.0.242 dev eth0
ip route add 10.0.0.243 dev eth1

Případně pokud máte na síťovkách víc IP adres, ještě k těm statickým routám přidejte parametr src s požadovanou zdrojovou IP adresou.

Re:SMB client - multichannel support
« Odpověď #28 kdy: Dnes v 10:16:57 »
A proc to proste neupgradnes na 10G/25G ?
5 sitovek a 5 kabelu je lepsi nez 1x 25G, to da rozum, ne?  ;D Cela tahle diskuse me pobavila, linuxovy klient proste multichannel nepodporuje.

Jasně, že upgrade síťové infrastruktury je možnost. Proto jsem taky na začátku psal, že jsem to CIFS z Linuxového klienta předtím prakticky nesetkal. Buď tam byl rychlejší ethernet, nebo kombinace LACP bonding na serveru (a víc klientů).
To ale neznamená, že je to k ničemu a nemá smysl to řešit. Pořád můžeš mít třeba v síti hardware, co má fixně dva pomalejší porty (např. malý NAS s 2x1GbE nebo dneska i 2x2.5/5GbE) a pokud má protistrana dostatečnou konektivitu, je škoda toho nevyužít.
Stejně tak se dá otevřít víc kanálů na server i v případě jednoho rychlého připojení s RSS, protože to na serveru pomáhá rozkládat zátěž na více jader CPU (což může být bottleneck zvlášť na 25/50/100 GbE).

Jinak jsem rád, že tě diskuze pobavila, ale závěr je nesmysl. Kdyby to [em]prostě[/em] nepodporoval, tak vůbec nemá podporu toho SMB3 rozšíření. Jak jsem psal, v tom testovacím prostředí jsem agregaci rozběhl oběma směry, akorát bohužel s podmínkou různých subnetů na serveru.
Takže mi to bohužel nepřijde až tak prosté.

Re:SMB client - multichannel support
« Odpověď #29 kdy: Dnes v 12:00:47 »
Nepomohlo by nastavit statické routy? Třeba takhle (za eth0 a eth1 si dosaďte svoje názvy síťovek):

Dik, trochu me to bude iritovat (na dhcp klientu...), ale za pokus to stoji! Hlavne bude solidni dokumentace v pripadnem bugreportu

Nicmene trochu to jde proti failoveru, i kdyz v mem pripade je opravdu prioritou rychlost. A zase: failover je take tragedie, vytahl jsem kabel z 1. sitovky a cekal az smb client pochopi a zacne pouzivat druhou ... a cekal .. a cekal :(

MP
« Poslední změna: Dnes v 12:04:37 od MiroslavPragl »