I en av vÄra , som handlar om planeringen av infrastrukturen vid implementeringen av Zimbra Collaboration Suite i företag, nÀmndes att den största begrÀnsningen vid anvÀndningen av denna lösning Àr lÀshastigheten för lagringsenheter i e-postlagren. Och faktiskt, under de tider nÀr flera hundra anstÀllda pÄ företaget fÄr tillgÄng till samma e-postlager samtidigt, kan bandbredden för lÀsning och skrivning av information frÄn hÄrddiskarna bli otillrÀcklig för en responsiv tjÀnst. Om detta kanske inte Àr ett stort problem för smÄ installationer av Zimbra, sÄ kan det i fallet med stora företag och SaaS-leverantörer leda till att e-posten blir oresponsiv och dÀrmed minska de anstÀlldas effektivitet, samt bryta SLA. Just dÀrför Àr det viktigt att vid design och drift av storskaliga Zimbra-installationer fokusera pÄ att optimera hÄrddiskarnas arbete i e-postlagret. LÄt oss titta pÄ tvÄ fall och försöka ta reda pÄ vilka metoder för att optimera belastningen pÄ lagringsenheterna som kan tillÀmpas i vart och ett av dem.

1. Optimering vid planering av en storskalig Zimbra-installation
Vid designfasen av en högbelastad Zimbra-installation mÄste dess administratör fatta beslut om vilken lagringssystem som ska anvÀndas. För att avgöra detta behöver man veta att den största belastningen pÄ hÄrddiskarna kommer frÄn databashanteringssystemet MariaDB, söksystemet Apache Lucene samt lagringen av BLOB-objekt inom Zimbra Collaboration Suite. Just dÀrför Àr det nödvÀndigt att anvÀnda snabb och pÄlitlig hÄrdvara för dessa programvaror under hög belastning.
Under normala omstÀndigheter kan Zimbra installeras bÄde pÄ en RAID av hÄrddiskar och pÄ lagringssystem som Àr kopplade med NFS-protokollet. I fall av mycket smÄ installationer kan Zimbra installeras pÄ en vanlig SATA-disk. Men under förhÄllanden med stora installationer visar alla dessa teknologier olika nackdelar i form av minskad skrivhastighet eller lÄg tillförlitlighet, vilket Àr oacceptabelt för stora företag och Ànnu mer för SaaS-leverantörer.
Det Àr dÀrför SAN Àr det bÀsta valet för Zimbra i storskaliga infrastrukturer. Just nu kan det erbjuda den högsta genomströmningen för lagringsenheter och tack vare möjligheten att ansluta stora mÀngder cache innebÀr dess anvÀndning i princip inga betydande risker för företaget. En bra idé Àr att anvÀnda NVRAM, som anvÀnds i mÄnga SAN för att pÄskynda skrivprocesser. Att aktivera cachelagring av skrivna data pÄ diskar bör dock göras med försiktighet, eftersom det kan leda till oÄterkalleliga skador pÄ medierna och dataförlust vid strömproblem.
NÀr det gÀller valet av filsystem Àr standarderna för Linux, Ext3/Ext4, det optimala valet. Den viktigaste punkten gÀllande filsystemet Àr att den bör monteras med parametern -noatime. Denna parameter inaktiverar funktionen för att registrera tidpunkten för senaste Ätkomst till filer, vilket kraftigt minskar belastningen pÄ lÀsning och skrivning. Generellt bör följande parametrar anvÀndas vid skapande av ext3 eller ext4 filsystem för Zimbra mke2fs:
-j â För att skapa en filsystemjournal, skapa filsystemet med en ext3/ext4-journal.
-L NAMN â För att ge volymen ett namn som sedan anvĂ€nds i /etc/fstab.
-O dir_index â För att anvĂ€nda en hash-trĂ€dstruktur för att pĂ„skynda sökningar i stora kataloger.
-m 2 â För att reservera 2% av utrymmet i stora filsystem för rotkatalogen.
-J size=400 â För att skapa en stor journal.
-b 4096 â För att bestĂ€mma blockstorleken i byte.
-i 10240 â För meddelandebehĂ„llaren ska denna parameter motsvara det genomsnittliga meddelandestorleken. Var försiktig med denna parameter, eftersom den inte kan Ă€ndras senare.
Dessutom rekommenderas det att aktivera dirsync för BLOB-behÄllare, mete-data sökning med Lucene och MTA:s köbehandlare. Detta bör göras av den anledningen att Zimbra ofta anvÀnder verktyget. fsync för att sÀkerstÀlla att blob-data skrivs till disken. Men nÀr Zimbra-postlagring eller MTA skapar nya filer vid leveransen av meddelanden, uppstÄr behovet av att skriva Àndringar till disken som har intrÀffat i respektive mappar. Det Àr dÀrför som Àven om filen redan har skrivits till disken med hjÀlp av fsync, kan registreringen av dess tillÀgg i katalogen misslyckas med att skrivas till disken och i resultatet kan gÄ förlorad pÄ grund av ett plötsligt serverfel. Tack vare anvÀndningen av dirsync kan dessa problem undvikas.
2. Optimering av den fungerande Zimbra-infrastrukturen
Ofta hÀnder det att antalet anvÀndare av Zimbra ökar betydligt efter flera Ärs drift, och tjÀnstens responsivitet blir sÀmre för varje dag. Lösningen pÄ denna situation Àr uppenbar: det krÀvs att nya servrar lÀggs till i infrastrukturen sÄ att tjÀnsten Äter kan fungera lika snabbt som tidigare. DÀremot har man inte alltid möjlighet att omedelbart lÀgga till nya servrar i infrastrukturen för att öka dess prestanda. Ofta mÄste IT-chefer spendera lÄng tid pÄ att fÄ godkÀnnande för inköp nya servrar frÄn ekonomidepartementet eller sÀkerhetsavdelningen, dessutom kan leverantörer ofta stÀlla till problem, genom att leverera en ny server för sent eller till och med nÄgot helt annat Àn vad som behövs.
SjÀlvklart Àr det bÀst att bygga sin Zimbra-infrastruktur med en buffert, sÄ man alltid har kapacitet för att utöka den och inte Àr beroende av nÄgon annan, men om misstaget redan har gjorts, Àr det upp till IT-chefen att mildra konsekvenserna sÄ mycket som möjligt. Till exempel kan en IT-chef uppnÄ en liten ökning av prestandan genom att tillfÀlligt stÀnga av systemtjÀnster i Linux som regelbundet begÀr Ätkomst till hÄrddiskarna och dÀrmed kan pÄverka hastigheten pÄ Zimbra negativt. SÄ, under en tid kan man stÀnga av:
autofs, netfs â TjĂ€nster för upptĂ€ckte av fjĂ€rrfilsystem
cups â UtskriftstjĂ€nst
xinetd, vsftpd â Inbyggda tjĂ€nster i *NIX som sannolikt inte kommer att behövas
portmap, rpcsvcgssd, rpcgssd, rpcidmapd â TjĂ€nster för fjĂ€rrproceduranrop som vanligtvis anvĂ€nds i samband med nĂ€tverksfilsystem
dovecot, cyrus-imapd, sendmail, exim, postfix, ldap â Duplicerade grundlĂ€ggande verktyg som ingĂ„r i Zimbra Collaboration Suite
slocate/updatedb Eftersom Zimbra lagrar varje meddelande i en separat fil kan en daglig körning av tjÀnsten updatedb leda till problem, och dÀrför kan detta göras manuellt under perioder med lÄg belastning pÄ servrarna.
Besparingen av systemresurser som resultat av att inaktivera dessa tjÀnster kommer inte att vara sÀrskilt betydande, men Àven detta kan vara mycket anvÀndbart under svÄra förhÄllanden. NÀr den nya servern har lagts till i Zimbra-infrastrukturen rekommenderas det att Äteraktivera de tidigare inaktiverade tjÀnsterna.
Det Àr ocksÄ möjligt att optimera Zimbra:s prestanda genom att flytta syslog-tjÀnsten till en separat server, sÄ att den under drift inte belastar hÄrddiskarna i e-postlagringen. För detta syfte passar nÀstan vilken dator som helst, till och med en billig enkortsdator som Raspberry Pi.
KĂ€lla: habr.com
