IT & Business blog Enlogit
Člen skupiny:

Ceph - cloud storage nejen pro OpenStack

Vložil/a Pavel K, 15 Březen, 2016 - 14:18

Hledáte storage, která může být levná (nebo zdarma)? Zároveň je dobře škálovatelná a lze ji použít i na Vašich stávajících serverech? Řešením by mohl být Ceph - cloud storage nejen pro OpenStack.

Na našem blogu jsme se již zmiňovali o technologii Gluster. To ale není jediná Software Defined Storage (SDS), po které člověk může sáhnout, když potřebuje dobře škálovatelnou storage např. pro OpenStack. Jednou z dalších možností může být právě Ceph. Ceph byl původně vyvinut firmou Inktank, Inc., ale v relativně nedávné době byl koupen společností Red Hat. Ceph i nadále zůstává open source a u Red Hat ho najdete pod názvem Red Hat Ceph Storage (aktuálně ve verzi 1.3).

My jsme se na Ceph podívali trochu z blízka a vyzkoušeli jsme ho jako storage pro Red Hat OpenStack, který jsme mimochodem instalovali pomocí nástroje Red Hat OpenStack Platform Installer (OSPI), což je nástroj, který Vám velmi usnadní práci při deploymentu celého OpenStacku (všech nodů). Díky němu jste schopni deployovat jednotlivá OpenStack prostředí. OpenStack je sice sám o sobě multiténantní, ale můžete např. potřebovat kompletně oddělit DEV/TEST/PROD prostředí a s OSPI to půjde snadněji.

Pojďme se podívat na architekturu Cephu. Vzhledem ke své architektuře nemá single point of failure. Výhodou může být provoz na komoditním HW, což sníží pořizovací cenu storage. Jako základ slouží objektová storage RADOS, ke které můžeme díky knihovně LIBRADOS přistupovat různými způsoby. Buďto jako k objektové storage, nebo jako k blokovému zařízení nebo lze využít souborový přístup.


Zdroj: http://docs.ceph.com/docs/v0.78/_images/stack.png

V našem případě jsme využili přístupu k blokovým zařízením, které jsme na Cephu vytvářeli. Přímá podpora RBD zařízení je v kernelu od verze 2.6.39.

Při použití Cephu nedává moc smysl využívat RAID, naopak je to kontraproduktivní, protože přicházíme o kapacitu. Diky replikaci dat mezi více nody je redundance zajištěna. Ve chvíli, kdy dojde k závadě na některém z pevných disků nebo dokonce na celém nodu, Ceph zajistí, aby byly vytvořeny potřebné repliky dat na jiných nodech. Vždy jsou tedy k dispozici minimálně 2 repliky dat (může jich být samozřejmě více).

Samotnou “logiku” rozložení dat si můžete nastavit sami. V Cephu si můžete vytvářet virtuální racky a datacentra a vše mít v oddělených lokalitách. Toto může být užitečné při DR (Disaster Recovery).

Ceph je tedy clusterová storage, což je patrné z výše zmiňovaných nodů. Ceph cluster se může skládat z celkem 4 následujících nodů:
1. OSD node
2. Monitoring node
3. Admin node
4. MDS node (Metadata node - využitý pouze pro CephFS)

1. OSD node
Na těchto nodech jsou data uložena. Na každém disku daného nodu je podporovaný filesystem. Vzhledem k tomu, že btrfs ještě není připraven na produkci (dle mého názoru) je volba spíše mezi ext4 a xfs. U RHEL 7 je xfs jako výchozí filesystém a má některé výhody oproti ext4, který je tu už velmi dlouho. Myslím, že pro většinu lidí bude volbou právě xfs. “Nad” každým diskem běží Object Storage Daemon a z nich jsou tvořeny clustery. Pro zvýšení výkonu je možné ještě přidat journal disk, který slouží jako vyrovnávací paměť, zároveň zvýší odolnost proti výpadku.

Zdroj: redhat.com

2. Monitoring node
Na Monitoring nodech nejsou data přímo ukládána ani skrze ně nejsou propagována. Jsou na nich informace, kde která data jsou a v jakém stavu cluster je (které nody běží a které neběží). Na základě techto informací jsou rozmístěna data na OSD nody.

3. Admin node
Použití admin nodu je volitelné. Je to nejjednodušší cesta, jak vytvořit Ceph cluster skrze příkaz ceph-deploy. Přihlašuje se na nody přess ssh a příkazy dané nody ovládá.

4. MDS node
Pokud budete chtít využívat CephFS, budete potřebovat právě metadata server. Samotná data jsou ukládána na Ceph cluster. Bohužel CephFS zatím není připraven na produkční nasazení.

Testovací prostředí
V našem testovacím prostředí jsme měli Ceph nody s 2x10Gbps NIC a SSD disky. Velmi příjemeně mě překvapil výkon clusteru. Při testech jsme dostávali hodnoty, které odpovídaly krajním hodnotám možného datového průtoku síťovými kartami, což jsem osobně nečekal.

Informace o tom, v jakém stavu cluster je (počet OSD a jejich stav, aktuální r/w iops…) jsme sledovali v pěkném webovém prostředí Calamari, přes které lze cluster i konfigurovat.


Zdroj: redhat.com

Za nás má Ceph palec nahoru. Své využití už nalezl u velkých společností jako je např. Dell, Cisco, CERN atd. Jak jsem již zmínil, není pouze pro OpenStack, ale může fungovat např i. “pod” VMware.

Pavel K
není

Pavel K's blogPřidat komentář

Kontaktujte nás

IT & Business blog Enlogit
© Enlogit s.r.o. 2012
Víme, že je to otrava, ale musíme Vás informovat, že tento web používá k poskytování služeb soubory cookie. Používáním tohoto webu s tím souhlasíte. Další informace