tc (ng) und traffic shaping, brauche Hilfe.

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
mcdikki
Beiträge: 312
Registriert: 11.06.2007 18:14:45
Lizenz eigener Beiträge: MIT Lizenz

tc (ng) und traffic shaping, brauche Hilfe.

Beitrag von mcdikki » 13.01.2009 13:11:03

Hallo Leute,

ich habe da ein paar fragen zum Trafficshaping mit tcng (tc).

Ich betreibe unter anderem einen Backupserver der mit Backuppc läuft und wärend unserer Geschäftszeiten alle Mobilen Geräte im Netz sichert.
Um die Arbeit der betreffenden User aber nicht vollkommen lahm zu legen, habe ich eine Trafficbeschränkung mit tcng erstellt.

Code: Alles auswählen

#include "fields.tc"

$user=10kbps;
$usermax=500kbps;
$max=100MBps;

dev bond0
{
    egress
    {
        /* Zwei Klassen für die verschiedenen smb ports. Beschränkt werden nur Clients (mit ausnahmen von mir), die
        server laufen mit voller leistung */
        class (<$smb>) if  ip_dst != 192.168.1.100 && ip_dst != 192.168.1.120 && ip_dst != 192.168.1.208 && (tcp_sport == 445 || tcp_dport == 445 || tcp_sport == 139 || tcp_dport == 139);
        
        htb()
        {
            /* ausgehenden smb-Traffic beschränken, führt auch zu geringerem Reinkommendem, ca. 2-3 MB/s*/
            /*      min.           max.            */
            class (rate $max, ceil $max)
            {
                /*            min 10kb/s   max 500 kb/s       */
                $smb = class (rate $max, ceil $max) {sfq;}
            }
        }
    }
}
Das führt auch zu einer trafficbeschränkung. Leider teilen sich damit alle Clients den zu verfügung stehenden Traffic. Dh bei mehreren syncronen Backups wird das sehr langsam, was wiederum nicht Sinn der Sachen ist.

Mein Problem ist jetzt Folgendes:
Theoretisch könnte ich für jeden Client eine eigene Klasse bilden und ihn separat beschränken. Aber ich weiß die IP des clients leider erst, wenn wenn das Backup gestartet wird.
Das gute ist, ich kann bei dem Backupprogramm einen Befehl vor und nach dem Backup laufen lassen. Dort kann ich auch auf alle wichtigen eigenschaften des Clients zugreifen, wie etwa die IP. Somit könnte ich per Script problemlos eine entsprechende Regel für diesen Client erzeugen.

DAS PROBLEM aber ist, dass ich immer nur eine Regel gleichzeitig über tc laden kann. Habe ich schon eine Regel, dann kann ich keine weitere mehr hinzufügen, bevor ich nicht die alte gelöscht habe.
Somit habe ich aber wieder nur die Regel für einen Client. Hier beißt sich jetzt die Katze in den Schwanz.

Frage: Kennt jemand eine möglichkeit Regel mit tc zu vorhanden hinzuzufügen oder auf die alten zuzugreifen um eine neue zu erstellen, die beide beinhaltet?

Oder habt ihr eine andere Idee, wie man das geschickt lösen könnte?

Wichtig ist halt, dass:
- die Clients jeweils auf ca. 3MB/s runter gebremst werden
- nicht jeder Client der Backups über das Protokoll macht betroffen ist
- Nach dem Backup die Beschränkung wieder aufgehoben wird, ohne dass andere Clients davon betroffen sind
- Die IP der Clients erst zum start des Backups bekannt sind

Freue mich schon auf eure Anregungen und Ideen.

lg und vielen Dank,

mcdikki
Zuletzt geändert von mcdikki am 23.01.2009 15:43:03, insgesamt 1-mal geändert.
LINUX - Life is too short for reboot!

Samba PDC auf Debian Etch | 2xIntel Xeon 3GHz - 2048 MB RAM - RAID 10 mit 3Ware 9550SX-4LP und 4x80GB HDD SATAII

mcdikki
Beiträge: 312
Registriert: 11.06.2007 18:14:45
Lizenz eigener Beiträge: MIT Lizenz

Re: tcng und traffic shaping, brauche Hilfe.

Beitrag von mcdikki » 23.01.2009 15:42:27

Keiner eine Idee?
LINUX - Life is too short for reboot!

Samba PDC auf Debian Etch | 2xIntel Xeon 3GHz - 2048 MB RAM - RAID 10 mit 3Ware 9550SX-4LP und 4x80GB HDD SATAII

Antworten