Portál AbcLinuxu, 10. května 2025 08:59

Dotaz: Jak udělat správně load-balancing?

14.5.2011 21:59 JF | skóre: 23
Jak udělat správně load-balancing?
Přečteno: 533×
Odpovědět | Admin
Snažil jsem se rozeběhnout "load balancing" - to znamená rozhazování trafiku do více směrů.

Ono to sice funguje, a trafic to skutečně rozkládá, ale třeba SSH to po 10minutách sprostě odstřelí a přesměruje pakety druhým směrem. Tím pádem se spojení rozpadne.

Netušíte někdo, jak se to dá ošetřit, aby to hlídalo spojení delší dobu a posílalo pakety pro otevřená sojení stále tím samým směrem.

root@qqq:/# ip route list
212.71.146.175 via 192.168.14.2 dev eth1
192.168.178.0/24 dev eth3  proto kernel  scope link  src 192.168.178.21
192.168.16.0/24 dev ath0  proto kernel  scope link  src 192.168.16.1
192.168.15.0/24 dev eth0  scope link
192.168.14.0/24 dev eth1  proto kernel  scope link  src 192.168.14.1
127.0.0.0/8 dev lo  scope link
default
        nexthop via 192.168.14.2  dev eth1 weight 1
        nexthop via 192.168.178.1  dev eth3 weight 1

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.5.2011 22:50 NN
Rozbalit Rozbalit vše Re: Jak udělat správně load-balancing?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zaprve load balancing znamena vyrovnavani zateze, zadruhe vami popisovane chovani neni standartni a zatreti vypis routovaci tabulky urcite nestaci..

NN
15.5.2011 12:10 JF | skóre: 23
Rozbalit Rozbalit vše Re: Jak udělat správně load-balancing?
1, Předpokládám, že to nazývám správně dve-konektivity-a-load-balancing

2, Otázka je, jestli to dělám špatně já nebo kernel, nebo jestli existuje nějaké další nastavení.

3, A co bych tedy měl ukázat?
15.5.2011 08:11 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Jak udělat správně load-balancing?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Loadbalancing nemůžete dělat pro jednotlivé pakety, ale minimálně pro celá spojení.
15.5.2011 12:05 JF | skóre: 23
Rozbalit Rozbalit vše Re: Jak udělat správně load-balancing?
Předpokládal jsem (podle dokumentace), že to skutečně funguje pro celá spojení. Podle toho, co pozoruji, tak to skutečně dělá na celá spojení, ale nějak to na ty spojení po cca 10 minutách zapomíná.

Pro http je to skvělý, ssh mi bohužel po nějaké době upadne. Možná mám někde nastaveno špatně, jak dlouho má spojení v tabulce být. Do toho jsem nevrtal.
17.5.2011 10:23 JF | skóre: 23
Rozbalit Rozbalit vše Re: Jak udělat správně load-balancing?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Uz mi spojeni nepada :)))

Tohle oznackuje pakety od spojeni:
iptables -t mangle -A PREROUTING -i eth3 -j MARK --set-mark 101
iptables -t mangle -A PREROUTING -i eth1 -j MARK --set-mark 102

A tohle dohleda parove pakety patrici k jednomu spojeni:
iptables -t mangle -A POSTROUTING -o eth0 -j CONNMARK --save-mark
iptables -t mangle -A PREROUTING -i eth0 -j CONNMARK --restore-mark

Tohle zafixuje nasmerovani paketu od jiz navazanych spojeni:
ip rule add from all fwmark 101 table POSKYTOVATEL1
ip rule add from all fwmark 102 table POSKYTOVATEL2

+ navic dve dalsi sady routovacich tabulek :(

Pokud si nekdo chce pocist:
http://www.firewall.cx/ftopict-3080.html
http://security.maruhn.com/iptables-tutorial/x9125.html
http://www.spinics.net/lists/netfilter/msg47626.html
http://www.linuxhorizon.ro/iproute2.html

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.