Dies ist eine alte Version des Dokuments!
Dovecot, Quotas - Speicherquoten für User und Maildomains
Wer kennt es nicht, das Dilemma mit dem Bewerten der eMails, nach wichtigen, sprich aufbewahrungswürdigen Nachrichten und unwichtigen Nachrichten, die gelöscht werden können. Werden viele Mailinglisten abboniert, wird die Sache nicht wesentlich einfacher.
Tja, und in den allermeisten Fällen ist man auf einem Multiusersystem, wie einem Mail-/IMAP-Server nicht alleine unterwegs, sondern teilt sich die Ressource mit vielen Usern. Da dieses Ressource, sprich die Speicherkapazität des IMAP-Servers i.d.R. physikalische Grenzen gesetzt sind, stellt sich die Frage, wie nun mit dieser Herausforderung umgehen.
Im Idealfall hat man neben einigen Powerusern, die weit über die Stränge schlagen, eine große Masse an Anwendern, die weit ab der imaginären Meßlatte liegen. Selbst bei einem System mit 2.700 Nutzern und zig Powerusern hält sich der durchschnittliche Datenverbrauch in Grenzen und das ganz ohne Quotaregelung!
Auf der anderen Seite habe ich da ein System mit nur knapp 400 Nutzer, die regelmäßig an die Speichergrenzen des verfügbaren Servers stoßen und das trotz großzügigster 5 GB pro Nutzer. Trotz regelmäßig einlaufender Klagen der Absender, die vergeblich versuchen ihre geschäftliche Korrespondenz einzuliefern, verweigert der Mailserverr die Annahme weiterer Nachrichten.
Der Einsatz einer Quotaregelung kann helfen, muss es aber nicht. Eine entsprechende Regelung sollte wohl durchdacht und mit den Nutzern abgestimmt werden, ansonsten ist man mitunter mehr mit Supportanfragen beschäftigt, als einem lieb und teuer ist.
Rahmenbedingungen
Beim Einsatz von Speicherquoten bei unserem Dovecot-Server können wir verschiedenste Speicherbereiche zusammenfassen; man bezeichnet diese Bereiche auch als Quota-Roots. So ist es möglich den Platzbedarf einer ganzen Maildomain zu überwachen. Da wir unsere Maildomains mit Postfixadmin verwalten, können wir bei der Definition einer Domain den zugewiesenen Speicherplatz dort auch definieren.
Auf der einen Seite können wir den Speicherbedarf des jeweiligen Postfachs eines Endbenutzers überwachen. Hier können wir für alle User einer Domain den gleichen Platzbedarf festlegen, oder natürlich auch unterschiedliche Speichergrößen definieren - für das gemeine Fußvolk weniger und für die VIPs entsprechend mehr. Auch diese Festlegung können wir mit hilfe von Postfixadmin treffen.
Mit der Definition des möglichen Speicherbedarfs ist es natürlich noch nicht getan. Unser Dovecot-Server muss natürlich auch den aktuellen und tatsächlichen Platzbedarf eines jeden Quota-Roots ermitteln und sich merken. Hierzu kommen die verschiedenen Quota-Backends zum Einsatz. Von den zur Verfügung stehenden Quota-Backends werden wir uns die beiden Verfahren maildir und http://wiki2.dovecot.org/Quota/Dict kurz ansehen.
- maildir Im Homeverzeichnis legt der Dovecot-Server eine Datei Namens maildirsize an. In dieser Datei vermerkt der Dovecot-Server den tatsächlichen Speicherverbrauch, der sowohl beim Eingang und beim Löschen von Nachrichten aktualisiert wird und darüber hinaus noch in regelmäßigen Abständen.
- dict Man kann zu Verwaltung der Quotas natürlich auch auf sog. Dictionary zurückgreifen. In der Regel macht man das, wenn man auf ein SQL-Backend zurückgreifen will oder muss.