Udv,
Elore leszogeznem, hogy nem vagyok expert egyik hasznalt technologiaban sem, ugyhogy konnyen lehet, hogy valami banalis dolog hianyzik, akinek ilyen jut eszebe, ne tartsa magaban!
A felallas a kovetkezo:
Halozat:
- Mellanox SX1012 switchek
- Intel XL710-QDA2 kartyak
- XLDACBL3 kabelek
Vasak:
OS:
- Windows Server 2012 R2 + 21.0-s driver
- Ubuntu 15.10 + 1.5.18-as driver
Mindben 64-512GB RAM es 2db Xeon E5-2630v3/2660v3 van, tehat a gond nem ezekkel lesz.
Miert 40G?
- A 40G-s NIC konkretan mar olcsobb, mint a 10G-s
- A 12x40G-s switch (sajnos nem tudom direkt linkelni, de SX1012-re keresve kidobja) 7500 EUR, a legolcsobb 24x10G-s meg 3500, tehat fajlagosan mindossze 7%-kal dragabb
- A 40G meg akkor sem gond, ha sok lassu node-od van, mert breakout kabellel akar 48 portod is lehet
- A 24x1TB SSD storage ~8GB/s read-et tud localhost-on, amihez legalabb 7db 10G-s port kene MPIO-val, sok kabel, sok penz foloslegesen
A storage W2012R2 Storage Spaces, RAID10, iSCSI target a Hyper-V cluster-nak (CSV). Utobbi I/O teljesitmenye botranyos, ez egy kovetkezo problema lesz, de a lenyeg, hogy emiatt merult fel bennem, hogy valami a halozattal sem gombolyu.
Eloszor megprobaltam 2db 10GB-os iSCSI target-et csinalni, ezeket felmountoltam egy masik node-on, majd egy 8GB-os ISO-t masoltam egyikrol a masikra. A maximum 900kB/s korul volt, ami joindulattal, overhead-del, mindennel egyutt sem tobb, mint 10G.
Ekkor jott az, hogy iktassuk ki a storage-et, ugy ahogy van. Az eredmeny:
- Windows-os gepek kozott az atvitel aggregalva (rx/tx) sem tobb soha, mint 5-10G (Passmark es 1-2 masik teszt program)
- Ubuntus gepek kozott iperf-fel 25G volt a maximalis ertek
- Bonuszkent Ubuntun a link random elszall, de ez mar megint egy masik problema
Eddig a kovetkezo modositasokat probaltam Windows-on az Intel 10G-s guide-jabol kiindulva:
- Interrupt Moderation Rate -> off
- Jumbo Frames -> 9k
- Flow Control -> off
- Transmit/Receive buffer -> 4096
Amint azt mar sejtitek, ezek semmi erdemi valtozast nem hoztak. A 9k-t beallitottam a Linuxos node-okon is, illetve a switch-eken is, de ott sem tortent erdemi valtozas.
Ezeket most nagyjabol osszeszedtem fejbol, de ha valakinek kellenek meg konkretabb adatok, holnap azt is tudok adni.
Barkinek barmi otlet, hogy mit lehetne tenni?
- 2270 megtekintés
Hozzászólások
linux alatt a sysctl paraméterekkel játszottál ?
Nekem már a 10GbE-hez is állítani kellett a default nem volt jó.
Fedora 23, Thinkpad x220
- A hozzászóláshoz be kell jelentkezni
Esetleg picit konkretabban, mire gondolsz?
https://fasterdata.es.net/host-tuning/linux/
https://fasterdata.es.net/host-tuning/40g-tuning/
Hirtelen ilyeneket talaltam, ez jo iranyba keresgel?
- A hozzászóláshoz be kell jelentkezni
Igen a linux tuningos az jó kiindulópont. TCP bufferek állítása pl.
Írja is a végén hogy 10 vagy 40Gbit-hez mit érdemes állítani.
Fedora 23, Thinkpad x220
- A hozzászóláshoz be kell jelentkezni
Oks, meg fogom nezni, koszi.
- A hozzászóláshoz be kell jelentkezni
iperf kozben hogy nez ki a CPU hasznalat?
> Bonuszkent Ubuntun a link random elszall, de ez mar megint egy masik problema
Biztos jok a kabelek?
- A hozzászóláshoz be kell jelentkezni
En nem hiszem, hogy a kabellel van a baj, 2 Linuxos es 6 Windows-os gep eseten ez mar kicsit tul sok veletlen lenne. Windows-on sosem szakad le, Ubuntun konstans elojon, de tesztelni eleg nehez, mert teljesen random ido kell neki, hogy elszalljon, van hogy par perc, van hogy 1 het.
Probaltam az 1.4-es driverel es az 1.5-ossel is. Ezen kivul probaltam a 15.10-zel es 16.04-gyel szallitott modulokkal is, mind ugyanugy viselkedik.
Mindenesetre most kicsereltem a kabelt egy Windows-os es Linuxos node kozott, meglatjuk.
Annyit meg hozzatennek, hogy a link nem ugy szall el, hogy megszakad par masodpercre, hanem hogy teljesen meghal. nmcli con down + up nem segit, kernelmodul ujratoltesnel meg konkretan lefagy, csak reboot segit.
- A hozzászóláshoz be kell jelentkezni
Windows reszehez nem szolok inkabb, azzal ilyen szinten meg nem kellett foglalkoznom, linux oldalon amiknek erdemes lehet utana nezni:
- interrupt elosztas tobb cpu-ra (vagy statikusan scriptbol intel driver mellett szokott lenni ilyen, vagy dinamikusan pl irqbalance -al)
- iperf3 -al probald merni, sima iperf mar 10G-nal is hozhat fura eredmenyeket es erdemesebb tobb szalon nezni.
- rx/tx buffer noveles, altalaban alacsonyan van hagyva legacy okokbol (ethtool -g eth0 ; ethtool -G eth0 rx 4096 tx 4096)
- ha csak belso dologra kell es switchen is tudod allitani akkor jumbo frame, bar 10G-t annelkul is siman ki lehet hozni
- txqueuelen erteket lehet novelni interface-ekhez, pl: ip link set eth0 txqueuelen 10000
- sysctl parametereket erdemes megnovelni, illetve parat modositani pl valami hasonlo szerint http://www.nateware.com/linux-network-tuning-for-2013.html
- esetleg kikapcsolni conntrack-et ha ugysincs ra szukseg, akar modul szinten vagy celiranyosabban csak iptables-ben (http://linux.die.net/man/8/iptables NOTRACK opcio)
A linuxos i40e driver meg hagy kivanni valot maga utan, legalabbis 1.5.18-al en is talalkoztam hasonlo furcsasagokkal, ha tudod probald meg esetleg felfrissiteni halokartya firmware-t, ha jol latom 5.04-es a legujabb (felteve ha oem intel kartyad van, kulonben nem biztos hogy menni fog ezzel https://downloadcenter.intel.com/download/24769/NVM-Update-Utility-for-…), ethtool -i eth0 -al meg tudod nezni mi van most rajta.
Illetve alapbol valoszinuleg nalad is bekapcsolva van ntuple filter, azt kikapcsolhatod meg: ethtool -K eth0 ntuple off.
- A hozzászóláshoz be kell jelentkezni
Fu itt sok erdekesseg van, erre ido lesz, mire tudok reagalni, de koszi neked is.
Szerk1: firmware update megvolt 5.04-re, azota a BIOS ezzel fogad:
http://i.imgur.com/3IB5Ful.png
Es belep a BIOS-ba, es mindenfele hibakat dobal. Az EFI driver elvileg valami 1.4-es, gondolom ez a gond. De alapvetoen nem ertem, hogy
1) miert nem jott meg ki emiatt BIOS update
2) miert lep be a BIOS-ba, amikor explicite le van tiltva hibanal a BIOS-ba lepes
Ugyhogy most minden reboot utan KVM-ezni kell, de ha ez megoldja a link elszallast, meg belefer lol.
- A hozzászóláshoz be kell jelentkezni
Ez elírás? "maximum 900kB/s korul volt, ami joindulattal, overhead-del, mindennel egyutt sem tobb, mint 10G"
- A hozzászóláshoz be kell jelentkezni
Őőőő... 900kB/s ~ 10Mbps, ami <<< 10G, vagyis igaza van :)
De szerintem is 10M akart lenni. Vagy 900MB/s.
BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)
- A hozzászóláshoz be kell jelentkezni
végül is tényleg nem több, mint 10G
- A hozzászóláshoz be kell jelentkezni
Bocsanat, Total Commando kb. 900,000kB/s-t irt, nem 900kB/s.
- A hozzászóláshoz be kell jelentkezni
Ekkora sebességnél (főleg kis csomagméret esetén) nálunk már DPDK-t használnak, egyszerűen nem bírja a Linux network stack.
- A hozzászóláshoz be kell jelentkezni
subscribe.
- A hozzászóláshoz be kell jelentkezni
ez a 40G ugy tunik nekem hogy valojaban 4 db 10GB link csak 1 qsfp+ csatlakozora kivezetve. lehet hogy 1 connectionon belul nem is tud 10g-nel tobbet, ugyanaz mintha lacp trunkolnel 4db 10g portot.
A'rpi
- A hozzászóláshoz be kell jelentkezni
es mibol tunik neked igy? ha azt mondom, hogy a 100GbE -s Ethernet az 4db 28Gbps-es csatornabol all ossze, akkor arra is ezt mondanad?
- A hozzászóláshoz be kell jelentkezni
Pedig pontosan így van, ebben 4db 10G-s link található (amit nagyobb sebességre is lehetne használni más protokoll esetén, bár a fenti esetben ez irreleváns)
- A hozzászóláshoz be kell jelentkezni
a kerdes az volt, hogy egy single TCP stream ki tudja-e hajtani a 40 gigabitet, nem az, hogy fizikailag hogy van megcsinalva :-)
- A hozzászóláshoz be kell jelentkezni
sub.
csak 10G eszkozeim vannak (boven eleg).
de erdekel: tenyleg igy van megcsinalva a 40Gbit ethernet???
es ki tudja hajtani??
neked vannak 40G meg 100G eszkozeid is, nem?
- A hozzászóláshoz be kell jelentkezni
A fizikai réteg lehet 40 darab 1 gigabites vonal is ha a fölötte lévő rétegek ezt nem látják.
- A hozzászóláshoz be kell jelentkezni
persze, meg lehet 40 millio darab 1 kilobites vonal is.
na hagyjuk mar, kerlek ne. en nem hulyeseget kerdeztem.
- A hozzászóláshoz be kell jelentkezni
nem hulyeseg amit irt, azert volt regen az MPO24 kabel, hogy 10x1gbit volt Rx, 10x1gbit volt Tx ha 100GbE-t akartal :-) aztan most nemreg jott a 25*GbE mint alapszabvany, es maris mehet MPO12 kabelen (4x25* Rx, 4x25* Tx)
de mivel minden L1-en van, igy L2-tol felfele mar tenyleg egy linkkent latszodik.
(28Gbit igazabol, innen a QSFP28 elnevezes, AFAIK, csak a kodolasok miatt vesztunk sokat)
- A hozzászóláshoz be kell jelentkezni
akkor mea culpa. :)
- A hozzászóláshoz be kell jelentkezni
termeszetesen 10x10-et akartam irni a 100-hoz, csak mar nem tudom javitani
- A hozzászóláshoz be kell jelentkezni
persze, persze, ezt már nem mosod le, örökre nyoma maradt ;>
Fedora 23, Thinkpad x220
- A hozzászóláshoz be kell jelentkezni
igen, igy. 100gbe transceiver, idezek:
The MMA1B00-C100 has a standard QSFP28 connector on the electrical side towards the host system
supporting CAUI-4. The optical interface is composed of four optical channels/fibers in each direction,
intended for a parallel multi-mode optical cable via a standard MPO connector. Each channel/fiber
operates at signaling rates up to 25.78125 GBd.
- A hozzászóláshoz be kell jelentkezni
AFAIK QSFP+ = Quad SFP+, tehat ez annyira nem meglepo, de szerintem ez a problema szempontjabol irrelevans.
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni
En biztosan megneznem 4.4-es kernellel is, ott eleg dramaian valtozott a tcp stack.
----------------------
while (!sleep) sheep++;
- A hozzászóláshoz be kell jelentkezni