Optimalizácia ukladania pošty v balíku Zimbra Collaboration Suite

V jednom z našich predchádzajúce články, venovanej plánovaniu infraštruktúry pri implementácii Zimbra Collabortion Suite v podniku, bolo povedané, že hlavným obmedzením fungovania tohto riešenia je rýchlosť I/O diskových zariadení v poštových úložiskách. V čase, keď niekoľko stoviek zamestnancov podniku súčasne pristupuje k rovnakému ukladaciemu priestoru pošty, nemusí šírka kanála na zapisovanie a čítanie informácií z pevných diskov postačovať na pohotovú prevádzku služby. A ak to pre malé inštalácie Zimbry nebude osobitný problém, potom v prípade veľkých podnikov a poskytovateľov SaaS to všetko môže viesť k neodpovedaniu na e-mail a v dôsledku toho k zníženiu efektívnosti zamestnancov, ako aj k porušeniu pravidiel. SLA. Preto by sa pri navrhovaní a prevádzke rozsiahlych inštalácií Zimbry mala venovať osobitná pozornosť optimalizácii výkonu pevných diskov v poštovom úložisku. Pozrime sa na dva prípady a skúsme zistiť, aké metódy na optimalizáciu zaťaženia diskového úložiska je možné uplatniť v každom z nich.

Optimalizácia ukladania pošty v balíku Zimbra Collaboration Suite

1. Optimalizácia pri navrhovaní rozsiahlej inštalácie Zimbra

Počas fázy návrhu inštalácie Zimbra s vysokým zaťažením sa správca bude musieť rozhodnúť, ktorý úložný systém použije. Aby ste sa mohli rozhodnúť o tomto probléme, mali by ste vedieť, že hlavné zaťaženie pevných diskov pochádza z MariaDB DBMS zahrnutého v balíku Zimbra Collaboration Suite, vyhľadávacieho nástroja Apache Lucene a úložiska blob. Preto na prevádzku týchto softvérových produktov pri vysokom zaťažení je potrebné používať vysokorýchlostné a spoľahlivé zariadenia.

Za normálnych podmienok je možné Zimbru nainštalovať na RAID pevných diskov aj na úložisko pripojené cez protokol NFS. Pre veľmi malé inštalácie môžete Zimbru nainštalovať na bežný SATA disk. V kontexte veľkých inštalácií však všetky tieto technológie vykazujú rôzne nevýhody v podobe zníženej rýchlosti nahrávania či nízkej spoľahlivosti, čo je neprijateľné ani pre veľké podniky, ani najmä pre poskytovateľov SaaS.

To je dôvod, prečo je vo veľkých infraštruktúrach Zimbra najlepšie použiť SAN. Práve táto technológia je v súčasnosti schopná poskytnúť najväčšiu priepustnosť pre úložné zariadenia a zároveň vďaka možnosti pripojenia veľkého množstva cache jej použitie prakticky nepredstavuje pre podnik žiadne výrazné riziká. Je dobré použiť NVRAM, ktorá sa používa v mnohých SAN na zrýchlenie zápisu. Je však lepšie zakázať ukladanie zaznamenaných údajov do vyrovnávacej pamäte na samotných diskoch, pretože v prípade problémov s napájaním môže dôjsť k nenapraviteľnému poškodeniu média a strate údajov.

Čo sa týka výberu súborového systému, najlepšou voľbou by bolo použiť štandardný Linux Ext3/Ext4. Hlavnou nuansou spojenou so súborovým systémom je, že by mal byť pripojený pomocou parametra - noatime. Táto možnosť deaktivuje funkciu zaznamenávania času posledného prístupu k súborom, čo znamená, že výrazne zníži zaťaženie čítania a zápisu. Vo všeobecnosti by ste pri vytváraní súborového systému ext3 alebo ext4 pre Zimbru mali použiť nasledujúce parametre pomôcky mke2fs:

-j — Vytvorenie žurnálu súborového systému: Vytvorte súborový systém pomocou žurnálu ext3/ext4.
-L MENO - Na vytvorenie názvu zväzku, ktorý sa potom použije v /etc/fstab
-O dir_index - Použitie hašovaného vyhľadávacieho stromu na urýchlenie vyhľadávania súborov vo veľkých adresároch
-m 2 — Vyhradiť 2 % objemu vo veľkých súborových systémoch pre koreňový adresár
-J veľkosť = 400 — Vytvoriť veľký časopis
-b 4096 — Na určenie veľkosti bloku v bajtoch
-ja 10240 - Pre ukladanie správ by toto nastavenie malo zodpovedať priemernej veľkosti správy. Tomuto parametru by ste mali venovať veľkú pozornosť, pretože jeho hodnotu nie je možné neskôr zmeniť.

Odporúča sa tiež povoliť dirsync pre úložisko objektov blob, úložisko metadát vyhľadávania Lucene a úložisko frontu MTA. Malo by sa to urobiť, pretože Zimbra zvyčajne používa tento nástroj fsync pre zaručený zápis blob s údajmi na disk. Keď však poštové úložisko Zimbra alebo MTA vytvorí nové súbory počas doručovania správ, je potrebné zapísať na disk zmeny, ktoré sa vyskytnú v príslušných priečinkoch. To je dôvod, prečo, aj keď už bol súbor zapísaný na disk pomocou fsync, záznam o jeho pridaní do adresára nemusí mať čas na zápis na disk a v dôsledku toho sa môže stratiť v dôsledku náhleho zlyhania servera. Vďaka použitiu dirsync týmto problémom sa dá predísť.

2. Optimalizácia so spustenou infraštruktúrou Zimbra

Často sa stáva, že po niekoľkých rokoch používania Zimbry sa počet jej používateľov výrazne zvyšuje a služba je každým dňom menej a menej citlivá. Cesta z tejto situácie je zrejmá: stačí pridať nové servery do infraštruktúry, aby služba opäť fungovala tak rýchlo ako predtým. Medzitým nie je vždy možné okamžite pridať nové servery do infraštruktúry s cieľom zvýšiť jej výkon. IT manažéri musia často dlho koordinovať nákup nových serverov s účtovným alebo bezpečnostným oddelením, navyše ich často sklamú dodávatelia, ktorí môžu dodať nový server neskoro alebo dokonca dodať nesprávnu vec.

Samozrejme, najlepšie je budovať si infraštruktúru Zimbry s rezervou, aby ste mali vždy rezervu na jej rozširovanie a neboli na nikom závislí, ak však už k chybe došlo, IT manažér môže iba zahladiť jej následky ako čo najviac. Napríklad IT manažér môže dosiahnuť malé zvýšenie produktivity dočasným vypnutím systémových služieb Linuxu, ktoré pravidelne pristupujú k pevným diskom počas prevádzky, a preto môžu negatívne ovplyvniť výkon Zimbry. Takže môžete dočasne zakázať:

autofs, netfs - Služby zisťovania vzdialeného systému súborov
poháre — Tlačová služba
xinetd, vsftpd - Zabudované *NIX služby, 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 — Duplikáty hlavných nástrojov zahrnutých v balíku Zimbra Collaboration Suite
slocate/updatedb - Keďže Zimbra ukladá každú správu do samostatného súboru, každodenné spúšťanie služby updatedb môže spôsobiť problémy, takže to môžete urobiť manuálne, keď sú servery najmenej vyťažené

Úspora systémových prostriedkov v dôsledku deaktivácie týchto služieb nebude veľmi významná, ale aj to môže byť veľmi užitočné v podmienkach blízkych vyššej moci. Po pridaní nového servera do infraštruktúry Zimbra sa odporúča znova povoliť predtým deaktivované služby.

Prevádzku Zimbry môžete optimalizovať aj presunutím služby syslog na samostatný server, aby počas prevádzky nezaťažovala pevné disky poštových úložísk. Na tieto účely sa hodí takmer každý počítač, dokonca aj lacný jednodoskový Raspberry Pi.

Zdroj: hab.com

Pridať komentár