Optimalizácia fungovania e-mailových úložísk v Zimbra Collaboration Suite

V jednom z našich predchádzajúcich článkov, ktorý sa zaoberal plánovaním infraštruktúry pri implementácii Zimbra Collaboration Suite vo firmách, bolo uvedené, že hlavným obmedzením pri práci s týmto riešením je rýchlosť vstupu a výstupu diskových zariadení v e-mailových úložištiach. A skutočne, keď niekoľko stoviek zamestnancov súčasne pristupuje k jednému a tomu istému e-mailovému úložisku, šírka pásma pre zápis a čítanie informácií z pevných diskov nemusí stačiť na to, aby služba bola responzívna. A hoci pre malé inštalácie Zimbra to nemusí byť veľký problém, v prípade veľkých podnikov a SaaS poskytovateľov to môže viesť k nereagovaniu e-mailu a, v dôsledku toho, k zníženiu efektívnosti zamestnancov a porušeniu SLA. Preto je pri návrhu a prevádzke rozsiahlych inštalácií Zimbra nevyhnutné venovať osobitnú pozornosť otázkam optimalizácie fungovania pevných diskov v e-mailovom úložisku. Pozrime sa na dva prípady a pokúsme sa zistiť, aké metódy optimalizácie záťaže diskových úložísk môžeme v každom z nich aplikovať.

Optimalizácia fungovania e-mailových úložísk v Zimbra Collaboration Suite

1. Optimalizácia pri návrhu rozsiahlej inštalácie Zimbra

V etape návrhu vysoko zaťaženého nasadenia Zimbra je na administrátorovi, aby sa rozhodol, aký systém ukladania údajov používať. Aby sa mohol rozhodnúť, je potrebné vedieť, že hlavnú záťaž na pevné disky vytvárajú databázy MariaDB, vyhľadávací systém Apache Lucene a úložisko objektov BLOB, ktoré sú súčasťou Zimbra Collaboration Suite. Preto je pre chod týchto softvérových produktov v podmienkach vysokých záťaží potrebné používať rýchly a spoľahlivý hardvér.

Za normálnych podmienok je možné Zimbra nainštalovať buď na RAID z pevných diskov, alebo na úložiská prepojené protokolom NFS. Pre veľmi malé inštalácie je možné nainštalovať Zimbra na obyčajný SATA disk. Avšak podmienky veľkých inštalácií ukazujú na rôzne nedostatky týchto technológií v podobe zníženej rýchlosti zápisu alebo nízkej spoľahlivosti, čo nie je akceptovateľné ani pre veľké podniky, ani, samozrejme, pre poskytovateľov SaaS.

Preto v podmienkach rozsiahlych infraštruktúr Zimbra je najlepšie používať SAN. Ten v súčasnosti dokáže zabezpečiť najvyššiu priepustnosť pre úložné zariadenia a zároveň, vďaka možnosti pripojenia veľkého množstva cache, jeho využitie prakticky nepredstavuje žiadne podstatné riziko pre podnik. Dobrou voľbou je použitie NVRAM, ktorá sa nachádza v mnohých SAN, na urýchlenie zápisu. Naopak, cacheovanie zapisovaných dát na samotných diskoch je lepšie vypnúť, keďže môže viesť k nezvratnému poškodeniu médií a strate dát v prípade problémov s napájaním.

Pokiaľ ide o výber súborového systému, optimálnou voľbou bude použitie štandardného pre Linux Ext3/Ext4. Hlavný fakt spojený so súborovým systémom spočíva v tom, že je potrebné ho pripojiť s parametrom -noatime. Tento parameter vypne funkciu zaznamenávania času posledného prístupu k súborom, čo znamená výrazné zníženie záťaže pri čítaní a zápise. V zásade by sa pri vytváraní súborového systému ext3 alebo ext4 pre Zimbra mali používať nasledujúce parametre nástroja mke2fs:

-j — Pre vytvorenie žurnálu súborového systému Create the file system with an ext3/ext4 journal.
-L NÁZOV — Pre vytvorenie názvu zväzku, aby sa následne mohol použiť v /etc/fstab
-O dir_index — Pre použitie hashovaného stromu vyhľadávania na zrýchlenie vyhľadávania súborov vo veľkých adresároch
-m 2 — Pre rezervovanie 2% objemu vo veľkých súborových systémoch pod koreňový adresár
-J size=400 — Pre vytvorenie veľkého žurnálu
-b 4096 — Pre určenie veľkosti bloku v bajtoch
-i 10240 — Pre úložisko správ by mal tento parameter zodpovedať priemernému veľkosti správ. Treba venovať pozornosť tomuto parametru, pretože jeho hodnotu neskôr nebude možné zmeniť.

Okrem toho sa odporúča zapnúť dirsync pre úložisko BLOB-objektov, úložisko meta-dát vyhľadávania Lucene a úložisko fronty MTA. Je dobré to robiť, pretože Zimbra zvyčajne používa nástroj fsync na zabezpečené zapisovanie blobu s údajmi na disk. Keď však poštové úložisko Zimbra alebo MTA vytvárajú nové súbory počas doručovania správ, vzniká potreba zapísať na disk zmeny, ktoré sa uskutočnili v príslušných priečinkoch. Preto aj keď sa súbor už zapísal na disk pomocou fsync, môže sa táto informácia o jeho pridání do adresárov nestihnúť zapísať na disk a v dôsledku toho môže byť stratená z dôvodu náhleho zlyhania servera. Vďaka použitiu dirsync týchto problémov sa dá vyhnúť.

2. Optimalizácia pri fungujúcej infraštruktúre Zimbra

Často sa stáva, že po niekoľkých rokoch používania Zimbra sa počet jej používateľov výrazne zvyšuje a prevádzka služby sa každý deň stáva čoraz menej a menej pohotovou. Riešením tejto situácie je zrejmé: jednoducho pridať nové servery do infraštruktúry, aby služba opäť fungovala rovnako rýchlo ako predtým. Medzitým nie vždy existuje možnosť okamžite pridať nové servery do infraštruktúry s cieľom zvýšiť jej efektivitu. Často musia IT manažéri dlhodobo schvaľovať nákup nových serverov s účtovníctvom alebo oddelením bezpečnosti, navyše, často dodávatelia sklamú, ktorí môžu doručiť nový server s oneskorením alebo dokonca dodať nie to, čo je potrebné.

Samozrejme, najlepšie je budovať svoju infraštruktúru Zimbra s rezervou, aby ste vždy mali náhradné možnosti na jej rozšírenie a nezáviseli od nikoho, avšak ak už došlo k chybe, jedinou možnosťou pre IT manažéra je čo najviac zmierniť jej následky. Takže, môže dosiahnuť mierny nárast výkonu tým, že dočasne vypne systémové služby Linuxu, ktoré pri prevádzke pravidelne pristupujú k pevným diskov a tým môžu negatívne ovplyvniť rýchlosť prevádzky Zimbra. Môže sa teda na čas vypnúť:

autofs, netfs — Služby zisťovania vzdialených súborových systémov
cups — Tlačová služba
xinetd, vsftpd — Zabudované služby *NIX, ktoré pravdepodobne nebudete potrebovať
portmap, rpcsvcgssd, rpcgssd, rpcidmapd — Služby vzdialeného volania procedúr, ktoré sa zvyčajne používajú v spojení so sieťovými súborovými systémami
dovecot, cyrus-imapd, sendmail, exim, postfix, ldap — Duplicity hlavných nástrojov, ktoré sú súčasťou Zimbra Collaboration Suite
slocate/updatedb — Keďže Zimbra uchováva každú správu v samostatnom súbore, každodenné spúšťanie služby updatedb môže spôsobiť problémy, a preto je lepšie to robiť ručne počas minimálnej záťaže serverov.

Úspora systémových zdrojov z vypnutia týchto služieb nebude veľmi významná, ale aj to môže byť veľmi užitočné v podmienkach blízkych k mimoriadnym udalostiam. Po pridaní nového servera do infraštruktúry Zimbra sa odporúča znovu zapnúť predtým vypnuté služby.

Taktiež je možné optimalizovať prácu Zimbra presunutím služby syslog na samostatný server, aby počas prevádzky nezaťažoval pevné disky poštových úložísk. Na tieto účely vyhovuje prakticky akýkoľvek počítač, vrátane lacného jednodeskového počítača Raspberry Pi.

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster