hfsc - minimalni vyhrazena rychlost ve sdilene lince

info na vysla.net info na vysla.net
Pátek Duben 6 09:52:39 CEST 2007


Dobry den.

Mam na serveru (centos 4.4 + posledni updaty) nastavene skrceni linky 
pomoci htb. Bohuzel se stava, ze server pri praci s htb pravidly vytuhne 
= cerna obrazovka na nic nereaguje, pomuze jenom tvrdy reset. Toto 
chovani je popsane i v konferenci Centos-u, ale bez vyreseni problemu. 
Zkousel jsem i jadro 2.6.20.3 kde by udajne mela byt chyba opravena, ale 
se stejnym vysledkem. Server nevydrzi bezet tyden bez zatuhnuti...
Proto chci zkusit prejit z htb na hfsc. Nenasel jsem k hfsc ale poradnou 
dokumentaci a nevim jak nastavit ve sdilene lince "minimalni 
garantovano" rychlost. Napr. linka 300kbit, v ni 3 uzivatele (IP adresy) 
a kazdemu nastavim 100kbit + pokud je skupinova linka volna vezme si max 
300kbit. HTB toto resi pomoci parametru rate a ceil, ale u hfsc jsem nic 
podobneho nenasel.

Zkousel jsem toto nastaveni, ale rychlosti klientu litaly od minima do 
maxima kdyz vsichni vytezovali skupinovou linku. U htb se po chvilce 
rychlosti klientu ustali na minimalni garantovane rychlosti. Je mozne 
toto nastavit i s hfsc?

testovaci nastaveni hfsc - pro jednoduchost jenom jeden ehernet, 
nasmerovani paketu do linky je pomoci "iptables CLASSID"

#######################################################################
#!/bin/bash

TCQ="/sbin/tc qdisc add dev" #pridani QDISC
TCC="/sbin/tc class add dev" #pridani CLASS

echo "MAZANI QDISC (PODARI SE JEN POKUD JIZ EXISTOVALO)"
/sbin/tc qdisc del dev eth0 root handle 1:0 hfsc

echo "ZALOZENI HLAVNI QDISC"

$TCQ eth0 root handle 1:0 hfsc default 2

echo "ZALOZENI HLAVNI CLASS"
$TCC eth0 parent 1:0 classid 1:1 hfsc ls m2 100Mbit ul m2 100Mbit

echo "DEFAULT LINKA - NEZARAZENY TRAFFIC"
$TCC eth0 parent 1:0 classid 1:2 hfsc ls m2 512Kbit ul m2 512Kbit
$TCQ eth0 parent 1:2 handle 2:0 sfq perturb 10

# skupinova rychlost
$TCC eth0 parent 1:1 classid 1:11 hfsc ls m2 300kbit ul m2 300kbit
# jednotlivi klienti
$TCC eth0 parent 1:11 classid 1:112 hfsc ls m2 100kbit ul m2 300kbit
$TCC eth0 parent 1:11 classid 1:113 hfsc ls m2 100kbit ul m2 300kbit
$TCC eth0 parent 1:11 classid 1:114 hfsc ls m2 100kbit ul m2 300kbit

$TCQ eth0 parent 1:11 handle 11:0 sfq perturb 10
$TCQ eth0 parent 1:11 handle 112:0 sfq perturb 10
$TCQ eth0 parent 1:11 handle 113:0 sfq perturb 10
$TCQ eth0 parent 1:11 handle 114:0 sfq perturb 10

#########################################################################

Diky.




Další informace o konferenci Linux