Optimierung der E-Mail-Speicherung in der Zimbra Collaboration Suite

In einem unserer vorherige Artikel, das sich der Infrastrukturplanung bei der Implementierung der Zimbra Collabortion Suite in einem Unternehmen widmet, wurde gesagt, dass die Haupteinschränkung beim Betrieb dieser Lösung die E/A-Geschwindigkeit von Festplattengeräten in E-Mail-Speichern sei. In einer Zeit, in der mehrere hundert Mitarbeiter eines Unternehmens gleichzeitig auf denselben E-Mail-Speicher zugreifen, reicht die Kanalbreite zum Schreiben und Lesen von Informationen von Festplatten möglicherweise nicht für den reaktionsschnellen Betrieb des Dienstes aus. Und wenn dies bei kleinen Zimbra-Installationen kein besonderes Problem darstellt, kann dies bei großen Unternehmen und SaaS-Anbietern dazu führen, dass E-Mails nicht mehr reagieren und in der Folge die Effizienz der Mitarbeiter sinkt und es zu Verstößen kommt von SLAs. Deshalb sollte bei der Konzeption und dem Betrieb großer Zimbra-Installationen besonderes Augenmerk auf die Optimierung der Leistung von Festplatten im Mailspeicher gelegt werden. Schauen wir uns zwei Fälle an und versuchen herauszufinden, welche Methoden zur Optimierung der Auslastung des Festplattenspeichers in jedem dieser Fälle angewendet werden können.

Optimierung der E-Mail-Speicherung in der Zimbra Collaboration Suite

1. Optimierung beim Entwurf einer groß angelegten Zimbra-Installation

Während der Entwurfsphase einer Zimbra-Installation mit hoher Auslastung muss der Administrator entscheiden, welches Speichersystem verwendet werden soll. Um zu diesem Thema zu entscheiden, sollten Sie wissen, dass die Hauptlast auf Festplatten vom MariaDB-DBMS stammt, das in der Zimbra Collaboration Suite, der Apache Lucene-Suchmaschine und dem Blob-Speicher enthalten ist. Deshalb ist es für den Betrieb dieser Softwareprodukte unter Hochlastbedingungen erforderlich, schnelle und zuverlässige Geräte zu verwenden.

Unter normalen Bedingungen kann Zimbra sowohl auf RAID von Festplatten als auch auf über das NFS-Protokoll verbundenen Speicher installiert werden. Bei sehr kleinen Installationen können Sie Zimbra auf einem normalen SATA-Laufwerk installieren. Allerdings weisen alle diese Technologien im Rahmen großer Installationen verschiedene Nachteile in Form einer verringerten Aufzeichnungsgeschwindigkeit oder einer geringen Zuverlässigkeit auf, was weder für große Unternehmen noch insbesondere für SaaS-Anbieter inakzeptabel ist.

Aus diesem Grund ist es in großen Zimbra-Infrastrukturen am besten, ein SAN zu verwenden. Es ist diese Technologie, die derzeit in der Lage ist, den größten Durchsatz für Speichergeräte bereitzustellen, und gleichzeitig stellt ihr Einsatz dank der Möglichkeit, eine große Menge Cache anzuschließen, praktisch keine nennenswerten Risiken für das Unternehmen dar. Es ist eine gute Idee, NVRAM zu verwenden, das in vielen SANs verwendet wird, um die Schreibvorgänge zu beschleunigen. Es ist jedoch besser, das Caching der aufgezeichneten Daten auf den Festplatten selbst zu deaktivieren, da dies bei Stromproblemen zu irreparablen Schäden an den Medien und zum Datenverlust führen kann.

Was die Auswahl eines Dateisystems betrifft, wäre die Verwendung des Standard-Linux Ext3/Ext4 die beste Wahl. Die wichtigste Nuance im Zusammenhang mit dem Dateisystem besteht darin, dass es mit dem Parameter gemountet werden sollte -noatime. Diese Option deaktiviert die Funktion zum Aufzeichnen des Zeitpunkts des letzten Zugriffs auf Dateien, was bedeutet, dass die Belastung beim Lesen und Schreiben erheblich reduziert wird. Im Allgemeinen sollten Sie beim Erstellen eines ext3- oder ext4-Dateisystems für Zimbra die folgenden Dienstprogrammparameter verwenden mke2fs:

-j — So erstellen Sie ein Dateisystemjournal: Erstellen Sie das Dateisystem mit einem ext3/ext4-Journal.
-L NAME – Um einen Volume-Namen zu erstellen, der dann in /etc/fstab verwendet wird
-O dir_index – Um einen Hash-Suchbaum zu verwenden, um die Dateisuche in großen Verzeichnissen zu beschleunigen
-m 2 — Um 2 % des Volumens in großen Dateisystemen für das Stammverzeichnis zu reservieren
-J-Größe=400 — Um ein großes Magazin zu erstellen
-b 4096 — Zur Bestimmung der Blockgröße in Bytes
-ich 10240 - Für die Nachrichtenspeicherung sollte diese Einstellung der durchschnittlichen Nachrichtengröße entsprechen. Diesem Parameter sollten Sie besondere Aufmerksamkeit schenken, da sein Wert später nicht mehr geändert werden kann.

Es wird auch empfohlen, es zu aktivieren dirsync für Blobspeicher, Lucene-Suchmetadatenspeicher und MTA-Warteschlangenspeicher. Dies sollte erfolgen, da Zimbra normalerweise das Dienstprogramm verwendet fsync zum garantierten Schreiben eines Blobs mit Daten auf die Festplatte. Wenn jedoch der Zimbra-Mail-Store oder MTA während der Nachrichtenübermittlung neue Dateien erstellt, ist es erforderlich, die in den entsprechenden Ordnern vorgenommenen Änderungen auf die Festplatte zu schreiben. Dies ist der Grund, warum die Datei bereits mit auf die Festplatte geschrieben wurde fsync, hat der Eintrag über die Hinzufügung zum Verzeichnis möglicherweise keine Zeit, auf die Festplatte geschrieben zu werden, und kann daher aufgrund eines plötzlichen Serverausfalls verloren gehen. Dank der Verwendung dirsync Diese Probleme können vermieden werden.

2. Optimierung mit laufender Zimbra-Infrastruktur

Es kommt häufig vor, dass nach mehreren Jahren der Nutzung von Zimbra die Anzahl seiner Benutzer erheblich zunimmt und der Dienst von Tag zu Tag weniger reagiert. Der Ausweg aus dieser Situation liegt auf der Hand: Sie müssen lediglich neue Server zur Infrastruktur hinzufügen, damit der Dienst wieder so schnell funktioniert wie zuvor. Mittlerweile ist es nicht immer möglich, sofort neue Server zur Infrastruktur hinzuzufügen, um deren Leistung zu steigern. IT-Verantwortliche müssen den Kauf neuer Server oft lange mit der Buchhaltung oder der Sicherheitsabteilung koordinieren und werden zudem häufig von Lieferanten enttäuscht, die einen neuen Server verspätet oder sogar falsch liefern können.

Natürlich ist es am besten, Ihre Zimbra-Infrastruktur mit einer Reserve aufzubauen, um immer eine Reserve für deren Erweiterung zu haben und nicht von irgendjemandem abhängig zu sein. Wenn jedoch bereits ein Fehler gemacht wurde, kann der IT-Manager dessen Folgen nur so glätten so viel wie möglich. Beispielsweise kann ein IT-Manager eine kleine Produktivitätssteigerung erzielen, indem er Linux-Systemdienste vorübergehend deaktiviert, die im Betrieb regelmäßig auf Festplatten zugreifen und sich daher negativ auf die Leistung von Zimbra auswirken können. Sie können also Folgendes vorübergehend deaktivieren:

Autofs, Netfs - Remote-Dateisystem-Erkennungsdienste
Tassen — Druckservice
xinetd, vsftpd - Integrierte *NIX-Dienste, die Sie wahrscheinlich nicht benötigen
portmap, rpcsvcgssd, rpcgssd, rpcidmapd – Remoteprozeduraufrufdienste, die normalerweise in Verbindung mit Netzwerkdateisystemen verwendet werden
dovecot, cyrus-imapd, sendmail, exim, postfix, ldap – Duplikate der wichtigsten Dienstprogramme, die in der Zimbra Collaboration Suite enthalten sind
slocate/updatedb - Da Zimbra jede Nachricht in einer separaten Datei speichert, kann die tägliche Ausführung des Updatesb-Dienstes zu Problemen führen. Daher ist es möglich, dies manuell bei geringster Belastung der Server durchzuführen

Die Einsparung von Systemressourcen durch die Deaktivierung dieser Dienste wird nicht sehr bedeutend sein, aber selbst dies kann unter Bedingungen, die einer höheren Gewalt nahekommen, sehr nützlich sein. Sobald der neue Server zur Zimbra-Infrastruktur hinzugefügt wird, wird empfohlen, die zuvor deaktivierten Dienste wieder zu aktivieren.

Sie können den Betrieb von Zimbra auch optimieren, indem Sie den Syslog-Dienst auf einen separaten Server verschieben, damit er während des Betriebs die Festplatten von Mail-Speichern nicht belastet. Für diese Zwecke eignet sich fast jeder Computer, sogar ein günstiger Single-Board-Raspberry Pi.

Source: habr.com

Kommentar hinzufügen