Speicherbegrenzung pro TeamSpeak Server

  • Hallo,


    ich möchte euch experten mal fragen, wie es am besten auf einem Linux Debian Wheezy Server möglich ist, jedem virtuellem Server ein Speicherlimit zu verpassen?


    Mit quotas dürfte das nicht funktionieren, denn da müsste ich für jeden Server eine eigene Instanz eröffnen und das ist ewig viel arbeit alles einzeln zu verwalten 8|
    Und TeamSpeak selbst hat, was ich weiß nur eine Quota funktion eingebaut, die aber pro User/Monat ist :(


    Sind vielleicht sogar TeamSpeak Hoster hier unterwegs und könnten die mir eine Lösung dafür geben?


    MfG,
    Aredon

    • Offizieller Beitrag

    Hallo,

    Mit quotas dürfte das nicht funktionieren, denn da müsste ich für jeden Server eine eigene Instanz eröffnen und das ist ewig viel arbeit alles einzeln zu verwalten


    nein. Jeder virtuelle Server legt im files/ Verzeichnis seine Verzeichnisstruktur an. Du könntest diese ja mit einem LVM verwalten und/oder sie darauf verlinken (Symlink). Wenn du einen externen Storage mit Intelligenz hast, kannst du beim Storage auch sagen, dass verschiedene Bereiche beispielsweise nur X Speicherplatz zur Verfügung haben.


    Die Lösung mit LVM siehe beispielsweise so aus: Linux - quota per directory? - Server Fault


    Das einfachste/idealste wären jedoch Quotas pro Verzeichnis. Bei Stackoverflow ist hierzu ein Tutorial, welches anscheinend mehrfach im Internet als passende und funktionierende Lösung auftaucht. Getestet habe ich es allerdings noch nicht: How to set limit on directory size in Linux? - Stack Overflow


    Und TeamSpeak selbst hat, was ich weiß nur eine Quota funktion eingebaut, die aber pro User/Monat ist


    Ja, das ist leider korrekt. Diese Quotas sind auch nicht wirklich Quotas, sondern eher Limitierungen, da sie ja nicht dauerhaft, sondern nur für einen bestimmten Zeitraum oder Zweck (ein Upload soll nicht alle anderen TS Server beeinträchtigen) dienen.


    In meinen Linux Advanced Unterlagen steht geschrieben, dass Quotas eigentlich auch nur für Benutzer bzw. Gruppen gesetzt werden können und nicht für Verzeichnisse. Man muss also ein virtuelles Laufwerk in das Verzeichnis mounten (= einhängen), sodass nicht das Verzeichnis mit dem vielen Platz, sondern die virtuelle Partition bzw. Datei mit z.B. nur 5 GB Größe/Speicherplatz beschrieben wird/werden kann.

  • Das mit LVM hört sich noch interessant an. Ich habe es bisher mit einem Verzeichnis mount probiert. Entweder hatte ich falsche Speicherlimitierungen beim "Laufwerk" oder das ding will einfach nicht laufen:


    Code
    dd if=/dev/zero of=/home/teamspeak/mount/virtualserver_id.ext3 bs=100M count=1
    mkfs.ext3 /home/teamspeak/mount/virtualserver_id.ext3
    mount -o loop,noatime,auto /home/teamspeak/mount/virtualserver_id.ext3 /home/teamspeak/files/virtualserver_id


    hatte das dann probiert und den Ordner vorerst schon mal mit 95MB gefüllt, dannach via TeamSpeak einiges hochgeladen, irgendwann war dann auch das limit erreicht und TeamSpeak schrieb, dass kein Speicher mehr vorhanden sei, soweit so gut. Jedoch nach dem Löschen der Dateien und wie befüllen, wollte er dann nicht mehr ganz und hatte den Upload komplett verweigert X/


    Ich frage mich dann nur, wieso genau TeamSpeak, die viele Features eingebaut haben, auch keine Speicherlimitierung per Server eingebaut haben.

    • Offizieller Beitrag

    Top, hört sich schon mal gut an. :)

    Jedoch nach dem Löschen der Dateien und wie befüllen, wollte er dann nicht mehr ganz und hatte den Upload komplett verweigert


    Probier es doch mal so:

    Code
    mount -o loop,rw,usrquota,grpquota /home/teamspeak/mount/virtualserver_id.ext3 /home/teamspeak/files/virtualserver_id


    Ich frage mich dann nur, wieso genau TeamSpeak, die viele Features eingebaut haben, auch keine Speicherlimitierung per Server eingebaut haben.


    Ich kann es später ja mal vorschlagen. ;)

  • Ich kann es später ja mal vorschlagen. ;)


    Das wäre toll :D Das erspart einigen Hostern sicher ärger ^^


    Mir ist da eben etwas noch dazu eingefallen, obs umsetzbar ist weiß ich nicht so ganz, da ich mich bash noch nicht so gut auskenne:


    Ein Symlink auf die virtualserver_id Ordner, dieser Symlink linkt auf eine bash (?), diese checkt wie viel Speicher in nutzung ist und gibt dann entweder eine Fehlermeldung aus, oder lässt die Dateiverwaltung weiterleiten.


    Möglich oder nicht? Ich denke aber nicht, das wäre wieder zu einfach gelöst X/

  • Dieses Thema enthält 5 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind, bitte registrieren Sie sich oder melden Sie sich an um diese lesen zu können.