Email Konten Speicherplatzberechnung

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von shadowcast, 18. Juni 2015.

  1. shadowcast

    shadowcast Member

    Morgen,

    ich habe die meisten meiner Mail Konten auf 1GB beschränkt.
    Ich habe ein paar Konten, welche im 10 Minuten Takt von einem Exchange Server abgeholt werden. Die Nachrichten werden dann gleich vom Webserver gelöscht. Sehe ich über Roundcube ins Postfach, klappt das einwandfrei.

    Allerdings stimmen im ISPConfig die Werte für den "verbrauchten Speicherplatz" nicht. Irgendwie bekommt der wohl von den Löschaktionen nichts mit, sodass die Postfächer wachsen und wachsen bis die Überschreitungsmails kommen.

    Gestern das Szenario, dass ein Konto bereits überschritten war. (~1.050MB) Ein Login über Roundcube zeigte sämtliche Ordner ohne Inhalt an. Speicherverbrauch im Roundcube 0%. Auch keine weiteren Ordner vorhanden.
    Im ISPConfig war dann auch plötzlich der Speicherverbrauch bei 0?

    Wie und wann werden die Statistiken berechnet?
    Kann das so jemand reproduzieren?
    Mögliche Lösungen?

    LG
     
  2. Till

    Till Administrator

    Bist Du sicher, dass die Emails nicht da sind? Outlook markiert Emails als gelöscht, entfernt sie aber nicht. Vielleicht macht exchange das auch so. wenn roundcube sich an das löschen flag hält, zeigt er sie nicht an, das heißt aber nicht dass sie nicht mehr vorhanden sind und auch keinen speicher belegen. Schau bitte mal auf der shell nach, z.B. so:

    du -h --max-depth=1 /var/vmail/domain.tld

    das sollte Dir die Speichernutzung für alle Postfächer von domain.tld ausgeben.
     
  3. shadowcast

    shadowcast Member

    Hi,

    die Ausgabe deines Befehls weicht gut von dem angezeigten Speicherplatz im ISPConfig ab.
    Für mich stimmen die Konsolenwerte. Auch wird mir das bestätigt wenn ich in Roundcube sehe.

    Die Einstellung welche du in Roundcube meinst ist vermutlich unter Einstellungen -> Server-Einstellungen der Punkt "Zeige keine gelöschten Nachrichten an" Dieser ist standard deaktiviert. So oder so. Die Postfächer werden sauber vom Exchange alle 10 Minuten geleert.

    LG
     
  4. florian030

    florian030 Member

    Hast Du evtl. im Maildir ein quota-File .quotausage?
     
  5. shadowcast

    shadowcast Member

    Ja so eine Datei ist in jedem Konto vorhanden???
     
  6. florian030

    florian030 Member

    Es kann sein, dass das der Grund für die falsche quota-Angabe ist. Ist die Datei vorhanden, wird diese nämlich verwendet.
     
  7. shadowcast

    shadowcast Member

    Hi,

    also aktuell zeigt mir ISPConfig ein Konto mit knapp 10MB an.
    Webmailer ist leer.
    Konsole zeigt 224KB.
    Die .quotausage:
    Code:
    storage = 0
    messages = 0
    LG
     
  8. Till

    Till Administrator

    ISPConfig zeigt die Daten nicht realtime an sondern aktualisiert nur von Zeit zu Zeit, d.h. es waren 10 MB in der Mailbox zu dem Zeitpunkt zu dem ISPConfig den Speicherplatzverbrauch gemessen hat und jetzt ist das Postfach halt wieder leer.
     
  9. shadowcast

    shadowcast Member

    Wann werden denn die Daten aktualisiert? Bestimmte Zeit oder ab einer gewissen Größe?
     
  10. Till

    Till Administrator

    Nach Zeit, größe würde ja ekinen Sinn machen denn die weiß man ja erst nachdem man sie bestimmt hat. Wann genau kann ich aus dem Kopf nicht sagen, könntest Du im monitor core module code nachsehen.
     
  11. Kaimane

    Kaimane Member

    Emailquota wird laut monitor_core_module.inc.php "nur" alle 15 Minuten neu berechnet, da die Erhebung der Daten recht rechenintensiv ist / sein kann. Daher können die Angaben in der Übersicht vom momentanen Ist-Wert einer E-Mail-Kontos um max. 15 Minuten abweichen.
     
  12. florian030

    florian030 Member

    Hast Du evtl. in der Tabelle monitor_data mehrere Einträge für den Type mail_data für den gleichen Server? Via phpmyadmin z.B. mit
    Code:
    SELECT * FROM `monitor_data` WHERE `type`="email_quota" ORDER BY `monitor_data`.`server_id` ASC
     
  13. shadowcast

    shadowcast Member

    Hallo,

    nein mit dem Befehl erhalte ich nur 1 Ergebnis, betrifft aber ein anderes Konto.

    Soeben habe ich die Sache nochmal angesehen. Wie erwähnt, der Exchange läuft korrekt und holt die Daten zuverlässig alle 10 Minuten ab und löscht sie auch.
    Nun sehe ich mir die Konten gerade an. Alle sind kurz vor dem 3 stelligen Megabyte Bereich.
    Kann ned sein! Der Blick in Roundcube bestätigt, alles leer. (Hab jetzt nur bei einem Konto ins Roundcube gesehen!)

    Ein Blick in die E-Mail Konto Speichernutzung im ISPConfig, unveränderter Wert. Einige Minuten späten war dann exakt dieses Konto bei 0.

    Für mich passt da was an der Berechnung nicht.

    LG
     
  14. florian030

    florian030 Member

    Und was passt da jetzt nicht? Das ist kein realtime-Monitoring.
     
  15. shadowcast

    shadowcast Member

    Das Problem wie schon geschildert ist, dass die Konten alle 10 Minuten vom Exchange geleert werden.
    Dies bekommt der Zähler aber aus irgendeinem Grund nicht mit, sodass er ständig weiter hoch zählt, bis das Kontenlimit erreicht ist.
    Sehe ich auf der Konsole, sowie im Roundcube arbeitet der Exchange korrekt. Aber erst nach Login im Roundcube wird, warum auch immer, eine Funktion angestoßen, welche auch wieder die Statistiken im ISPConfig korrigiert.

    Mir ist klar, dass hier kein Echtzeit-Monitoring stattfindet. Aber ein Konto welches in der Realität leer ist, sollte doch nicht als voll angezeigt werden.

    Über Fernwartung könnte ich einem Entwickler Einsicht gewähren. In meinen Augen handelt es sich um einen Fehler, der schlichtweg bei der Entwicklung nicht mit eingerechnet bzw. eingedacht wurde.

    Aktueller Stand:
    Konto ISPConfig Konsole
    1 600K 236K
    2 220K 264K
    3 7M 180K
    4 6M 208K
    5 70M 196K
    Das Konto 2 wurde gestern mit Roundcube geöffnet!

    LG
     
  16. florian030

    florian030 Member

    Ich würde mal behaupten, dass ggf. der Exchange einfach falsch konfiguriert ist. Man kann z.B. per IMAP Mails tatsächloch löschen oder schlicht als deleted flaggen. Ich habe keine Ahnung welche Version Du benutzt, aber man könnte auch im Monitoring-Plugin ein "du" als default setzen und damit .quotausage umgehen. Das produziert mitunter aber gut Last, gibt dafür aber den tatsächlichen Platz aus.

    Ich habe das Problem weder auf meinen Server noch auf Kundenservern. Aber wenn sich das jemand angesehen hat, kann dieser Jemand sicherlich mehr dazu sagen.
     
  17. shadowcast

    shadowcast Member

    Naja definitiv passt irgendwo irgendetwas ned. ;-)
    Für mein Verständnis? Sollte der Exchange die Mail nur als deleted markieren, sprich keinen expunge durchführen, müsste doch die Mail definitiv im Postfach sein. Dies sollte dann auch die Konsolenausgabe anzeigen? Wie in meinem letzten Post zeigt die Konsole aber dass alles passt und leer ist.

    *verwirrt*
     
  18. florian030

    florian030 Member

    Ist das eigentlich Single-Server oder Multi-Server? Courier oder Dovecot?

    Du kannst ja testweise den Loglevel auf Debug setzen (dann solltest Du Einträge ala "Mail storage $email:" im Log finden) oder in /usr/local/ispconfig/server/lib/classes/monitor_tools.inc.php ein paar Zeilen so abändern (ab Zeile 270):
    Code:
    /*
                    if(file_exists($filename) && !is_link($filename)) {
                        $quotafile = file($filename);
                        preg_match('/storage.*?([0-9]+)/s', implode('',$quotafile), $storage_value);
                        $data[$email]['used'] = $storage_value[1];
                        $app->log("Mail storage $email: " . $storage_value[1], LOGLEVEL_DEBUG);
                        unset($quotafile);
                    } else {
    */
                        exec('du -s '.escapeshellcmd($mb['maildir']), $out);
                        $parts = explode(' ', $out[0]);
                        $data[$email]['used'] = intval($parts[0])*1024;
                        unset($out);
                        unset($parts);
    //              }
    
     
  19. shadowcast

    shadowcast Member

    Morgen,
    es ist eine Single-Server Konfiguration mit Dovecot.
    LG
     
  20. florian030

    florian030 Member

    Ok. Solange Du nicht den Source aus #18 anpast, werden die quotas nicht von ISPConfig, sondern von Dovecot berechnet.
    Hast Du bei mail_plugins in /etc/dovecot/dovecot.conf auch quota eingetragen?
    doveadm quota get -A zeigt Dir die aktuellen quotas von Dovecot und doveadm quota recalc -A berechnet sie neu.
     

Diese Seite empfehlen