Schalen tot PetaBytes met goedkope hardware

We slaan met zijn allen steeds meer data op. Met onze mobieltjes, tablets en allerlei andere apparaten genereren we meer data, jaar op jaar steeds meer en meer. Het einde hiervan lijkt ook zeker nog niet in zicht.

Uitdaging
In alle aspecten van de IT dienstverlening zien we deze trend. Het wordt echter wel steeds uitdagender om dit op te slaan. Hoewel disks steeds groter worden, groeit hun snelheid en betrouwbaarheid niet meer met hun opslagcapaciteit. Een disk van 4TB is niet 4x zo betrouwbaar als een disk van 1TB. Ze krijgen beide nog steeds evenveel MBTF (Mean time between failures) mee vanuit de fabrikant.

Veel data
Je kan bij grote fabrikanten van storage systemen aankloppen en zeggen: “Ik wil graag een systeem met 200TB opslagcapaciteit”. Aan die vraag kan alleen worden voldaan wanneer je langs komt met een flinke kar met geld, daarvoor kan je in Nederland een riante woning kopen. Ik vind echter 200TB in de huidige tijd helemaal niet zo raar meer! Natuurlijk gaat het om véél data, maar ik sta er niet echt van te kijken.

Onafhankelijk van fabrikant
De wereld van storage is dan ook aan het veranderen. We hebben niet alleen meer behoefte qua capaciteit, maar ook lijkt de neiging naar “Open Storage” er steeds meer te zijn. Geen gesloten systeem meer van fabrikant X waar je data op staat, maar jouw data opgeslagen op een platform waar de broncode van open is. Zo ben je niet meer afhankelijk van die fabrikant.

Nexenta
Een goed voorbeeld hiervan is Nexenta. Ze groeien als kool, jaar op jaar verdubbelen ze weer in grootte terwijl ze ‘slechts’ een ZFS gebaseerde applicatie leveren met daar overheen hun weliswaar gesloten management en de daarbij behorende enterprise-support en training. Hoewel Nexenta (en dus ZFS) een geweldige oplossing is, kent het ook zijn beperkingen. Je moet aan de slag met dure SAS disks, SAS HBA’s en ook dat kent zijn disk limitations, je kan maximaal 256 disks adresseren en het staat daardoor uiteindelijk allemaal op één actief systeem.

Ceph
Wat nu als we een systeem willen maken wat blijft schalen? Zonder down-time even wat disks er bij prikken en weer vrolijk door gaan? Wat als we willen schalen van 200TB naar 2000TB zonder daarvoor data te moeten migreren en eventueel diensten offline te halen? Dan is daar Ceph! Een distributed object store die er komt in meerdere smaken: Een plain object store, een block device op basis van die object store en een POSIX-filesystem voor Linux.

Open Source project
Ceph is een Open Source (LGPLv2.1) project wat zich richt op het opslaan van veel data in een distributed cluster. Je bouwt je omgeving niet meer op basis van de state-of-the-art hardware, maar gewoon op de commodity hardware. Een blokje data wordt 2, 3, 4 of 5 keer (of meer) in het cluster opgeslagen zodat bij uitval van één machine het blokje nog altijd beschikbaar is.

Uitval is de regel
Brand er een machine af? Geen probleem! Dan repareert het cluster zichzelf weer zodat het weer voldoet aan de gestelde replicatie eis. Een paar machines toevoegen? Ook geen enkel probleem! Na het toevoegen wordt de data binnen het cluster opnieuw verdeeld zodat elke machine direct evenredig deel neemt. Het idee wat ten grondslag ligt aan Ceph is: “Uitval van hardware is niet meer de uitzondering op de regel, het is de regel.”

Uitvallende machines dagelijkse kost
Dat is een fundamentele verandering in de denkwijze van storage. Traditioneel zijn we heel voorzicht met storage, wat heel logisch is, dit omdat al onze zeer belangrijke data er op staat. We zijn als de dood dat er een machine defect raakt en we daarmee data verliezen. Naar mate onze omgevingen echter groeien is het echter niet meer uit te sluiten dat er hardware faalt. Dat gebeurd gewoon. Een Ceph cluster kan bestaan uit duizenden nodes, daarbij is het gewoon dagelijkse kost dat er machines uitvallen.

Nooit meer offline voor capaciteitsuitbreiding
Dit maakt Ceph uniek en bied daarmee geweldige mogelijkheden. Zo kan je je virtuele machines binnen een CloudStack of OpenStack omgeving direct vanaf een Ceph cluster draaien. Geen rare iSCSI en/of NFS gateway die er tussen moet, maar native vanaf Ceph draaien. Je profiteert hiermee van alle mogelijkheden die Ceph bied. Nooit meer offline gaan voor een capaciteitsuitbreiding of hardware vervanging.

Geen beperkingen
Ik ben al bijna 3 jaar betrokken bij het Ceph project en heb het zien groeien tot wat het nu is. De vrijheid die je dit geeft is ongekend wanneer je huidige storage systemen gewend bent. Je kan bij traditionele systemen altijd maar groeien tot een X aantal units, hierna wordt je verplicht opnieuw te beginnen omdat er wel ergens een beperking ligt. Dat vind ik nou juist het mooie aan Ceph, die limitatie is er niet!

Werken zoals je gewend bent
Zowel het block device als het POSIX-filesystem (experimenteel) zijn al een tijdje in het Linux kernel opgenomen. Op deze manier kan je bijvoorbeeld /dev/rbd0 gewoon als blockdevice gebruiken binnen je Linux omgeving en er mee werken zoals je gewend bent. Alleen zit daar onder wel volgende generatie van storage.

RADOS
Onder al deze mooie functionaliteit ligt de object store van Ceph met de naam RADOS, ofwel Reliable Autonomous Distributed Object Store. Dit is plat gezegd niets meer dan een aantal pools met objecten. De kracht hiervan wordt echter vaak onderschat. We zijn nu gewend om bijvoorbeeld al onze facturen in PDF-formaat op een filesystem op te slaan. Waarom? Je kan ook prima elke factuur direct als een object binnen Ceph opslaan. Zo profiteer je direct van de replicatie van Ceph en weet je dat je factuur veilig staat.

Moeite waard
Als storage iets is wat je interesseert en/of bezig houdt, dan is Ceph zeker de moeite waard om naar te kijken en meer over te leren.



Wido den Hollander
is CTO en mede-eigenaar van PCextreme en ook eigenaar van 42on. In zijn dagelijkse werkzaamheden is hij actief als committer en PPMC member van het Apache CloudStack project en werkt hij mee aan het Ceph project. Zijn kennis ligt vooral op het gebied van storage.

Op 2 November 2012 organiseert 42on samen met Inktank een Ceph workshop dag in hartje Amsterdam. De hoofd ontwikkelaar en andere Ceph experts zullen hier aanwezig zijn om talks te geven en hands-on demo’s te laten zien van wat Ceph allemaal kan. Geïnteresseerd? Kijk ophttps://www.42on.com/events/

Over Wido den Hollander

Laatste artikelen