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: Dnes v 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: Dnes v 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: Dnes v 14:41:47 »
Metriky jsou stejne. Zda se, ze se bere prvni v poradi.

MP

Re:SMB client - multichannel support
« Odpověď #23 kdy: Dnes v 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: Dnes v 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