Vysoká dostupnost dat bez diskového pole

Stalo se to ve 3 hodiny ráno, zvoní telefon. Na druhém konci kamarád s tím, že odešel souborový server a firma stojí. Zkrátím to. Provoz jsme obnovili krátce po sedmé ráno a to jen díky tomu, že jsem měl náhradní server s kompatibilními disky. A teď co s tím aby se to příště nestalo…

Zadání je jednoduché: Postavit řešení, které bude sloužit jako souborový (Samba) server a bude odolné vůči výpadku jednoho serveru.

Ideální by tedy bylo koupit dva servery a k nim sdílené diskové pole, přes které budou data vždy dostupná. Jenže co když odejde kontroler v diskovém poli? Takže je třeba pole se dvěma kontrolery, což podstatně zvýší cenu celého řešení.

Jak z toho ven?
Místo diskového pole jsou využity interní disky serveru, vysoká dostupnost dat je zajištěna replikací mezi servery. Jako operační systém je použit CentOS Linux, lze využít i komerční Linux s podporou, například RedHat. Servery jsou dále využity pro provoz Samby – tedy souborového serveru pro celou firmu. Výsledná cena řešení je tak v hodnotě dvou serverů + práce za instalaci, konfiguraci, zahoření, otestování havarijních situací a dokumentaci řešení. Námi zprovozněné řešení je jednoduché, dlouhodobě otestované (sami ho používáme) a plně funkční :).

Jak funguje naše řešení vysoké dostupnosti dat?
Systém je postaven na dvou serverech, kdy jeden je „master“, druhý slave. Souborový server – tedy vlastní operace čtení a zápisu – běží na masterovi. Zápisy se současně replikují na slave. Replikace probíhá přes dvě 1Gbité LAN rozhraní, které zajišťují dostatečnou propustnost spojení a zároveň i redundanci pro případ výpadku jedné síťové karty. Určitě vás napadne jak rychlé (pomalé) to je?

Konkrétní řešení:
2x server s procesorem Intel Xeon 2.4GHz, 4GB RAM a 2 interní disky o kapacitě 300GB a rychlosti otáčení 15K RPM v každém serveru, interní řadič Areca s 256 MB cache, která je zálohovaná baterií.

Sekvenční čtení: >200MB/s (ano, to není překlep! více než 200 MByte/s :)
Sekvenčí zápis: 49 MB/s

V našem případě je rychlost zápisu rovna rychlosti zápisu na jeden disk (synchronní zápis po síti to opravdu nebrzdí). Rychlost čtení je tak velká díky čtení z obou disků současně. Sami používáme toto řešení s větším počtem disků. Ze zkušenosti víme, že je možné bez problému saturovat 2GBitové propojení serverů, rychlost replikace je tedy cca 190MB/s a určitě by se dalo jít s větším počtem LAN linek nebo propojem na 10Gbitu dál.

A protože obrázek je více než tisíce slov…

Obrázek replikace dat mezi servery
První část obrázku ukazuje standardní provozní stav, druhá část pak stav po výpadku hlavního servery, kdy služby přebírá druhý server, který má všechna data.

Možnosti a další rozšíření našeho řešení:
Řešení tak jak zde bylo popsáno je úplným základem, možnosti rozšíření jsou opravdu velké:
až 48 TB RAW kapacity pouze
automatické přehození master/slave v případě výpadku serveru nebo aplikace
zdroj dat protokoly Samba, NFS, CIFS
možnost použití jako zdroje dat iSCSI nebo AOE pro virtualizaci serverů

Rekapitulace:
– řešení zajišťující vysokou dostupnost dat za rozumnou cenu
– náhrada drahého diskového pole se synchronní replikací dat na druhé pole
– dvojitá redundance dat, všechna data jsou na obou serverech
– v případě výpadku jednoho zařízení jsou data stále dostupná na druhém
– na platformě Linux
– řešení možné bez licenčních nákladů
– možnost využít výpočetní výkon serverů i na další aplikace
– bez dalších nákladů na infrastrukturu, běží po LAN
– velká rozšiřitelnost řešení
– RAW kapacita 300GB až 48TB
– možnost rozšíření na clusterové řešení s plně automatizovanou reakcí na výpadek HW/SW
– instalace na nové servery dodané námi, nebo na stávající servery zákazníka
– možnost vzdáleného dohledu, telefonické podpory nebo SLA smlouvy

Zaujalo Vás tento článek, toto řešení? Kontaktujte mne na e-mailu: Jan.Vydrar@bcvsolutions.eu. Rádi Vám poradíme a vytvoříme nabídku.