© Liashko/Shutterstock.com
Entwickler Magazin
Private Storage Cloud mit Ceph

Verteilt gespeichert

Amazon S3 ist der allgemeine Standard, was Cloud Storage betrifft. Doch was ist, wenn man seine Daten nicht bei Amazon ablegen möchte? Was ist, wenn man durch seine Infrastruktur nicht dazu in der Lage ist, einen externen Cloud-Dienst zu nutzen? Ceph ist eine verteilte Storage-Lösung, mit der sich diese Anforderungen realisieren lassen.

Stefan Kress, Sebastian Deutsch


Wir haben nach einer Technologie gesucht, mit der wir einerseits sehr leicht Back-ups verwalten können und die andererseits leicht erweiterbar ist. Weiterhin wollten wir Storage von den physikalischen Maschinen trennen, auf denen Applikationen gehostet werden. Eine Idee war es z. B. Docker-Container auf einem verteilten Dateisystem zu hosten, sodass der Container bei Ausfall einer Hardware schnell auf einer anderen Hardware gestartet werden kann.

Bei der Evaluierung von verschiedenen Technologien sind wir auf das noch recht junge Projekt Ceph gestoßen. Zusätzlich zu unseren benötigten Anforderungen ist Ceph darüber hinaus ein idealer Cloud-Speicher für Applikationen mit verschiedenen kompatiblen APIs wie Amazon S3 oder OpenStack Swift.

Architektur

Ceph besteht aus mehreren Komponenten. Die Basis von Ceph bildet der Reliable Atonomic Distributed Object Storage, kurz RADOS. In diesem Speicher liegen alle gespeicherten Daten als abstrakte Objekte vor, unabhängig von ihrem tatsächlichen Inhalt oder Datentyp. Der RADOS-Objektspeicher besteht aus drei elementaren Komponenten, die sich um die redundante Verteilung, die Konsistenz und die Wiederherstellung im Fehlerfall kümmern.

Das kleinste mögliche Ceph Deployment besteht aus einem Ceph-Monitor (MON) und einem oder mehreren Object Storage Devices (OSD). Wenn man das Ceph-Filesystem nutzen möchte, dann kommt noch der Metadata-Server (MDS) dazu.

Die OSD sorgen dafür, dass Daten in den Objektspeicher – und damit physikalisch – auf die Datenträger geschrieben werden. Üblicherweise existieren genauso viele OSD wie Festplatten in einem System vorhanden sind.

Die MON überwachen den Zustand des gesamten Clusters und kümmern sich um die redundante Speicherung der Daten. Sie verteilen die Daten an die OSD und überwachen, dass die Objekte immer mehrfach vorhanden sind. Bei einem Ausfall übernehmen sie die Umverteilung der Daten auf die anderen OSD.

Der MDS wird nur für CephFS benötigt. Da das Dateisystem bei CephFS auf verschiedenen physikalischen Datenträgern liegt, kümmert sich der MDS um den simultanen Zugriff auf die Daten.

Als nächste Schicht über dem RADOS-Objektspeicher kommt die Bibliothek „librados“ zum Einsatz. Sie regelt den Zugriff auf den Objektspeicher. Dieser kann über die entsprechenden Schnittstellen wie dem RADOS-Gateway (RGW), Rados Block Device (RDB) und ­CephFS erfolgen. Alternativ bietet librados auch direkten Zugriff mit Unterstützung für verschiedene Programmiersprachen, wie z. B. C, C++, Java, Ruby, Phy...

Entwickler Magazin
Private Storage Cloud mit Ceph

Verteilt gespeichert

Amazon S3 ist der allgemeine Standard, was Cloud Storage betrifft. Doch was ist, wenn man seine Daten nicht bei Amazon ablegen möchte? Was ist, wenn man durch seine Infrastruktur nicht dazu in der Lage ist, einen externen Cloud-Dienst zu nutzen? Ceph ist eine verteilte Storage-Lösung, mit der sich diese Anforderungen realisieren lassen.

Stefan Kress, Sebastian Deutsch


Wir haben nach einer Technologie gesucht, mit der wir einerseits sehr leicht Back-ups verwalten können und die andererseits leicht erweiterbar ist. Weiterhin wollten wir Storage von den physikalischen Maschinen trennen, auf denen Applikationen gehostet werden. Eine Idee war es z. B. Docker-Container auf einem verteilten Dateisystem zu hosten, sodass der Container bei Ausfall einer Hardware schnell auf einer anderen Hardware gestartet werden kann.

Bei der Evaluierung von verschiedenen Technologien sind wir auf das noch recht junge Projekt Ceph gestoßen. Zusätzlich zu unseren benötigten Anforderungen ist Ceph darüber hinaus ein idealer Cloud-Speicher für Applikationen mit verschiedenen kompatiblen APIs wie Amazon S3 oder OpenStack Swift.

Architektur

Ceph besteht aus mehreren Komponenten. Die Basis von Ceph bildet der Reliable Atonomic Distributed Object Storage, kurz RADOS. In diesem Speicher liegen alle gespeicherten Daten als abstrakte Objekte vor, unabhängig von ihrem tatsächlichen Inhalt oder Datentyp. Der RADOS-Objektspeicher besteht aus drei elementaren Komponenten, die sich um die redundante Verteilung, die Konsistenz und die Wiederherstellung im Fehlerfall kümmern.

Das kleinste mögliche Ceph Deployment besteht aus einem Ceph-Monitor (MON) und einem oder mehreren Object Storage Devices (OSD). Wenn man das Ceph-Filesystem nutzen möchte, dann kommt noch der Metadata-Server (MDS) dazu.

Die OSD sorgen dafür, dass Daten in den Objektspeicher – und damit physikalisch – auf die Datenträger geschrieben werden. Üblicherweise existieren genauso viele OSD wie Festplatten in einem System vorhanden sind.

Die MON überwachen den Zustand des gesamten Clusters und kümmern sich um die redundante Speicherung der Daten. Sie verteilen die Daten an die OSD und überwachen, dass die Objekte immer mehrfach vorhanden sind. Bei einem Ausfall übernehmen sie die Umverteilung der Daten auf die anderen OSD.

Der MDS wird nur für CephFS benötigt. Da das Dateisystem bei CephFS auf verschiedenen physikalischen Datenträgern liegt, kümmert sich der MDS um den simultanen Zugriff auf die Daten.

Als nächste Schicht über dem RADOS-Objektspeicher kommt die Bibliothek „librados“ zum Einsatz. Sie regelt den Zugriff auf den Objektspeicher. Dieser kann über die entsprechenden Schnittstellen wie dem RADOS-Gateway (RGW), Rados Block Device (RDB) und ­CephFS erfolgen. Alternativ bietet librados auch direkten Zugriff mit Unterstützung für verschiedene Programmiersprachen, wie z. B. C, C++, Java, Ruby, Phy...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang