Optimiziranje pohrane pošte u Zimbra Collaboration Suite

U jednom od naših prethodni članci, posvećenog planiranju infrastrukture prilikom implementacije Zimbra Collabortion Suite u poduzeće, rečeno je da je glavno ograničenje u radu ovog rješenja I/O brzina diskovnih uređaja u skladištima pošte. Doista, u vrijeme kada nekoliko stotina zaposlenika poduzeća istovremeno pristupa istoj pohrani pošte, širina kanala za pisanje i čitanje informacija s tvrdih diskova možda neće biti dovoljna za odgovarajući rad usluge. I ako za male instalacije Zimbre to neće biti poseban problem, onda u slučaju velikih poduzeća i SaaS pružatelja usluga, sve to može dovesti do nereagiranja e-pošte i, kao rezultat toga, smanjenja učinkovitosti zaposlenika, kao i kršenja SLA-ova. Zato, pri projektiranju i radu velikih Zimbra instalacija, posebnu pozornost treba posvetiti optimizaciji performansi tvrdih diskova u pohrani pošte. Pogledajmo dva slučaja i pokušajmo otkriti koje se metode za optimizaciju opterećenja diskovne memorije mogu primijeniti u svakom od njih.

Optimiziranje pohrane pošte u Zimbra Collaboration Suite

1. Optimizacija prilikom projektiranja velike Zimbra instalacije

Tijekom faze projektiranja visokoopterećene Zimbra instalacije, administrator će morati odabrati koji će sustav za pohranu koristiti. Kako biste odlučili o ovom pitanju, trebali biste znati da glavno opterećenje tvrdih diskova dolazi od MariaDB DBMS-a uključenog u Zimbra Collaboration Suite, tražilice Apache Lucene i pohrane blob-ova. Zato je za rad ovih softverskih proizvoda u uvjetima visokog opterećenja potrebno koristiti brzu i pouzdanu opremu.

Pod normalnim uvjetima, Zimbra se može instalirati i na RAID tvrdih diskova i na pohranu povezanu putem NFS protokola. Za vrlo male instalacije, Zimbru možete instalirati na obični SATA pogon. Međutim, u kontekstu velikih instalacija, sve ove tehnologije pokazuju različite nedostatke u vidu smanjene brzine snimanja ili niske pouzdanosti, što nije neprihvatljivo ni za velika poduzeća, a posebno za SaaS pružatelje.

Zbog toga je u velikim Zimbra infrastrukturama najbolje koristiti SAN. Upravo je ova tehnologija trenutno sposobna pružiti najveću propusnost za uređaje za pohranu podataka, a istovremeno, zahvaljujući mogućnosti povezivanja velike količine predmemorije, njezina uporaba praktički ne predstavlja nikakav značajan rizik za poduzeće. Dobra je ideja koristiti NVRAM, koji se koristi u mnogim SAN-ovima za ubrzavanje stvari tijekom pisanja. Ali bolje je onemogućiti predmemoriranje snimljenih podataka na samim diskovima, jer može dovesti do nepopravljive štete na mediju i gubitka podataka ako dođe do problema s napajanjem.

Što se tiče odabira datotečnog sustava, najbolji izbor bi bio korištenje standardnog Linux Ext3/Ext4. Glavna nijansa povezana s datotečnim sustavom je da se mora montirati s parametrom -noatime. Ova opcija će onemogućiti funkciju bilježenja vremena zadnjeg pristupa datotekama, što znači da će uvelike smanjiti opterećenje čitanja i pisanja. Općenito, kada stvarate ext3 ili ext4 datotečni sustav za Zimbru, trebali biste koristiti sljedeće parametre uslužnog programa mke2fs:

-j — Za stvaranje dnevnika datotečnog sustava Stvorite datotečni sustav s ext3/ext4 dnevnikom.
-L IME - Za stvaranje naziva volumena za korištenje u /etc/fstab
-O dir_index - Za korištenje raspršenog stabla pretraživanja za ubrzavanje pretraživanja datoteka u velikim direktorijima
-m 2 — Rezervirati 2% volumena u velikim sustavima datoteka za korijenski direktorij
-J veličina=400 — Napraviti veliki časopis
-b 4096 — Za određivanje veličine bloka u bajtovima
-ja 10240 - Za pohranu poruka, ova postavka treba odgovarati prosječnoj veličini poruke. Trebali biste obratiti posebnu pozornost na ovaj parametar jer se njegova vrijednost ne može kasnije promijeniti.

Također se preporučuje omogućiti dirsync za blob pohranu, pohranu metapodataka pretraživanja Lucene i pohranu MTA čekanja. To bi trebalo učiniti jer Zimbra obično koristi uslužni program fsync za zajamčeno pisanje bloba s podacima na disk. Međutim, kada Zimbra mail store ili MTA kreiraju nove datoteke tijekom isporuke poruke, postaje potrebno zapisati na disk promjene koje se događaju u odgovarajućim mapama. Zbog toga, čak i ako je datoteka već zapisana na disk pomoću fsync, zapis o njegovom dodavanju u direktorij možda neće imati vremena za pisanje na disk i, kao rezultat toga, može biti izgubljen zbog iznenadnog kvara poslužitelja. Zahvaljujući korištenju dirsync ti se problemi mogu izbjeći.

2. Optimizacija s pokrenutom Zimbra infrastrukturom

Često se događa da se nakon nekoliko godina korištenja Zimbre broj njezinih korisnika značajno poveća, a usluga svakim danom postaje sve manje responzivna. Izlaz iz ove situacije je očit: trebate samo dodati nove poslužitelje u infrastrukturu kako bi usluga ponovno radila jednako brzo kao prije. U međuvremenu, nije uvijek moguće odmah dodati nove poslužitelje infrastrukturi kako bi se povećala njezina izvedba. IT menadžeri često moraju provesti dugo vremena koordinirajući nabavu novih poslužitelja s računovodstvom ili sigurnosnim odjelom, a osim toga, često su iznevjereni od strane dobavljača koji mogu kasniti s isporukom novog poslužitelja ili čak isporučiti krivu stvar.

Naravno, najbolje je svoju Zimbra infrastrukturu graditi s rezervom kako biste uvijek imali rezervu za njezino širenje i ne ovisili ni o kome, međutim, ako je greška već napravljena, IT menadžer može samo izgladiti njezine posljedice koliko god je moguće. Na primjer, IT menadžer može postići malo povećanje produktivnosti privremenim onemogućavanjem usluga Linux sustava koje redovito pristupaju tvrdim diskovima tijekom rada i stoga mogu negativno utjecati na performanse Zimbre. Dakle, možete privremeno onemogućiti:

autofs, netfs - Remote File System Discovery Services
šalice — Usluga ispisa
xinetd, vsftpd - Ugrađene *NIX usluge koje vam vjerojatno neće trebati
portmap, rpcsvcgssd, rpcgssd, rpcidmapd — Usluge pozivanja udaljene procedure, koje se obično koriste u kombinaciji s mrežnim datotečnim sustavima
dovecot, cyrus-imapd, sendmail, exim, postfix, ldap — Duplikati glavnih pomoćnih programa uključenih u Zimbra Collaboration Suite
slocirati/ažuriratib - Budući da Zimbra svaku poruku pohranjuje u zasebnu datoteku, svakodnevno pokretanje updatedb servisa može uzrokovati probleme, stoga je to moguće učiniti ručno tijekom najmanjeg opterećenja poslužitelja

Ušteda resursa sustava kao rezultat onemogućavanja ovih usluga neće biti značajna, ali čak i to može biti vrlo korisno u uvjetima bliskim višoj sili. Nakon što se novi poslužitelj doda Zimbra infrastrukturi, preporučuje se ponovno omogućiti prethodno onemogućene usluge.

Također možete optimizirati rad Zimbre premještanjem syslog servisa na zaseban poslužitelj tako da tijekom rada ne opterećuje tvrde diskove skladišta pošte. Za ove svrhe prikladno je gotovo svako računalo, čak i jeftini Raspberry Pi s jednom pločom.

Izvor: www.habr.com

Dodajte komentar