Βελτιστοποίηση αποθήκευσης αλληλογραφίας στο Zimbra Collaboration Suite

Σε ένα από τα δικά μας προηγούμενα άρθρα, αφιερωμένο στον σχεδιασμό υποδομής κατά την εφαρμογή του Zimbra Collabortion Suite σε μια επιχείρηση, ειπώθηκε ότι ο κύριος περιορισμός στη λειτουργία αυτής της λύσης είναι η ταχύτητα I/O των συσκευών δίσκου σε αποθηκευτικούς χώρους αλληλογραφίας. Πράγματι, σε μια εποχή που πολλές εκατοντάδες εργαζόμενοι μιας επιχείρησης έχουν ταυτόχρονα πρόσβαση στον ίδιο χώρο αποθήκευσης αλληλογραφίας, το πλάτος του καναλιού για την εγγραφή και την ανάγνωση πληροφοριών από σκληρούς δίσκους μπορεί να μην είναι αρκετό για την ανταποκρινόμενη λειτουργία της υπηρεσίας. Και αν για μικρές εγκαταστάσεις της Zimbra αυτό δεν θα είναι ιδιαίτερο πρόβλημα, τότε στην περίπτωση των μεγάλων επιχειρήσεων και των παρόχων SaaS, όλα αυτά μπορούν να οδηγήσουν σε μη ανταπόκριση email και, ως αποτέλεσμα, μείωση της αποτελεσματικότητας των εργαζομένων, καθώς και παραβίαση των SLA. Γι' αυτό, κατά το σχεδιασμό και τη λειτουργία εγκαταστάσεων Zimbra μεγάλης κλίμακας, θα πρέπει να δοθεί ιδιαίτερη προσοχή στη βελτιστοποίηση της απόδοσης των σκληρών δίσκων στην αποθήκευση αλληλογραφίας. Ας δούμε δύο περιπτώσεις και ας προσπαθήσουμε να μάθουμε ποιες μέθοδοι βελτιστοποίησης του φορτίου στην αποθήκευση δίσκου μπορούν να εφαρμοστούν σε καθεμία από αυτές.

Βελτιστοποίηση αποθήκευσης αλληλογραφίας στο Zimbra Collaboration Suite

1. Βελτιστοποίηση κατά το σχεδιασμό μιας εγκατάστασης Zimbra μεγάλης κλίμακας

Κατά τη φάση σχεδιασμού μιας εγκατάστασης Zimbra υψηλού φορτίου, ο διαχειριστής θα πρέπει να επιλέξει ποιο σύστημα αποθήκευσης θα χρησιμοποιήσει. Για να αποφασίσετε σχετικά με αυτό το ζήτημα, θα πρέπει να γνωρίζετε ότι το κύριο φορτίο στους σκληρούς δίσκους προέρχεται από το MariaDB DBMS που περιλαμβάνεται στο Zimbra Collaboration Suite, τη μηχανή αναζήτησης Apache Lucene και την αποθήκευση blob. Αυτός είναι ο λόγος για τον οποίο για να λειτουργήσετε αυτά τα προϊόντα λογισμικού υπό συνθήκες υψηλού φορτίου, είναι απαραίτητο να χρησιμοποιείτε εξοπλισμό υψηλής ταχύτητας και αξιοπιστίας.

Υπό κανονικές συνθήκες, το Zimbra μπορεί να εγκατασταθεί τόσο σε RAID σκληρών δίσκων όσο και σε αποθηκευτικό χώρο συνδεδεμένο μέσω του πρωτοκόλλου NFS. Για πολύ μικρές εγκαταστάσεις, μπορείτε να εγκαταστήσετε το Zimbra σε μια κανονική μονάδα SATA. Ωστόσο, στο πλαίσιο μεγάλων εγκαταστάσεων, όλες αυτές οι τεχνολογίες παρουσιάζουν διάφορα μειονεκτήματα με τη μορφή μειωμένης ταχύτητας εγγραφής ή χαμηλής αξιοπιστίας, κάτι που δεν είναι αποδεκτό ούτε για μεγάλες επιχειρήσεις ούτε, ειδικά για τους παρόχους SaaS.

