Optimalizace práce poštovních úložišť v Zimbra Collaboration Suite

V jedné z našich předchozích článků, věnované plánování infrastruktury při zavádění Zimbra Collaboration Suite na podnikové úrovni, bylo řečeno, že hlavním omezením při práci tohoto řešení je rychlost vstupu a výstupu diskových zařízení v poštovních úložištích. A skutečně, v době, kdy se k jednomu a tomu samému poštovnímu úložišti najednou obrací několik stovek zaměstnanců podniku, nemusí šířka pásma pro zápis a čtení informací z pevných disků stačit pro rychlou a responzivní práci služby. A pokud pro malé instalace Zimbra to nebude představovat zvláštní problém, u velkých podniků a poskytovatelů SaaS může vše vést k neodpovídající práci e-mailu a tím snížení efektivity zaměstnanců, stejně jako porušení SLA. Právě proto je při navrhování a provozování rozsáhlých instalací Zimbra nutné věnovat zvláštní pozornost optimalizaci práce pevných disků v poštovním úložišti. Pojďme se podívat na dva případy a pokusme se zjistit, jaké metody optimalizace zátěže na disková úložiště lze uplatnit v každém z nich.

Optimalizace práce poštovních úložišť v Zimbra Collaboration Suite

1. Optimalizace při návrhu rozsáhlé instalace Zimbra

V etapě návrhu vysoce zatížené instalace Zimbra musí její administrátor učinit rozhodnutí, jaký systém ukládání dat použít. Aby se mohl rozhodnout v této otázce, je třeba vědět, že hlavní zátěž na pevné disky vytvářejí databáze MariaDB, systém vyhledávání Apache Lucene a také úložiště BLOB objektů, které jsou součástí Zimbra Collaboration Suite. Právě proto je pro práci těchto softwarových produktů v podmínkách vysokých zátěží nezbytné použít rychlé a spolehlivé zařízení.

Za normálních okolností lze Zimbru nainstalovat jak na RAID z pevných disků, tak na úložiště propojená protokolem NFS. V případech velmi malých instalací lze Zimbru nainstalovat na běžný SATA disk. Nicméně v podmínkách velkých instalací všechny tyto technologie vykazují různé nedostatky v podobě snížené rychlosti zápisu nebo nízké spolehlivosti, což je nepřijatelné ani pro velké podniky, ani tím spíše pro poskytovatele SaaS.

Proto je v podmínkách rozsáhlých infrastruktur Zimbra nejlepším řešením použít SAN. Ta v současnosti dokáže poskytnout nejvyšší propustnost pro zařízení úložiště a díky možnosti připojení velkého množství cache, její použití v podstatě neznamená žádná zásadní rizika pro podnik. Dobrou volbou bude použití NVRAM, která se používá v mnoha SAN pro zrychlení operací při zápisu. Naopak při zápisu dat na samotné disky je lepší funkci cache vypnout, protože může vést k nevratnému poškození médií a ztrátě dat při problémech s napájením.

Pokud jde o výběr souborového systému, optimální volbou bude použití standardních pro Linux Ext3/Ext4. Hlavním faktorem spojeným se souborovým systémem je to, že je třeba jej přimontovat s parametrem -noatime. Tento parametr deaktivuje funkci zaznamenávání doby posledního přístupu k souborům, což výrazně sníží zátěž při čtení a zápisu. Obecně platí, že při vytváření souborového systému ext3 nebo ext4 pro Zimbru je třeba použít následující parametry nástroje mke2fs:

-j — Pro vytvoření žurnálu souborového systémuCreate the file system with an ext3/ext4 journal.
-L NÁZEV — Pro vytvoření názvu svazku, aby ho mohli poté použít v /etc/fstab
-O dir_index — Pro použití hashovaného stromu vyhledávání pro urychlení vyhledávání souborů ve velkých adresářích
-m 2 — Pro rezervaci 2% objemu ve velkých souborových systémech pro kořenový adresář
-J size=400 — Pro vytvoření velkého žurnálu
-b 4096 — Pro určení velikosti bloku v bytech
-i 10240 — Pro úložiště zpráv by tento parametr měl odpovídat průměrné velikosti zpráv. Je třeba na tento parametr dávat pozor, protože jeho hodnotu nelze později změnit.

Dále se doporučuje povolit dirsync pro úložiště BLOB-objektů, úložiště metadat vyhledávání Lucene a úložiště fronty MTA. Je to třeba udělat, protože obvykle Zimbra používá nástroj fsync pro zajištění záznamu blobu s daty na disk. Nicméně, když poštovní úložiště Zimbra nebo MTA vytvářejí nové soubory během doručování zpráv, vzniká potřeba zapsat na disk změny, které se udály v odpovídajících složkách. Proto i v případě, že soubor již byl zapsán na disk pomocí fsync, může se záznam o jeho přidání do adresáře dostatečně rychle nezapsat na disk a v důsledku toho může být ztracen kvůli náhlému selhání serveru. Díky použití dirsync těchto problémů se lze vyhnout.

2. Optimalizace při fungující infrastruktuře Zimbra

Často se stává, že po několika letech provozu Zimbra počet jejích uživatelů výrazně vzroste a činnost služby se každým dnem stává stále méně a méně odpovídající. Řešení této situace je jasné: je třeba jednoduše přidat nové servery do infrastruktury, aby služba opět fungovala stejně rychle jako dříve. Mimochodem, zdaleka ne vždy je možné okamžitě přidat do infrastruktury nové servery pro zvýšení její výkonnosti. Často IT manažeři musí dlouho schvalovat nákup nových serverů s účetním oddělením nebo bezpečnostním oddělením, navíc často zklamání přicházejí od dodavatelů, kteří mohou doručit nový server se zpožděním nebo dokonce dodat něco, co není potřeba.

Samozřejmě, že je nejlepší budovat svou infrastrukturu Zimbra s rezervou, abyste měli vždy prostor pro její rozšíření a nebyli na nikom závislí, nicméně pokud byla chyba již provedena, IT manažerovi nezbývá nic jiného, než se maximálně vyrovnat s jejími následky. Například, IT manažer může dosáhnout mírného zlepšení výkonu tím, že dočasně vypne systémové služby Linux, které během práce pravidelně komunikují s pevnými disky a tím mohou negativně ovlivnit rychlost Zimbra. Tak je možné dočasně vypnout:

autofs, netfs — Služby pro objevování vzdálených souborových systémů
cups — Tisková služba
xinetd, vsftpd — Vestavěné služby *NIX, které pravděpodobně nebudete potřebovat
portmap, rpcsvcgssd, rpcgssd, rpcidmapd — Služby vzdáleného volání procedur, které se obvykle používají ve spojení se síťovými souborovými systémy
dovecot, cyrus-imapd, sendmail, exim, postfix, ldap — Duplicitní hlavní nástroje, které jsou součástí Zimbra Collaboration Suite
slocate/updatedb — Vzhledem k tomu, že Zimbra ukládá každou zprávu do samostatného souboru, může denní spuštění služby updatedb způsobit problémy, a proto je lepší to provádět ručně v obdobích s nejmenší zátěží serverů.

Úspora systémových prostředků výsledkem vypnutí těchto služeb nebude příliš významná, ale i to může být velmi užitečné v situacích blízkých k mimořádným událostem. Po přidání nového serveru do infrastruktury Zimbra je doporučeno znovu aktivovat dříve vypnuté služby.

Také lze optimalizovat fungování Zimbra přesunutím služby syslog na samostatný server, aby během jejího provozu nedocházelo k zatěžování pevných disků poštovních úložišť. K těmto účelům postačí prakticky jakýkoliv počítač, včetně levného jednodeskového počítače Raspberry Pi.

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster