Storage für unsere Cloud: Das Geheimnis schnellen und unendlichen Speicherplatzes


In meinem Blogartikel lüfte ich das Geheimnis um eines unserer internen und vor kurzem in den Wirkbetrieb überführten Projekte: Unserem neuen Serververbund zur Bereitstellung von unendlichen vielem schnellen Speicherplatz. Unsere Techniker sprechen dann auch gerne von "Storage" (dt. = Ablage) und Cluster-Systemen (dt. = Gruppe von Servern / Datenobjekten mit ähnlichen Eigenschaften).
 

Denn unser neuer Datenspeicher aka Cluster auf Basis der quelloffenen Software Linux und CEPH ist vor wenigen Tagen in den Wirkbetrieb gegangen und bietet "quasi unendlich" viel Speicher,  schnelleren Zugriff, mehr Redundanz und deutlich höhere Verfügbarkeit. Über dieses Projekt möchte ich ein wenig mit Hintergrund-Informationen und internen Eindrücken berichten.

Bisherige Technik - zur Abgrenzung:

Für viele unserer Angebote aus dem Bereich Hosting brauchen wir als Provider vor allem eines: Speicherplatz. In Hülle und Fülle und in großen rauen Mengen. Vor allem aber gilt dies für unsere Angebote rund um's Webhosting, virtuelle Server und unseren Online-Speicher SpeedDrive.

 

Bislang hatten wir dazu sogenannte Storage-Systeme im Einsatz: Dies waren im Prinzip einzelne Server-Systeme mit ganz vielen Festplatten. In solch einem Server liefen so 8, 16, 24 oder noch mehr große Festplatten mit jeweils bis zu 4 TByte Kapazität (1). Die Gesamtkapazität wird dann an andere Systeme (2), wie z.B. unsere WebServer für unsere Webhosting-Tarife oder für den Betrieb von virtuellen Servern, über ein schnelles Netzwerk über das iSCSI-Protokoll (3) als "virtuelle Festplatte" bereitgestellt. 

Der Ausfall einzelner Festplatten war dabei egal, da für die Redundanz sogenannte Raid-Level zum Einsatz kamen. Daten dieser virtuellen iSCSI-Festplatten werden in Raid-Systemen auf alle physikalischen Festplatten verteilt so gespeichert, dass der Ausfall einzelner Festplatten jederzeit kompensiert werden kann. Ausgefallene Festplatte können dann in Ruhe von unseren Mitarbeitern getauscht werden, ohne das es von den daran hängenden weiteren Serversystemen überhaupt bemerkt wird.

Manche dieser Storage-Systeme haben wir dabei aber zusätzlich nochmal als Zweitsystem komplett redundant aufgebaut und dann 1:1 alle Daten doppelt gespeichert:

Selbst wenn dann das einzelne zugrunde liegende "linke" Serversystem ausgefallen ist, sprang das zweite "rechte" System sofort - und für die dranhängenden "unteren" Server-Systeme vor allem auch unterbrechungsfrei - ein. Diese Technik, im Detail für unsere technisch interessierten Leser DRBD (Distributed Replicated Block Device), kam bislang bei unseren virtuellen Servern als grundlegende Speicher-Technik (Storage) zum Einsatz. Diese Technik hat in den vergangenen vier Jahren einmal dafür gesorgt, dass ein sehr kritischer Ausfall an unseren Kunden unbemerkt vorbei gegangen ist.

Unser Bedarf

Nun ist es erfreulicherweise so, dass unsere Kunden nicht nur immer mehr Hosting-Tarife buchen, sondern in den Tarifen auch immer mehr Daten produzieren. Und hier gibt es dann ab bestimmten Punkten negative Skalierungs-Effekte:

Ausbau und Erweiterung schwierig: Denn so ein großer Speicher mit 20, 30 oder noch mehr Festplatten kann nicht mal eben durch einen noch größeren ersetzt werden. 50, 100 noch mehr TByte an Daten lassen sich nicht mal eben auf ein anderes größeres System kopiert werden - vor allem nicht im laufenden Betrieb wenn da dran hängende Systeme nicht ausfallen dürfen und Daten ständig verändern ...

Ein weiteres Problem sind Geschwindigkeits-Effekte: Selbst wenn man 100 Festplatten in einem System betreiben würde, die Daten sollen oft auch noch besonders schnell zu den da dran hängenden Systemen geleitet werden.

Von daher brauchten wir eine neue und bessere Technik mit folgenden Anforderungen:

  • Unendlichen Speicherplatz: Tja, was soll man dazu noch sagen, nach Tera-Byte kommen Peta-Byte ;)
  • Schnelle Datenbereitstellung: Insbesondere für virtuelle Server aber auch sonst können Datenspeicher nie schnell genug sein
  • Flexibel: Wir wollen sowohl einzelne Dateien ablegen als auch ganze virtuelle Festplatten, sogenannte Container als Block-Devices, für unsere virtuellen Server nutzen können
  • Hochverfügbar: der Ausfall einzelner Komponenten wie Festplatten, Netzteile, kompletten Stromphasen aber auch von Netzwerk-Switches und ganzer Serversysteme darf das Gesamtsystem nicht beeinträchtigen und es muss alles weiterlaufen
  • Skalierbar: im laufenden Betrieb beliebig bis ins "unendliche" erweiterbar - ohne Ausfälle

CEPH-Storage - Evaluierung seit Sommer 2014

Wir haben im Sommer 2014 angefangen verschiedene Opensource-Lösungen für das Betriebssystem Linux zu evaluieren und die Vor- und Nachteile mit unseren Anforderungen abzugleichen - und dann einfach mal auszuprobieren. Im Herbst 2014 haben wir nach ersten Gehversuchen ein umfangreicheres Testsystem mit der Software CEPH aufgebaut.

CEPH ist ein Cluster-System, welches alle unsere Anforderungen erfüllt: Salopp gesagt setzt man mehrere Server (auch "Node" genannt) mit mehreren Festplatten (jeweils von einem Dienst namens "OSD" für "object storage daemon" verwaltet). Das CEPH-System stellt die Gesamtkapazität nach außen dann als eine Mega-große-Festplatte zur Verfügung: Sowohl als Dateisystem (CEPH Filesystem) als auch als Block-Storages (für virtuelle Server ; KVM).

 

Im einfachsten Fall werden alle Dateien und Daten auf alle Server und alle Festplatten verteilt gespeichert - und zwar immer doppelt auf mindestens zwei Systemen. Im Beispiel ist dies an dem Foto meines Katers zu sehen: Das Bild wird auf alle Systeme verteilt und alle Segmente des Fotos sind immer doppelt auf zwei unterschiedlichen Festplatten in unterschiedlichen Systemen abgelegt.

Fallen einzelne Festplatten oder ein ganzes System aus, so dass einzelne Daten nur noch einmal gespeichert sind, fängt das System sofort an die Daten auf den noch vorhandenen restlichen Systemen neu zu duplizieren.

Reicht die Kapazität nicht mehr, können in den vorhandenen Systemen einfach weitere Festplatten beigesteckt werden - oder es werden einfach weitere Server-Systeme mit Festplatten dem Verbund hinzugefügt. Sofort beginnt das CEPH-System die neuen Festplatten oder Systeme dann ebenfalls mit bestehenden Daten zu versorgen und verteilt so innerhalb kürzester Zeit den aktuellen Datenbestand neu auf das neue größere Gesamtsystem. Auf den alten Systemen entsteht wieder etwas mehr freier Platz - und die gesamte Redundanz ist zusätzlich sofort erhöht.

In großen Installationen können durchaus mehrere hundert solcher Node's mit tausenden von Festplatten zum Einsatz kommen. Aber ganz so groß brauchen wir es dann doch noch nicht. Ein Glück für meinen Kollegen Bernd, der würde sonst wegen der anstehenden Hardware-Kosten eine mittelschwere Krise bekommen ;) 

 

Desto größer, desto besser ...

Der Clou: Desto mehr Festplatten und desto mehr Systeme an dem ganzen Verbund teilnehmen, desto redundanter wird das Gesamtsystem gegen Ausfälle. Und desto schneller. Denn wenn eine Datei oder ein Datenblock benötigt wird, ist es ein Geschwindigkeits-Unterschied ob der Cluster-Verbund die verteilt gespeicherte Datei nur aus drei Systemen oder aus z.B. zehn Systemen mit jeweils 1 GBit Anbindung sendet. Desto mehr Systeme, desto schneller wird jeder einzelne Zugriff.

Die Wartung oder das Aufrüsten einzelner Server ist dabei sehr unproblematisch: Einfach runterfahren, ausschalten und aus dem Verbund entkoppeln. Das Restsystem läuft ja ohne Ruckler und gefahrlos weiter. Wartungsarbeiten wie Updates oder neue Hardware einbauen, hochfahren und wieder in dem Verbund aufnehmen - fertig. Auf diese Weise können dann auch ältere Systeme später leicht durch neue leistungsfähigere Systeme ersetzt werden.

Dies ist an dieser Stelle eine leicht vereinfachte Darstellung. Das CEPH-System bietet diverse Möglichkeiten das ganze aktiv zu konfigurieren und zu steuern - und dabei auch Punkte wie Stromversorgung, unterschiedliche Brandabschnitte oder auch das Daten nicht nur doppelt sondern dreifach, vierfach oder noch mehr redundant gespeichert werden, zu berücksichtigen.

Aufbau unseres Produktivsystems seit Oktober 2014

Im Oktober 2014 gab es das Go für die Planung und den Aufbau unseres produktiven Systems:

Sorgfältige Planung: Wir haben dabei auch wichtige Punkte wie ein potentieller Stromausfall (Netzteile aber auch kompletter Ausfall einzelner Stromphasen) oder der Ausfall von Netzwerkswitchen berücksichtigt. Alle Server unseres CEPH-Clusters sind deshalb an mehrere Switche angebunden und verfügen über redundante Netzteile welche an verschiedene Strom-Phase und USV's angeschlossen sind. Die Datenverteilung erfolgt außerdem über ein eigenes zusätzliches Netzwerk, damit die daran hängenden Systeme die maximale Bandbreite erhalten und nicht durch interne Kopier-Vorgänge ausgebremst werden.

Foto rechts: Sieht unspektaulärer aus als in den Diagrammen. Die ersten drei Nodes bieten jeweils 16 Festplatten = 3 * 16 * 4 TByte = 192 TByte physikalische Kapazität. Bei Einsatz von 6 TByte-Festplatten wären es schon 288 TByte. Und mit nur 10 solcher Nodes kommen wir mit 960 TByte Kapazität dem ersten Petabyte dann schon nahe ...

Aber auch die Wirtschaftlichkeit haben wir natürlich sorgfältig durchgerechnet und den Preis pro TByte / Monat im Auge behalten. Dabei haben wir neben den Hardwarekosten vor allem auch laufende Kosten wie Strom usw. genau kalkuliert.

Seit Februar ist die erste Ausbau-Phase technisch abgeschlossen - und wir haben fleißig nochmal alles sorgfältig durchgetestet, hier und da mal Kabel im laufenden Betrieb gezogen und waren von der Robustheit teilweise selbst erstaunt.

Seit April sind wir nun dabei erste virtuelle Server in unseren neuen schnelleren und quasi unendlich großen Speicherplatz zu migrieren.

Aktueller Stand und Ausblick

Unsere Kunden profitieren damit von noch mehr Sicherheit, Hochverfügbarkeit, Geschwindigkeit und vor allem Speicherplatz - jederzeit nach Bedarf. Unsere Kunden mit Tarifen aus dem Umfeld Webhosting und virtueller Server kommen bis Sommer nach und nach automatisch zu diesen vielen Vorteilen. Auch unsere Speeddrive-Lösung möchten wir im Sommer auf das neue Storage migrieren.