Αυτός είναι ο λόγος για τον οποίο σε μεγάλης κλίμακας υποδομές Zimbra είναι καλύτερο να χρησιμοποιείτε ένα SAN. Αυτή η τεχνολογία είναι που είναι σήμερα ικανή να παρέχει τη μεγαλύτερη απόδοση για συσκευές αποθήκευσης και ταυτόχρονα, χάρη στη δυνατότητα σύνδεσης μεγάλης ποσότητας κρυφής μνήμης, η χρήση της ουσιαστικά δεν εγκυμονεί σημαντικούς κινδύνους για την επιχείρηση. Είναι καλή ιδέα να χρησιμοποιήσετε το NVRAM, το οποίο χρησιμοποιείται σε πολλά SAN για την επιτάχυνση των πραγμάτων κατά την εγγραφή. Αλλά είναι καλύτερο να απενεργοποιήσετε την προσωρινή αποθήκευση των εγγεγραμμένων δεδομένων στους ίδιους τους δίσκους, καθώς μπορεί να οδηγήσει σε ανεπανόρθωτη ζημιά στα μέσα και απώλεια δεδομένων εάν παρουσιαστούν προβλήματα τροφοδοσίας.

Όσον αφορά την επιλογή ενός συστήματος αρχείων, η καλύτερη επιλογή θα ήταν να χρησιμοποιήσετε το τυπικό Linux Ext3/Ext4. Η κύρια απόχρωση που σχετίζεται με το σύστημα αρχείων είναι ότι πρέπει να προσαρτηθεί με την παράμετρο - noatime. Αυτή η επιλογή θα απενεργοποιήσει τη λειτουργία καταγραφής του χρόνου της τελευταίας πρόσβασης σε αρχεία, πράγμα που σημαίνει ότι θα μειώσει σημαντικά τον φόρτο ανάγνωσης και εγγραφής. Γενικά, όταν δημιουργείτε ένα σύστημα αρχείων ext3 ή ext4 για το Zimbra, θα πρέπει να χρησιμοποιήσετε τις ακόλουθες παραμέτρους βοηθητικού προγράμματος mke2fs:

-j — Για να δημιουργήσετε ένα ημερολόγιο συστήματος αρχείων Δημιουργήστε το σύστημα αρχείων με ένα ημερολόγιο ext3/ext4.
-L ΟΝΟΜΑ - Για να δημιουργήσετε ένα όνομα τόμου για χρήση στη συνέχεια στο /etc/fstab
-O dir_index - Για να χρησιμοποιήσετε ένα κατακερματισμένο δέντρο αναζήτησης για να επιταχύνετε τις αναζητήσεις αρχείων σε μεγάλους καταλόγους
-m 2 — Για να κρατήσετε το 2% του τόμου σε μεγάλα συστήματα αρχείων για τον ριζικό κατάλογο
-J μέγεθος=400 — Για να δημιουργήσετε ένα μεγάλο περιοδικό
-β 4096 — Για να προσδιορίσετε το μέγεθος του μπλοκ σε byte
-ι 10240 - Για αποθήκευση μηνυμάτων, αυτή η ρύθμιση πρέπει να αντιστοιχεί στο μέσο μέγεθος μηνύματος. Θα πρέπει να δώσετε ιδιαίτερη προσοχή σε αυτήν την παράμετρο, καθώς η τιμή της δεν μπορεί να αλλάξει αργότερα.

Συνιστάται επίσης να ενεργοποιήσετε dirsync για αποθήκευση blob, αποθήκευση μεταδεδομένων αναζήτησης Lucene και αποθήκευση ουράς MTA. Αυτό πρέπει να γίνει επειδή το Zimbra χρησιμοποιεί συνήθως το βοηθητικό πρόγραμμα fsync για εγγυημένη εγγραφή μιας σταγόνας με δεδομένα στο δίσκο. Ωστόσο, όταν το κατάστημα αλληλογραφίας Zimbra ή το MTA δημιουργεί νέα αρχεία κατά την παράδοση μηνυμάτων, καθίσταται απαραίτητο να εγγραφούν στο δίσκο οι αλλαγές που συμβαίνουν στους αντίστοιχους φακέλους. Αυτός είναι ο λόγος για τον οποίο, ακόμα κι αν το αρχείο έχει ήδη γραφτεί στο δίσκο χρησιμοποιώντας fsync, η εγγραφή της προσθήκης της στον κατάλογο μπορεί να μην έχει χρόνο για εγγραφή στο δίσκο και, ως εκ τούτου, μπορεί να χαθεί λόγω ξαφνικής αποτυχίας διακομιστή. Χάρη στη χρήση dirsync αυτά τα προβλήματα μπορούν να αποφευχθούν.

2. Βελτιστοποίηση με την υποδομή Zimbra σε λειτουργία

Συμβαίνει συχνά μετά από αρκετά χρόνια χρήσης του Zimbra, ο αριθμός των χρηστών του να αυξάνεται σημαντικά και η υπηρεσία να ανταποκρίνεται ολοένα και λιγότερο καθημερινά. Η διέξοδος από αυτήν την κατάσταση είναι προφανής: χρειάζεται απλώς να προσθέσετε νέους διακομιστές στην υποδομή, ώστε η υπηρεσία να λειτουργεί ξανά όσο πιο γρήγορα και πριν. Εν τω μεταξύ, δεν είναι πάντα δυνατή η άμεση προσθήκη νέων διακομιστών στην υποδομή προκειμένου να αυξηθεί η απόδοσή της. Οι διαχειριστές IT συχνά πρέπει να αφιερώσουν πολύ χρόνο για να συντονίσουν την αγορά νέων διακομιστών με το τμήμα λογιστηρίου ή ασφάλειας· επιπλέον, συχνά απογοητεύονται από προμηθευτές που μπορούν να παραδώσουν έναν νέο διακομιστή καθυστερημένα ή ακόμη και να παραδώσουν το λάθος πράγμα.

Φυσικά, είναι καλύτερο να δημιουργήσετε την υποδομή Zimbra σας με ένα απόθεμα για να έχετε πάντα ένα απόθεμα για την επέκτασή της και να μην εξαρτάστε από κανέναν, ωστόσο, εάν έχει ήδη γίνει κάποιο λάθος, ο διαχειριστής IT μπορεί μόνο να εξομαλύνει τις συνέπειές του. όσο το δυνατόν περισσότερο. Για παράδειγμα, ένας διαχειριστής IT μπορεί να επιτύχει μια μικρή αύξηση της παραγωγικότητας απενεργοποιώντας προσωρινά τις υπηρεσίες συστήματος Linux που έχουν τακτική πρόσβαση σε σκληρούς δίσκους κατά τη λειτουργία και επομένως μπορεί να επηρεάσει αρνητικά την απόδοση της Zimbra. Έτσι, μπορείτε να απενεργοποιήσετε προσωρινά:

autofs, netfs - Υπηρεσίες απομακρυσμένης ανακάλυψης συστήματος αρχείων
φλιτζάνια — Υπηρεσία εκτύπωσης
xinetd, vsftpd - Ενσωματωμένες υπηρεσίες *NIX που πιθανότατα δεν θα χρειαστείτε
portmap, rpcsvcgssd, rpcgssd, rpcidmapd — Υπηρεσίες κλήσης απομακρυσμένης διαδικασίας, οι οποίες συνήθως χρησιμοποιούνται σε συνδυασμό με συστήματα αρχείων δικτύου
περιστεριώνα, cyrus-imapd, sendmail, exim, postfix, ldap — Αντίγραφα των κύριων βοηθητικών προγραμμάτων που περιλαμβάνονται στη σουίτα Zimbra Collaboration
slocate/updatedb - Εφόσον το Zimbra αποθηκεύει κάθε μήνυμα σε ξεχωριστό αρχείο, η καθημερινή εκτέλεση της υπηρεσίας updatedb μπορεί να προκαλέσει προβλήματα και επομένως είναι δυνατό να γίνει αυτό με μη αυτόματο τρόπο κατά τη διάρκεια του ελάχιστου φορτίου στους διακομιστές

Η εξοικονόμηση πόρων του συστήματος ως αποτέλεσμα της απενεργοποίησης αυτών των υπηρεσιών δεν θα είναι πολύ σημαντική, αλλά ακόμη και αυτό μπορεί να είναι πολύ χρήσιμο σε συνθήκες κοντά σε ανωτέρα βία. Μόλις προστεθεί ο νέος διακομιστής στην υποδομή Zimbra, συνιστάται να ενεργοποιήσετε ξανά τις υπηρεσίες που είχαν απενεργοποιηθεί προηγουμένως.

Μπορείτε επίσης να βελτιστοποιήσετε τη λειτουργία του Zimbra μετακινώντας την υπηρεσία syslog σε ξεχωριστό διακομιστή, ώστε κατά τη λειτουργία να μην φορτώνει τους σκληρούς δίσκους των αποθηκευτικών μέσων αλληλογραφίας. Σχεδόν οποιοσδήποτε υπολογιστής είναι κατάλληλος για αυτούς τους σκοπούς, ακόμη και ένα φτηνό Raspberry Pi μιας πλακέτας.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο