Optimiziranje skladištenja pošte u Zimbra Collaboration Suite

U jednom od naših prethodni članci, posvećen planiranju infrastrukture prilikom implementacije Zimbra Collabortion Suite u preduzeću, rečeno je da je glavno ograničenje u radu ovog rješenja I/O brzina disk uređaja u skladištima pošte. Zaista, u trenutku kada nekoliko stotina zaposlenih u preduzeću istovremeno pristupa istom skladištu za poštu, širina kanala za upisivanje i čitanje informacija sa čvrstih diskova možda neće biti dovoljna za rad usluge koji odgovara. A ako za male instalacije Zimbre to neće predstavljati poseban problem, onda u slučaju velikih preduzeća i SaaS provajdera, sve to može dovesti do neodaziva e-pošte i, kao rezultat, smanjenja efikasnosti zaposlenih, kao i kršenja SLA. Zbog toga, prilikom projektovanja i rada velikih Zimbra instalacija, posebnu pažnju treba posvetiti optimizaciji performansi hard diskova u skladištu pošte. Pogledajmo dva slučaja i pokušajmo saznati koje metode za optimizaciju opterećenja na pohranu diska se mogu primijeniti u svakom od njih.

Optimiziranje skladištenja pošte u Zimbra Collaboration Suite

1. Optimizacija pri projektovanju velike Zimbra instalacije

Tokom faze projektovanja Zimbra instalacije sa visokim opterećenjem, administrator će morati da odluči koji sistem skladištenja će koristiti. Da biste odlučili o ovom pitanju, trebali biste znati da glavno opterećenje na čvrstim diskovima dolazi od MariaDB DBMS uključenog u Zimbra Collaboration Suite, tražilice Apache Lucene i blob memorije. Zbog toga je za rad sa ovim softverskim proizvodima pod velikim opterećenjem potrebno koristiti brzu i pouzdanu opremu.

U normalnim uslovima, Zimbra se može instalirati i na RAID čvrstih diskova i na skladište povezan preko NFS protokola. Za vrlo male instalacije, Zimbru možete instalirati na običan SATA disk. 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 preduzeća, a posebno za SaaS provajdere.

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, a istovremeno, zahvaljujući mogućnosti povezivanja velike količine keš memorije, njena upotreba praktički ne predstavlja značajne rizike za poduzeće. Dobra je ideja koristiti NVRAM, koji se koristi u mnogim SAN-ovima za ubrzavanje stvari tokom pisanja. Ali bolje je onemogućiti keširanje snimljenih podataka na samim diskovima, jer to može dovesti do nepopravljive štete na mediju i gubitka podataka ako dođe do problema sa napajanjem.

Što se tiče odabira sistema datoteka, najbolji izbor bi bio korištenje standardnog Linux Ext3/Ext4. Glavna nijansa povezana sa sistemom datoteka je da ga treba montirati sa parametrom -noatime. Ova opcija će onemogućiti funkciju snimanja vremena posljednjeg pristupa datotekama, što znači da će značajno smanjiti opterećenje čitanja i pisanja. Općenito, kada kreirate ext3 ili ext4 sistem datoteka za Zimbru, trebali biste koristiti sljedeće parametre uslužnog programa mke2fs:

-j — Za kreiranje dnevnika sistema datoteka Kreirajte sistem datoteka sa ext3/ext4 dnevnikom.
-L IME - Za kreiranje naziva volumena za korištenje u /etc/fstab
-O dir_index - Za korištenje raspršenog stabla pretraživanja za ubrzanje pretraživanja datoteka u velikim direktorijima
-m 2 — Da rezervišete 2% volumena u velikim sistemima datoteka za osnovni direktorijum
-J veličina=400 — Za kreiranje velikog časopisa
-b 4096 — Za određivanje veličine bloka u bajtovima
-ja 10240 - Za skladištenje poruka, ova postavka treba da odgovara prosječnoj veličini poruke. Trebali biste obratiti posebnu pažnju na ovaj parametar, jer se njegova vrijednost ne može kasnije mijenjati.

Takođe se preporučuje da se omogući dirsync za pohranu blobova, pohranu metapodataka Lucene pretraživanja i pohranu MTA reda čekanja. To bi trebalo učiniti jer Zimbra obično koristi uslužni program fsync za zajamčeno upisivanje blob-a sa podacima na disk. Međutim, kada Zimbra mail store ili MTA kreira nove datoteke tokom isporuke poruke, postaje neophodno zapisati na disk promjene koje se dešavaju u odgovarajućim folderima. Zbog toga, čak i ako je datoteka već zapisana na disk pomoću fsync, zapis njegovog dodavanja u direktorij možda neće imati vremena da se zapiše na disk i, kao rezultat, može biti izgubljen zbog iznenadnog kvara servera. Zahvaljujući upotrebi dirsync ovi problemi se mogu izbjeći.

2. Optimizacija sa Zimbra infrastrukturom koja radi

Često se dešava da se nakon nekoliko godina korištenja Zimbre broj njenih korisnika značajno poveća, a usluga svakim danom sve manje reagira. Izlaz iz ove situacije je očigledan: samo trebate dodati nove servere u infrastrukturu kako bi servis ponovo radio isto brzo kao i prije. U međuvremenu, nije uvijek moguće odmah dodati nove servere infrastrukturi kako bi se povećale njene performanse. IT menadžeri često moraju provesti dugo vremena koordinirajući kupovinu novih servera sa računovodstvenim ili sigurnosnim odjelom; osim toga, često su iznevjereni od strane dobavljača koji mogu isporučiti novi server sa zakašnjenjem ili čak isporučiti pogrešnu stvar.

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

autofs, netfs - Usluge udaljenog otkrivanja sistema datoteka
čaše — Usluga štampanja
xinetd, vsftpd - Ugrađene *NIX usluge koje vam vjerovatno neće trebati
portmap, rpcsvcgssd, rpcgssd, rpcidmapd — Usluge daljinskog poziva procedura, koje se obično koriste u sprezi sa mrežnim sistemima datoteka
dovecot, cyrus-imapd, sendmail, exim, postfix, ldap — Duplikati glavnih uslužnih programa uključenih u Zimbra Collaboration Suite
slocate/updatedb - Pošto Zimbra svaku poruku pohranjuje u posebnu datoteku, svakodnevno pokretanje updatedb servisa može uzrokovati probleme, pa je to moguće učiniti ručno pri najmanjem opterećenju servera

Ušteda sistemskih resursa kao rezultat onemogućavanja ovih usluga neće biti od velike važnosti, ali čak i to može biti od velike koristi u uslovima bliskim višoj sili. Kada se novi server doda u Zimbra infrastrukturu, preporučuje se da ponovo omogućite prethodno onemogućene usluge.

Također možete optimizirati rad Zimbre tako što ćete premjestiti syslog uslugu na poseban server tako da tokom rada ne učitava čvrste diskove skladišta pošte. Gotovo svaki računar je pogodan za ove svrhe, čak i jeftin Raspberry Pi sa jednom pločicom.

izvor: www.habr.com

Dodajte komentar