Für unsere Housing-Kunden arbeiten wir an einer Lösung, diesen ebenfalls Speicherplatz bereitstellen zu können. Für eigene virtuelle Systeme oder auch einfach als Speicher für Datensicherungen. Damit gewinnt unser Standort Wuppertal einen weiteren ganz wesentlichen Wettbewerbsvorteil.

Wir behalten die Auslastung natürlich stets im Blick und rüsten rechtzeitig weitere Festplatten und Systeme nach. Durch jede weitere Festplatte und jeden weiteren Server wird der Verbund umso stärker, redundanter und schneller.

Zum ersten mal haben wir deshalb jetzt keine Angst mehr vor noch mehr Daten - also legen Sie los mit der Daten-Produktion ;)

Seite 1 Seite 2

Diesen Artikel...


... auf weiteren sozialen Netzwerken posten:

Tags

Ein Tag ist ein Schlagwort, welches zu einem Produkt oder einer Seite passt. >> MEHR
vserver (1)
storage (1)
cloud (1)
ceph (1)
cluster (1)
, um selber Tags hinzuzügen und Ihr persönliches Schlagwort-Register aufzubauen.

Noch kein Konto bei portunity.de? Jetzt kostenlos registrieren!

Trackbacks

Bisher gab es noch keine Links von externen Seiten. Trackback-URL

Kommentare

Leider sind zu diesem Artikel noch keine Kommentare vorhanden.
Seien Sie der/die Erste und schreiben Sie uns Ihren Kommentar zu diesem Artikel.
Kommentar schreiben Kommentar via Facebook

Über den Autor

Björn Rücker
Portunity GmbH
Founder of Portunity & Entrepreneur

Hi. I'm one of the founders of Portunity - where I work with some of the coolest people on earth on projects with and for the internet.

Hallo. Ich bin einer der Gründer von Portunity - wo ich mit einigen der coolsten Menschen dieser Erde an Projekten im und für das Internet arbeite.

23.06.2017
21.07.2016
24.02.2016
26.05.2015
11.01.2015
  • nofearsu822

    nofearsu822 hat sich angemeldet


    vor 1 Tagen
  • postBoxBackup

    postBoxBackup hat sich angemeldet


    vor 6 Tagen
  • Schoko

    Schoko hat sich angemeldet


    am 14.08.2017
  • Schoko

    Schoko hat sich angemeldet


    am 14.08.2017
  • Pithig

    Pithig hat sich angemeldet


    am 14.08.2017
  • Rudolf67

    Rudolf67 hat sich angemeldet


    am 11.08.2017
  • joerg_thomas_stein

    joerg_thomas_stein hat sich angemeldet


    am 05.08.2017
  • Rabrue

    Rabrue hat sich angemeldet


    am 03.08.2017
  • Rabrue

    Rabrue hat sich angemeldet


    am 03.08.2017
  • AgRittermann

    AgRittermann taggt einen Artikel

    Faxnummer.de
    am 02.08.2017
Konferenzen.eu
Jetzt eine Telefonkonferenz starten? Schnell, keine Anmeldung erforderlich, kostenlos, normale Festnetznummer und sofort einsatzbereit: www.konferenzen.eu
Telefonkette für Ihr Business
Mit Telefonkette.de können Sie Telefonketten verwaltet und automatisch die aufgenommenen Sprachnachrichten an die Mitglieder via echten Telefonanruf übermitteln.
MusikAnsagen.de
Individuelle musikalische Ansagen für Anrufbeantworter, Warteschleifen, Sprachmenüs und sonstige Telefonie-Anwendungen.
faxnummer.de
Mit dem kostenlosen Faxnummern - Service von Portunity erhalten Sie eine echte Ortnetz-Rufnummer und können sich so Ihre Faxe bequem per eMail zustellen lassen.
Telefonvalidierung
Mit unserer Webservice-API Telefonvalidierung können Telefonnummern in eigenen Projekten überprüft werden (z.B. in Onlineshops, Communities, ...).
BankdatenCheck.de
Mit dem Webservice von BankdatenCheck.de können aus eigenen Applikationen aus dem Shop- und eCommerce-Umfeld Eingaben von Bankdaten auf Plausibilität überprüft werden.