Sziasztok,
Két gigabites hálókártyát (eth0 és eth1) próbálok összehozni LACP-vel Debian 11 alatt úgy, hogy meglegyen a 2Gbit/s-es sebesség.
Azonban hiába megy mindkét hálókártya, sebességtesztben csak 1Gbit/s van.
Ezen kívül a dmesgben egy erre vonatkozó warning ezzel boldogít:
bond0: Warning: No 802.3ad response from the link partner for any adapters in the bond
Eddig ezzel a két switchel próbáltam és ugyanaz a jelenség:
- Mikrotik CRS328-24P-4S+RM
- Zyxel GS2210-48
/etc/network/interfaces erre vonatkozó része:
auto bond0 iface bond0 inet static address 172.22.0.100 netmask 255.255.255.252 gateway 172.22.0.1 dns-nameservers 172.22.0.1 slaves eth0 eth1 bond-mode 802.3ad bond-miimon 100 bond-downdelay 200 bond-updelay 200
Köszönöm az ötleteket!
- 647 megtekintés
Hozzászólások
A warning azt jelenti,m hogy nem sikerült összehozni a switch-el az LACP-t.
Nyilván ehhez a switch-nek is tudnia kell ezt a módot (a leírásaik szerint tudják), és várhatóan az érintett portokat is ennek megfelelően kell configurálni.
De még ha össze is jön, ha csak egy tcp session-t használsz, akkor nem fog 1 Gb-nél többet mutatni.
Csak úgy éred el a 2 Gbit-et, ha több kapcsolat is párhuzamosan megy.
- A hozzászóláshoz be kell jelentkezni
ha több kapcsolat is párhuzamosan megy.
fixme, de ez szükséges, de nem elégséges feltétel. Emlékeim szerint a balance method is konfigurálandó, ez lehet IP vagy MAC alapján, de adott cím csomagjai azonos linken fognak közlekedni.
Azaz nem elég, hogy több kapcsolat, de több gép (v több ipcím) esetleg propietary protokol is kell hozzá.
- A hozzászóláshoz be kell jelentkezni
elvileg bizonyos eszközök már L3 port alapján is tudják balance-olni a csomagokat, de nem jellemző.
"Probléma esetén nyomják meg a piros gombot és nyugodjanak békében!"
- A hozzászóláshoz be kell jelentkezni
L3 az az IP cím réteg az OSI-ban. Az L4 lesz a TCP/UDP portszám alapú hashing.
- A hozzászóláshoz be kell jelentkezni
802.3ad esetében XOR balancing van. Meg kell nézni, hogy mi a supportált method. Layer 2 esetén csak MAC, új esetében már Layer 3 (tcp/udp esetén, ip+port is benne van)
// Happy debugging, suckers
#define true (rand() > 10)
- A hozzászóláshoz be kell jelentkezni
ez sok beállítástól függ. Van olyan switch, amelyik a forrás- és cél portot is beteszi a kimenő interface választásba. Ha ez beállítható, akkor több az esély a nagyobb sávszélességre.
- A hozzászóláshoz be kell jelentkezni
A Mikrotiket ez alapján configoltam: https://wiki.mikrotik.com/wiki/SwOS/CSS326#LAG
A Zyxelt pedig ez alapján: https://kb.zyxel.com/KB/searchArticle!gwsViewDetail.action?articleOid=0…
Ennek ellenére eléggé makacsul warningol, hogy mégsem megy az LACP.
- A hozzászóláshoz be kell jelentkezni
A Mikortik-en én azért Active-ba tenném a portokat.
Egyébként a
cat /proc/net/bonding/bond0
mit mutat?
A networkingben az két slave portot felhúztad?
auto eth0
iface eth0 inet manual
auto eth1
iface eth1 inet manual
Van/volt valami bug/összevisszaság a Debian 11-ben a bond-al,de mintha már javították volna valamelyik csomagban:
https://www.claudiokuenzler.com/blog/1121/debian-11-bullseye-problem-bo…
- A hozzászóláshoz be kell jelentkezni
/etc/network/interfaces:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
bond-master bond0
auto eth1
iface eth1 inet manual
bond-master bond0
auto bond0
iface bond0 inet static
address 172.22.0.100
netmask 255.255.255.252
gateway 172.22.0.1
dns-nameservers 172.22.0.1
slaves eth0 eth1
bond-mode 802.3ad
---
root@nas0:~# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v5.15.1
Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0
802.3ad info
LACP active: on
LACP rate: slow
Min links: 0
Aggregator selection policy (ad_select): stable
System priority: 65535
System MAC address: b6:5f:75:b9:ca:af
Active Aggregator Info:
Aggregator ID: 2
Number of ports: 2
Actor Key: 9
Partner Key: 2
Partner Mac Address: cc:2d:e0:a0:39:50
Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:5f:67:0a:b7:10
Slave queue ID: 0
Aggregator ID: 2
Actor Churn State: none
Partner Churn State: none
Actor Churned Count: 0
Partner Churned Count: 0
details actor lacp pdu:
system priority: 65535
system mac address: b6:5f:75:b9:ca:af
port key: 9
port priority: 255
port number: 1
port state: 61
details partner lacp pdu:
system priority: 32768
system mac address: cc:2d:e0:a0:39:50
oper key: 2
port priority: 32768
port number: 24
port state: 57
Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 54:04:a6:94:f4:3d
Slave queue ID: 0
Aggregator ID: 2
Actor Churn State: none
Partner Churn State: none
Actor Churned Count: 0
Partner Churned Count: 0
details actor lacp pdu:
system priority: 65535
system mac address: b6:5f:75:b9:ca:af
port key: 9
port priority: 255
port number: 2
port state: 61
details partner lacp pdu:
system priority: 32768
system mac address: cc:2d:e0:a0:39:50
oper key: 2
port priority: 32768
port number: 23
port state: 57
- A hozzászóláshoz be kell jelentkezni
Ez pedig jónak tűnik. A Warning a dmesg-ben az rögtön a bond felhúzása után az nem probléma.
De ahogy fentebb többen is írták sima layer2 hashing-el nem biztos hogy el tudsz érni 1Gbps-nél nagyobb sebességet.
Főleg ha nem a LAN-on kommunikál egymással több gép hanem minden a gateway felé megy.
Az
xmit_hash_policy=layer2+3
-re állítsd át legalább.
- A hozzászóláshoz be kell jelentkezni
Ugyanabba a switchbe van bedugva egy másik gép 10Gbit/s-el.
Abból szeretnék kihozni ezzel a módszerrel 2Gbit/s-et a két 1Gbites hálókártyával rendelkező géppel.
Az xmit_hash_policy-t ki fogom próbálni.
- A hozzászóláshoz be kell jelentkezni
namost, ha van egy bond interface-d, annak van 1db mac címe és -gondolom- egy 1db ipcíme.
Melyik hashing eljárás alapján várod (el), hogy mindkét porton kapjál adatot??
Fordítva tudna működni azaz a fenti "bonded" gép a server, akár 4x1G -vel, és a rá csatlakozó gépEK ki tudnák hajtani a vonalakat külön-külön.
- A hozzászóláshoz be kell jelentkezni
layer3+4 legyen mindket oldalon (switch+gep)
- A hozzászóláshoz be kell jelentkezni
ezzel kapcsolatos kérdés: ha nem tcp hanem udp (mondjuk nfs) akkor ugye a serveren is meg a kliensen is lehet több nfs processz.
Ezek elvileg több porton figyelnek, ergo ha tudok ipcim+port alapján megkülönböztetni (talán ez a layer4) akkor mehet akár 2 gép között is a 2Gbit (ebben a speciális esetben nyilván).
Nekem is lesz hasonló projektem a karácsonyi szünetben, majd beszámolok az eredményről.
zászló, zászló, szív
- A hozzászóláshoz be kell jelentkezni
Elengedtem az LACP-t, de maradt a két hálókártya két különböző IP címmel ugyanazon a hálózaton. A gépek egyik része az egyik IP-re csatlakozik, másik része pedig a másikra. A probléma ezzel az, hogy amíg ez 10+ éve normálisan működött, az most eléggé bizonytalan lett. Pontosabban először ez még jól ment, azonban ma azt vettem észre, hogy mindkét IP-t érintő forgalom csak az első hálókártyán megy át míg a másik hálókártya kihasználatlanul áll.
- A hozzászóláshoz be kell jelentkezni
Sima bond -on egy tcp kapcsolattal nem tudsz elerni 2Gbit -et.
Probalad tobb kapcsolattal L3L4 hashel.
Nem szokvanyos megoldasokkal talan lehet.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Próbáltam.
2 párhuzamos TCP kapcsolatnál simán lementek 500Mbit/s-re. Tehát megmaradt az 1G.
- A hozzászóláshoz be kell jelentkezni
Ne ketot probalj hanem 10 -et.
A veletlen muve hogy kulon utakon jar -e,
ha legalabb egy mashol megy ..
A masik dolog egyszer voltam olyan helyzetben hogy az osszes MAC cimem paros volt,
ezert L2 cim alajan hasheles nem ment.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Ha már 10+ évvel ezelőtt jól működött de manapság már nem, nem lehet h. ebbe a strong/weak host model váltásba futottál bele? Igaz ez a váltás windows-nál volt Vista idejében, linux mindig is weak host elvet követett
https://en.m.wikipedia.org/wiki/Host_model
https://docs.microsoft.com/en-us/previous-versions/technet-magazine/cc1…
- A hozzászóláshoz be kell jelentkezni
ha ket halokartya de ugyanaz a ip route+rule-al tudod megoldani, nalam igy van. (nalam kulon halok vannak, de ami eth2-on jon be, az ott is megy ki):
auto eth2
iface eth2 inet static
address 192.168.200.18
netmask 255.255.255.0
post-up ip route add 192.168.200.0/24 dev eth2 src 192.168.200.18 table from_ether_one
post-up ip route add default via 192.168.200.1 dev eth2 table from_ether_one
post-up ip rule add from 192.168.200.18/32 table from_ether_one
post-down ip rule del from 192.168.200.18/32 table from_ether_one
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
de maradt a két hálókártya két különböző IP címmel ugyanazon a hálózaton
uhm. Ezt vajon hol tanítják?
Ne értsd félre, nem személyeskedésnek számon, de már mástól is hallotam ilyen ötleteket...
de ezek a gyakorlatban nem működnek, nem is javasoltak, és szerintem 10 évvel ezelőtt sem volt az.
Nem tudom végülis mit szeretné lelérni, de ez így csak káoszt eredményez.
Ha azt, hogy 2 db 1Gbs interface -ből 2Gbs-t hozzál ki, azt csak bizonyos - és nagyon limitált - körülmények között lehetséges.
Úgy általában simán csak nem lehetséges.
- A hozzászóláshoz be kell jelentkezni
Itt van egy cikk, tele van typo-val de az alapötlet benne van, meg lehet csinálni subneten belül a 2 ip-t korrekten:
zászló, zászló, szív
- A hozzászóláshoz be kell jelentkezni
Egy adott adatstream nem lesz 2 Gbps.
Ha van egy gerinced és bondingolsz, akkor a több src és több dst fogja statisztikailag kihasználni az ilyen módon felnövelt vonalakat.
- A hozzászóláshoz be kell jelentkezni
Közben sikerült megcsinálni LACP-vel a 2 Gbitet:
- A switchen firmware-t kellett frissíteni.
- A /etc/network/interfaces-ben ez lett végül beállítva: bond-xmit-hash-policy layer3+4
- A legtöbb gép 1 Gbiten van, így nem gond ha csak több szállal lesz meg a 2 Gbit.
Jelenleg 2 különböző géppel megy a másolás összesen 2Gbittel (egyik Samba-val csatlakozik, a másik NFS-sel)
- A hozzászóláshoz be kell jelentkezni
Öröm hallani, hogy végül mégis csak a korrekt megoldást sikerült implemetálni, a 'gányolás' helyett! :)
#respect.
- A hozzászóláshoz be kell jelentkezni
ez cool, de még a miimon és egyéb opciók jelentését megnézném
zászló, zászló, szív
- A hozzászóláshoz be kell jelentkezni
Link-Aggregation megoldható:
1., switch assisted: LACP ( pl.: switch-switch, switch-host - között)
2., host only: STATIC LAG ( máskor MLAG-nak hívják: attól függ hogy ugyanabba a switch-be megy több link vagy több különböző switch-be megy több link - azt fogja össze ) ( pl.: switch-router, switch-host, router-host, router-router - között )
Mindkét esetben bond0 logikai interface lesz, 1., opciónál a switchen külön kell konfigurálni, a 2., opciónal a HOST-on kell csak konfigurálni, bizonyos esetekben pedig csak a 2., opció jöhet szóba - pl.: switch-port és router-port egyszerre kell használni ugyanazon linken, ilyenkor kell egy fizikai visszakötés a kettő között de redundánsan.
- A hozzászóláshoz be kell jelentkezni