Linux E X P R E S

Facebook

Ceph na poštovním serveru (SUSECON 2017)

Ceph

Je tady první článek z konference SUSECON 2017 v Praze a je věnován případové studii nasazení technologie Ceph na poštovním serveru ve společnosti Deutsche Telekom.


SUSECON 2017

V hotelu Hilton Prague v pražském Karlíně (nedaleko české pobočky společnosti SUSE) ještě stále probíhá letošní ročník konference SUSECON, skončí až v pátek a i nadále budeme přítomni (štafetu účasti přebírá Antonín Judytka). Proto je první článek z této konference zaměřen na jedno zajímavých témat – celkové shrnutí konference vyjde až příští týden.

SUSECON 2017 - mezi stánky sponzorů konference SUSECON 2017 - mezi stánky sponzorů konference

Ceph jako úložiště pro poštovní server

Na konferenci SUSECON je prezentována řada případových studií z nasazení různých technologií. Jednou z nich je nasazení úložné technologie Ceph jako úložiště pro poštovní server v německé společnosti Deutsche Telekom. Hovořil o něm Danny Al-Gaaf, působící ve firmě jako Senior Cloud Technologist.

Deutsche Telekom provozuje pro své zákazníky e-mailovou službu TelekomMail. Je postavena na serverové technologii Dovecot, má aktuálně okolo 39 milionů poštovních účtů, 6,7 miliardy uložených zpráv a 1,3 PB dat. Dosud se data zpráv ukládala na NAS se standardním protokolem NFS (a s využitím shardingu).

O softwaru Dovecot

Dovecot je open-source software určený pro řadu úkolů v rámci poštovního serveru. Nejvíce se využívá přístup ke zprávám protokoly IMAP (včetně řady rozšíření) a POP3, dále může Dovecot fungovat i jako doručovací agent (přebírá zprávy od softwaru, jako je třeba Postfix, a doručuje je do schránek) s možností filtrů podle standardu Sieve, server pro správu filtrů (ManageSieve) a jako autentizační agent (ověřování uživatelů např. pro Postfix). Je aktuálně nejpoužívanějším IMAP serverem na světě.

SUSE slaví 25 let své existence SUSE slaví 25 let své existence

Problémy s NFS

Používání NFS pro ukládání zpráv a přístup k nim se ukazovalo jako výkonově problematické. Operace pro čtení a zápis tvoří v praxi dohromady jen 21 % z celkového počtu, zbytek jsou například práce s atributy, hledání souboru nebo přejmenování. Přitom objemově drtivě převládá přímá práce s daty.

S e-maily se obvykle pracuje tak, že se jednou zapíší (při příchodu nebo uložení z klienta) a pak už se jenom čtou (tedy způsob práce WORM). Záleží ovšem i na tom, zda se přistupuje z klasického IMAP klienta nebo z klienta webového. Zprávy bez příloh jsou velmi dobře komprimovatelné.

Kritická jsou metadata, která obsahují údaje o zprávách (např. o přečtení nebo štítcích), a dále indexy a cache. Pokud se poškodí indexy, jejich opětovné vygenerování znamená projít kompletně všechny zprávy a to je náročné na čas i výkon. Poškození metadat může znamenat ztrátu důležitých informací, které zprávy nesou (kdo si zprávy značkuje štítky, ví, o čem je řeč; pozn. aut.).

Zprávy i metadata lze ukládat klasicky do souborového systému (např. mbox nebo maildir), do SQL databáze nebo ve formě objektů (např. u cloudových úložišť S3 nebo Swift). Každé řešení má své výhody a nevýhody.

O technologii Ceph

Ceph je otevřená technologie pro distribuované objektové datové úložiště. Kromě objektového přístupu (RADOS) podporuje i přístup blokový a souborový. Data se replikují na více uzlů a je tak zajištěna ochrana proti selhání jediného bodu. Ceph je výborně škálovatelný, poskytuje rychlou samoopravitelnost a může fungovat na běžném komoditním hardwaru. Díky tomu je řešením spolehlivým, nezávislým na dodavateli a nabízejícím nízké náklady.

Danny Al-Gaaf při své přednášce Danny Al-Gaaf při své přednášce

Jak Ceph využít

Ceph nabízí různé způsoby přístupu pro ukládání dat. Liší se mezi sebou poměrně výrazně.

  • CephFS – souborový přístup. Trpí podobnými neduhy jako NFS, pro ukládání zpráv se nehodí (lze ale použít pro metadata), platformově závislý, vyžaduje přímý přístup do úložné sítě.

  • RBD – blokový přístup. Vyžaduje sharding, musí se řešit zvětšování úložiště, data nelze sdílet mezi klienty, použití není praktické.

  • RADOS Gateway – objektový přístup přes bránu. E-mailové zprávy lze ukládat přímo jako objekty, není potřeba přímý přístup do úložné sítě, hrozí ale problémy s výkonem.

  • Librados – objektový přístup přes knihovnu. Rychlejší a paralelizovatelné řešení, vyžaduje ale přímý přístup do úložné sítě.

Jak skloubit Dovecot a Ceph

Samotný Dovecot neobsahuje žádnou podporu pro objektové ukládání zpráv. V Dovecotu Pro (proprietární verze) je k dispozici plugin obox, který ale podporuje jen REST API a navíc je jeho nasazení drahé. Neexistovalo ani žádné hotové otevřené řešení. Proto se v Deutsche Telekomu rozhodli, že takové otevřené řešení nechají na své náklady vyvinout.

Vyvíjela ho firma Tallence s konzultacemi Wida den Hollandera (z firmy 42on.com) a firmy SUSE. Jako první krok bylo zvoleno hybridní řešení, které ukládá zprávy objektově a metadata souborově (přes CephFS). Cílem bylo, aby byl kód maximálně generický, rozdělený do knihoven, a aby se následně integroval do upstreamu.

Účastníci konference sledují přednášku o nasazení technologie Ceph Účastníci konference sledují přednášku o nasazení technologie Ceph

Výsledkem je knihovna librmb (pro objektové ukládání zpráv do Cephu přes knihovnu librados) a úložišťový plugin rbox do Dovecotu. Kód je napsán v jazyce C++, rozšiřován pod licencí GNU LGPL 2.1 a podporuje Dovecot ve verzi 2.2.21 a novějších.

Zdrojové kódy jsou k dispozici na GitHubu. Knihovna librmb je zatím součástí pluginu, ale je v plánu její vyčlenění a integrace do upstreamu projektu Ceph.

Vzhledem k požadavkům je potřeba použít nejnovější stabilní verzi Cephu, tedy „Luminous“. Deutsche Telekom využívá pro běh celého řešení produkty SUSE, konkrétně SUSE Linux Enterprise Server a SUSE Enterprise Storage.

Hardware se používá běžný, konkrétně servery HPE ProLiant DL380 Gen9 se dvěma CPU, dvěma 10Gb síťovými kartami a jen s HBA, bez řadiče RAID. Pro úložné uzly na metadata (CephFS) byly zvoleny servery s rychlými CPU (vysoká frekvence) a se SSD, pro uzly na zprávy (RADOS) pak se SSD a především HDD.

Servery jsou v datovém centru umístěny do dvou samostatných „fire compartments“ (požárních úseků, tedy z požárního hlediska zcela oddělených od ostatních), počítá se selháním serveru, switche, racku nebo požárního úseku. Data existují minimálně ve třech replikách.

Shrnutí

Ukázalo se, že Ceph může úspěšně nahradit NFS, při zachování nízkých nákladů (díky otevřené licenci) – zatím ve formě hybridního řešení, v budoucnu by se mohlo vyvinout řešení kompletně pro RADOS. Knihovna librmb může posloužit i pro jiná e-mailová řešení, než je Dovecot.

Plán dalšího vývoje (zdroj: prezentace k přednášce, CC BY-SA) Plán dalšího vývoje (zdroj: prezentace k přednášce, CC BY-SA)



Diskuze (5) Nahoru