Inhaltsverzeichnis
Ceph
Storage
Proxmox

Ceph Storage: Überblick, Architektur und Integration mit Proxmox

Serverhero  |  17. März 2025

Ceph Storage

Inhalt

Jonas Nowak

Ihr persönlicher IT-Berater

Einleitung

Unternehmen stehen vor der Herausforderung exponentiell wachsender Datenmengen, wobei traditionelle Speicherlösungen bezüglich Skalierbarkeit, Flexibilität und Wirtschaftlichkeit an ihre Grenzen stoßen.

Softwaredefinierte Speicherarchitekturen wie Ceph Storage haben sich als Antwort auf diese Anforderungen entwickelt. Diese Technologien, deren Ursprünge in Forschungsprojekten der frühen 2000er Jahre liegen, sind heute sowohl in privaten Rechenzentren als auch in großen Cloud-Umgebungen etabliert.

Dieser Artikel bietet einen umfassenden Überblick über technische Grundlagen und Vorteile dieser modernen Speicherlösungen, vergleicht sie mit traditionellen Ansätzen und betrachtet ihre Integration in Virtualisierungsplattformen wie Proxmox.

In Kürze

  • Was ist Ceph?
    Ceph ist ein verteiltes, softwaredefiniertes Speichersystem, das Objekte, Blöcke und Dateien in einem einzigen Cluster verwaltet – ideal für skalierbare Cloud- und Virtualisierungsumgebungen.

  • Hauptmerkmale:

    • Skalierbarkeit: Nahtlos erweiterbar durch Hinzufügen weiterer Knoten.
    • Selbstheilung: Automatische Replikation und Recovery sichern Datenverluste.
    • Flexibilität: Unterstützt verschiedene Storage-Typen (Objekt, Block, Dateisystem).
    • Kosteneffizienz: Open-Source und läuft auf Standard-Hardware ohne teure Lizenzen.

  • Technische Architektur:
    Basierend auf RADOS (dem Kernobjektspeicher), ergänzt durch OSDs (Datenspeicherung), Monitore (Cluster-Management) und optional Metadata-Server für CephFS.

  • Integration mit Proxmox:
    Ermöglicht den Aufbau einer hyper-konvergenten Infrastruktur, in der Rechenleistung und Speicher nahtlos in einem Proxmox-Cluster kombiniert werden – für hohe Verfügbarkeit und einfache Verwaltung.

Was ist Ceph Storage?

Ceph Storage ist ein Open-Source, softwaredefiniertes Speichersystem, das Daten in einem verteilten Cluster speichert. Es bietet eine einheitliche Plattform für Block-, Datei- und Objektspeicher, ermöglicht horizontale Skalierung und sorgt durch automatische Replikation und Selbstheilungsfunktionen für hohe Ausfallsicherheit – ideal für Cloud-Infrastrukturen und virtualisierte Umgebungen.

Eingenschaften und Vorteile von Ceph Storage

Ceph bietet eine Reihe von Eigenschaften, die es von traditionellen Speichersystemen abhebt:

Ceph ermöglicht eine nahezu unbegrenzte Skalierung, indem einfach neue Speicherknoten hinzugefügt werden. Bestehende Knoten müssen dabei nicht aufgerüstet werden. Ein Ceph-Cluster kann problemlos Hunderte oder sogar Tausende von Knoten umfassen und so mehrere Petabyte an Daten effizient verteilen. Dadurch bleibt das System flexibel, leistungsfähig und wächst dynamisch mit den Anforderungen.

In einem Ceph-Cluster lassen sich Objektspeicher, Blockspeicher und Dateisysteme nahtlos in einer einheitlichen Speicherplattform kombinieren. Dieses Unified Storage-Konzept eliminiert die Notwendigkeit separater Systeme für unterschiedliche Speicheranforderungen.

Das bedeutet:

  • Virtuelle Maschinen (VMs) können direkt Blockgeräte aus Ceph nutzen, ähnlich wie bei klassischen SAN-Systemen.

  • Gleichzeitig steht ein S3-kompatibler Objektspeicher zur Verfügung, ideal für Cloud-native Anwendungen und skalierbare Datenarchitekturen.

  • Zusätzlich bietet Ceph ein verteiltes POSIX-konformes Dateisystem, das sich wie ein klassisches NAS verwenden lässt.

All das läuft auf derselben Infrastruktur, ohne spezielle Speicherhardware oder dedizierte Controller. Dadurch vereinfacht Ceph das Speichermanagement erheblich und ermöglicht eine flexible, hochskalierbare Speicherlösung für moderne IT-Umgebungen.

Ceph sorgt für maximale Datensicherheit durch eine verteilte, redundante Speicherung: Standardmäßig werden alle Daten dreifach repliziert und auf mehreren Knoten im Cluster verteilt. Sollte eine Festplatte oder sogar ein kompletter Server ausfallen, bleiben die Daten weiterhin zugänglich. Das System erkennt den Ausfall automatisch und stellt die fehlende Redundanz selbstständig wieder her – ein Prozess, der als Selbstheilung bezeichnet wird.

Dank des verteilten Designs gibt es keinen Single Point of Failure. Das bedeutet: Kein einzelner Knoten ist kritisch für den Betrieb des Clusters. Auch bei Hardware-Ausfällen bleibt die Speicherinfrastruktur stabil und leistungsfähig

Um Daten effizient und ohne zentrales Verzeichnis im Cluster zu verteilen, nutzt Ceph den CRUSH-Algorithmus (Controlled Replication Under Scalable Hashing). Anstatt wie herkömmliche Speichersysteme auf eine zentrale Metadatenbank zuzugreifen, berechnet jeder Client selbstständig, wo seine Daten gespeichert werden.

Dadurch ergeben sich mehrere Vorteile:

  • Kein Single Point of Failure – Es gibt keine zentrale Stelle, die den Datenfluss regelt oder potenziell zum Flaschenhals wird.

  • Automatische Lastverteilung – Die Daten werden gleichmäßig über alle verfügbaren Knoten verteilt, wodurch Engpässe minimiert werden.

  • Selbstoptimierung bei Änderungen – Wenn neue Speicher-Nodes hinzugefügt oder entfernt werden, passt sich der Cluster automatisch an. Die Daten werden entsprechend neu verteilt, um eine gleichmäßige Lastverteilung zu gewährleisten.

Das macht Ceph extrem skalierbar und fehlertolerant, ideal für große verteilte Speicherumgebungen.

Ceph ist unter der LGPL-Lizenz frei verfügbar und kann ohne Lizenzgebühren eingesetzt werden. Dadurch entfällt die Abhängigkeit von proprietären Speicherlösungen, die oft mit hohen Kosten und Einschränkungen verbunden sind.

Ein wesentliches Problem solcher proprietären Lösungen ist der Vendor Lock-in – die Bindung an einen bestimmten Hersteller, die den Wechsel zu alternativen Systemen erschwert oder mit hohen Kosten und technischem Aufwand verbunden ist. Ceph vermeidet dieses Risiko, da es auf handelsüblicher Hardware läuft und offene Standards nutzt.

Anstatt auf spezielle Speicher-Arrays oder dedizierte SAN-Fabrics angewiesen zu sein, läuft Ceph auf handelsüblicher Hardware. Jeder Storage-Node ist ein Linux-Server mit direkt angeschlossenen Festplatten. Die Redundanz und Datenverteilung übernimmt Ceph eigenständig, sodass keine klassischen Hardware-RAID-Controller erforderlich sind. Dadurch können Standardkomponenten genutzt werden, was eine flexible und kosteneffiziente Speicherlösung ermöglicht.

Zusammengefasst ist Ceph eine skalierbare, ausfallsichere Speicherlösung, die Objektspeicher, Blockspeicher und Dateisysteme in einer Plattform vereint. Durch horizontale Skalierung wächst die Kapazität flexibel mit neuen Knoten, ohne bestehende Systeme anzupassen. Der CRUSH-Algorithmus verteilt Daten automatisch und optimiert das Lastmanagement, während die Selbstheilung Ausfälle kompensiert. Als Open-Source-Lösung läuft Ceph auf handelsüblicher Hardware und vermeidet hohe Lizenzkosten – ideal für Cloud- und Rechenzentrumsumgebungen.

Wie funktioniert Ceph Storage?

Ein Ceph-Cluster besteht aus mehreren Daemon-Typen, also kontinuierlich im Hintergrund laufenden Diensten, die zusammenwirken, um die Storage-Funktionen bereitzustellen.

Diese Daemons übernehmen verschiedene spezialisierte Aufgaben innerhalb des Clusters und sorgen gemeinsam für eine effiziente und zuverlässige Datenspeicherung.

DAEMON-Typen und ihre Funktion:

Im Ceph-Cluster übernimmt jeder OSD-Dienst (Object Storage Daemon) eine zentrale Rolle bei der Speicherung und Verwaltung von Daten. Diese Prozesse sind dafür zuständig, dass jede einzelne physische Festplatte oder SSD optimal genutzt wird.

Konkret speichern die OSD-Dienste die eigentlichen Datenobjekte und führen wichtige Aufgaben wie Datenreplikation, Wiederherstellung (Recovery), Neuverteilung (Rebalancing) und regelmäßige Prüfungen (Scrubbing) durch.

Gleichzeitig melden sie kontinuierlich ihren Status an die Cluster-Monitore, was eine transparente und zuverlässige Systemüberwachung gewährleistet.

In einem typischen Ceph-Server läuft pro Festplatte ein separater OSD-Prozess – dies wird empfohlen, um die beste Performance ohne zusätzlichen RAID-Einsatz zu erzielen.

Die Monitore im Ceph-Cluster verwalten die sogenannte Cluster Map – eine umfassende Übersicht, die alle wesentlichen Zustandsinformationen der einzelnen Komponenten enthält. Dazu gehören:

  • OSD Map: Zeigt den Status der Object Storage Daemons (OSDs), also der Speicherknoten, die für die Datenspeicherung und Replikation zuständig sind.

  • Monitor Map: Enthält alle relevanten Informationen der Ceph-Monitore, die den Gesamtzustand des Clusters koordinieren.

  • Placement Group Map: Organisiert Daten in logische Gruppen, um eine effiziente Replikation und Datenverteilung sicherzustellen.

  • CRUSH Map: Bestimmt, wie Daten im Cluster verteilt werden – CRUSH steht für "Controlled Replication Under Scalable Hashing".

Die Monitore überwachen kontinuierlich, welche OSDs aktiv oder inaktiv sind, und liefern den Ceph-Clients auf Anfrage die aktuelle Cluster Map.

Für einen ausfallsicheren Betrieb sollten mindestens drei Monitore eingesetzt werden. Dadurch wird sichergestellt, dass im sogenannten Quorum – einem Mechanismus, bei dem die Mehrheit der Monitore zustimmen muss, bevor Entscheidungen getroffen werden – keine einzelne Schwachstelle (Single Point of Failure, SPOF) das gesamte System gefährdet.

Das Quorum garantiert also, dass nur bei ausreichender Übereinstimmung innerhalb des Monitor-Pools Änderungen übernommen werden, was die Stabilität und Zuverlässigkeit des Clusters erhöht.

Der Metadata-Server (MDS) ist eine zentrale Komponente von CephFS – dem verteilten Dateisystem von Ceph.

Er speichert und verwaltet Verzeichnisstrukturen sowie Dateimetadaten (z. B. Dateinamen, Ordnerstrukturen und Zugriffsberechtigungen), um einen schnellen und effizienten Dateizugriff zu gewährleisten. Für den Betrieb von CephFS wird mindestens ein MDS benötigt; bei steigendem Traffic kann CephFS mehrere MDS parallel einsetzen, um die Last optimal zu verteilen und die Systemperformance zu verbessern. Diese Architektur unterstützt eine hohe Skalierbarkeit und bietet eine robuste Grundlage für moderne IT-Infrastrukturen.

Manager-Daemons ergänzen den Betrieb der Cluster durch zentrale Verwaltungsfunktionen.

Diese Daemons sammeln wichtige Cluster-Metriken – also Leistungs- und Zustandsdaten des gesamten Speichersystems – und stellen ein interaktives Dashboard bereit, das eine einfache Überwachung und Steuerung ermöglicht. Außerdem unterstützen sie die orchestrierte Verwaltung, was bedeutet, dass wiederkehrende Aufgaben automatisiert werden können.

Obwohl Manager-Daemons für den reinen Speicherbetrieb nicht zwingend erforderlich sind, sind sie für Funktionen wie die Web-Dashboard-Überwachung und diverse Automatisierungsprozesse unverzichtbar.

In der Regel wird auf jedem Mon-Knoten (Kurzform für „Monitor-Knoten“, der den Clusterstatus verwaltet) auch ein Manager-Dienst betrieben, um eine optimale Systemübersicht und Bedienung sicherzustellen.

RADOS (Reliable Autonomic Distributed Object Store) ist der grundlegende Objektspeicher-Layer von Ceph. RADOS bildet die Basis, auf der alle weiteren Ceph-Dienste aufbauen, und integriert alle Object Storage Daemons (OSDs) sowie Ceph-Monitore (MONs). 

Mit RADOS werden Objekte – also einzelne Datenblöcke – sicher gespeichert, automatisch repliziert und effizient über den Cluster verteilt. Entwickler können direkt über die librados-Bibliothek auf diese Funktionen zugreifen, um Objekte zu speichern oder abzurufen, ohne auf die nachgelagerten Dienste angewiesen zu sein.

Diese modulare und dezentrale Architektur gewährleistet hohe Skalierbarkeit, Ausfallsicherheit und Performance.

Der Ceph Object Gateway (auch RADOS Gateway oder kurz RGW genannt) ist ein optionaler Dienst, der eine REST-API (Representational State Transfer Application Programming Interface) für Objektspeicher bereitstellt.

Dank seiner Kompatibilität mit Amazon S3 und OpenStack Swift APIs ermöglicht er den Cloud-Style-Einsatz von Ceph, wobei sämtliche Objektdaten letztlich im RADOS (Reliable Autonomic Distributed Object Store) gespeichert werden. Der Dienst verwaltet eigenständig Benutzer und Zugriffsrechte und unterstützt den Betrieb mehrerer Instanzen, um Lastverteilung und Hochverfügbarkeit zu gewährleisten.

Der Ceph Object Gateway (auch RADOS Gateway oder kurz RGW genannt) ist ein optionaler Dienst, der eine REST-API (Representational State Transfer Application Programming Interface) für Objektspeicher bereitstellt.

Dank seiner Kompatibilität mit Amazon S3 und OpenStack Swift APIs ermöglicht er den Cloud-Style-Einsatz von Ceph, wobei sämtliche Objektdaten letztlich im RADOS (Reliable Autonomic Distributed Object Store) gespeichert werden. Der Dienst verwaltet eigenständig Benutzer und Zugriffsrechte und unterstützt den Betrieb mehrerer Instanzen, um Lastverteilung und Hochverfügbarkeit zu gewährleisten.

Das Ceph File System (CephFS) ist ein verteiltes, POSIX-kompatibles Dateisystem, das auf einem Ceph-Cluster basiert und speziell für anspruchsvolle IT-Infrastrukturen entwickelt wurde. Es ermöglicht den Einsatz eines Ceph-Clusters ähnlich wie bei einem traditionellen Network File System (NFS) – entweder durch direkte Einbindung über Kernel-Treiber oder mittels FUSE (Filesystem in Userspace, das den Dateisystemzugriff aus dem Userspace ermöglicht).

Im Kern speichert CephFS Dateiinhalte als Objekte im RADOS (Reliable Autonomic Distributed Object Store – ein hochverfügbarer, verteilter Objektspeicher), während ein oder mehrere Metadata-Server (MDS) die Verwaltung der Dateisystem-Metadaten übernehmen. Diese Architektur sorgt dafür, dass zahlreiche Clients simultan auf das geteilte Dateisystem zugreifen können, ohne dass dabei die Datenintegrität oder Performance leidet.

Datenverteilung und Speicherung

Replikation und Erasure Coding im Detail

Ceph bietet zwei Hauptmethoden zur Datensicherung und Redundanz: Replikation und Erasure Coding. Beide Verfahren sorgen für Ausfallsicherheit, unterscheiden sich jedoch in Speicherbedarf, Leistung und Einsatzgebiet.

Die Replikation in Ceph folgt einem klar strukturierten und dezentral organisierten Ansatz, der sicherstellt, dass Daten effizient verteilt und auch bei Ausfällen schnell wiederhergestellt werden können. Im Folgenden wird der gesamte Prozess schrittweise erklärt:

Datenverteilung mit CRUSH
Ceph setzt auf den CRUSH-Algorithmus (Controlled Replication Under Scalable Hashing), um Datenobjekte über die OSDs (Object Storage Daemons – Prozesse, die Daten speichern und verwalten) zu verteilen.

  • Dezentrale Berechnung: Jeder Client berechnet autonom, welche OSDs für ein bestimmtes Objekt zuständig sind – ganz ohne zentrale Lookup-Server.

  • CRUSH-Map: Die Informationen zur aktuellen Clusterstruktur werden in der CRUSH-Map gespeichert, die von den Monitoren (MONs) gepflegt und an die Clients verteilt wird.

Organisation der Daten in Pools und Placement Groups
Um die Datenverwaltung zu vereinfachen, werden alle Objekte in logischen Einheiten organisiert:

  • Pools: Diese logischen Speicherbereiche dienen beispielsweise der Trennung von Daten für unterschiedliche Anwendungen oder Datentypen.

  • Placement Groups (PGs): Jeder Pool wird weiter in PGs unterteilt, die als Zwischenschicht fungieren. Zunächst ordnet CRUSH jedem Objekt eine PG zu und platziert dann die PG auf bestimmten OSDs.

Standardmäßige 3-fache Replikation
Um die Datenintegrität und Ausfallsicherheit zu gewährleisten, erfolgt die Replikation standardmäßig in drei Kopien:

  • Primärkopie: Beim Schreibzugriff kontaktiert der Client den primären OSD der zugehörigen PG, der die Daten zuerst speichert.

  • Sekundärkopien: Anschließend werden zwei weitere Kopien auf anderen OSDs erstellt, sodass insgesamt drei identische Datenversionen vorliegen.

Automatische Wiederherstellung (Recovery)
Fällt ein OSD aus, reagiert das System automatisch:

  • Erkennung und Markierung: Die Monitore erkennen den Ausfall und markieren den betreffenden Knoten als „down“.

  • Wiederherstellungsprozess: Die verbleibenden OSDs innerhalb der betroffenen PG stellen die fehlenden Kopien auf andere intakte Knoten her. Dieser Recovery-Prozess erfolgt parallel auf PG-Ebene, was eine schnelle und effiziente Wiederherstellung ermöglicht.

Erasure Coding in Ceph ermöglicht eine speichereffiziente und ausfallsichere Speicherung großer Datenmengen. Im Kern teilt diese Technik Datenobjekte in Fragmente und Paritätsblöcke, um im Fehlerfall eine vollständige Rekonstruktion zu ermöglichen.

Datenaufteilung und Paritätsberechnung

  • Ein Objekt wird in k Datenfragmente unterteilt.

  • Zusätzlich werden m Paritätsblöcke (z. B. mittels Reed-Solomon-Codierung) berechnet, sodass insgesamt k + m Fragmente entstehen.

  • Die Paritätsblöcke basieren auf linearen Kombinationen der Datenfragmente, sodass bei Ausfall von bis zu m Fragmenten das Objekt rekonstruiert werden kann.

Verteilte Speicherung im Cluster

  • Alle k + m Fragmente werden auf verschiedene OSDs (Object Storage Daemons) verteilt, was einen Single Point of Failure vermeidet.

  • Der CRUSH-Algorithmus bestimmt anhand der aktuellen Cluster-Topologie die Platzierung der Fragmente und organisiert sie in Placement Groups (PGs) zur effizienten Verwaltung.

Datenwiederherstellung und Systemaspekte

  • Bei einem Ausfall genügt die Verfügbarkeit von mindestens k Fragmenten, um das Originalobjekt vollständig zu rekonstruieren.

  • Dieser Rekonstruktionsprozess wird automatisch durchgeführt – entweder durch die OSDs oder über Client-Bibliotheken (librados).

  • Erasure Coding spart signifikant Speicherplatz im Vergleich zur klassischen 3-fachen Replikation, erfordert jedoch mehr Rechenleistung und kann zu leicht erhöhten Latenzen führen.

Integration und Einsatzbereiche

  • In Ceph wird Erasure Coding für den Objektspeicher (RGW) und CephFS genutzt, während RBD-Pools standardmäßig repliziert werden.

  • Diese Methode eignet sich besonders für Cold Storage und Archivierung, wo Speicherplatzoptimierung wichtiger ist als minimale Latenzzeiten.

Die Replikation speichert jedes Objekt mehrfach (typischerweise dreifach) auf verschiedenen OSDs, was schnelle Zugriffe und einfache Wiederherstellung bei Ausfällen ermöglicht.

Im Gegensatz dazu teilt Erasure Coding ein Objekt in k Datenfragmente und m Paritätsblöcke auf, sodass bei einem Ausfall mindestens k Fragmente zur vollständigen Rekonstruktion ausreichen – ein Ansatz, der den Speicherbedarf reduziert (zum Beispiel benötigt ein k=3, m=2-Schema nur etwa 1,67-fachen Speicherplatz im Vergleich zur dreifachen Replikation).

Während Replikation vor allem für aktive, latenzkritische Anwendungen geeignet ist, bietet Erasure Coding eine effiziente Lösung für große, seltener genutzte Datenmengen, wenn Speicherplatzersparnis und hohe Ausfallsicherheit im Vordergrund stehen.

Vergleich mit anderen Storage-Lösungen

Im Folgenden betrachten wir, wie sich Ceph von anderen Speicherlösungen abhebt – sowohl gegenüber klassischen SAN/NAS-Systemen als auch modernen Software-defined Storage (SDS)-Technologien wie Microsoft Storage Spaces Direct, GlusterFS und ZFS. Dabei beleuchten wir die wichtigsten Vor- und Nachteile von Ceph Storage. 

Vorteile von Ceph:

  • Horizontale Skalierung:
    Kapazität und Leistung wachsen durch Hinzufügen von Knoten – kein teures Aufrüsten zentraler Appliances.

  • Einheitliche Plattform:
    Unterstützt Objektspeicher, Blockspeicher und POSIX-Dateisystem in einem System.

  • Kosten- und Anbieterunabhängigkeit:
    Open Source ohne Lizenzkosten und Vendor-Lock-in.

  • Automatische Lastverteilung:
    Intelligente Datenverteilung vermeidet Engpässe.

Nachteile von Ceph

  • Komplexität:
    Erfordert mehr Fachwissen und sorgfältige Planung als „Plug-and-Play“-SAN-Lösungen.

  • Aufwändige Implementierung:
    Der initiale Setup-Prozess ist zeitintensiver.

Vorteile von Ceph:

  • Plattformunabhängigkeit:
    Ceph läuft primär unter Linux und unterstützt diverse Clients (z. B. über iSCSI oder Samba), während S2D ausschließlich auf Windows-Servern einsetzbar ist.

  • Kosten:
    Ceph ist Open Source und kostenfrei, während S2D eine teure Windows Datacenter-Lizenz benötigt.

  • Flexibilität:
    Ceph lässt sich in heterogenen Umgebungen wie Kubernetes oder OpenStack integrieren – ideal für gemischte Systeme.

Nachteile von Ceph

  • Leistung:
    S2D erzielt in Hyper-V-Umgebungen oft bessere I/O-Performance und niedrigere Latenzen, da es tief im Windows-Kernel integriert ist.

  • Komplexität:
    Ceph erfordert zusätzlichen Linux-Know-how und eine komplexere Einrichtung (z. B. durch die CRUSH-Logik), während S2D als integrierte Lösung in Windows einfacher zu betreiben ist.

Vorteile von Ceph:

  • Umfassende Speicherunterstützung:
    Native Unterstützung für Block-, Objekt- und Dateispeicher in einer einzigen Lösung.

  • Erweiterte Features:
    Integrierte Selbstheilung, dynamische Lastverteilung und Block-Device-Unterstützung.

  • Skalierbarkeit:
    Objektbasierte Architektur ermöglicht sehr große Cluster mit feiner Datenverteilung ohne zentralisierte Sperrprobleme.

Nachteile von Ceph

  • Komplexität:
    Höhere Lernkurve durch Konzepte wie CRUSH, Pools und Placement Groups.

  • Aufwändige Administration:
    Schwieriger zu installieren und zu betreiben, vor allem in kleineren Setups, wo GlusterFS oft ressourcenschonender ist.

Vorteile von Ceph:

  • Verteilte Architektur:
    Ermöglicht horizontale Skalierung und automatische Ausfallverteilung über viele Knoten hinweg.

  • Flexible Einsatzbereiche:
    Bietet zusätzliche Funktionen wie Object-Storage-Interfaces und Multi-Client-Blockgeräte.

  • Nahtlose Erweiterbarkeit:
    Kapazität und Leistung können durch einfaches Hinzufügen neuer Serverknoten ohne manuelle Neu-Konfiguration erweitert werden.

Nachteile von Ceph

  • Komplexität:
    Der Aufbau und Betrieb eines Ceph-Clusters erfordert mehr Fachwissen und kontinuierliche Wartung.

  • Höherer Verwaltungsaufwand:
    Die initiale Einrichtung und fortlaufende Pflege sind zeitintensiver als bei einem einzelnen ZFS-System.

  • Leistung bei Einzelknoten:
    Für Anwendungen auf einem einzelnen Server (z. B. Datenbanken oder Video-Streaming) kann ZFS oft eine bessere Performance und geringere Latenz bieten.

Die Wahl des geeigneten Speichersystems hängt maßgeblich von den Anforderungen Ihrer IT-Umgebung ab.

Ceph überzeugt als umfassende Lösung für verteilte Infrastrukturen mit hoher Skalierbarkeit und Flexibilität, stellt jedoch höhere Anforderungen an Planung und Expertise. Andere Technologien, wie traditionelle SAN/NAS, Microsoft Storage Spaces Direct, GlusterFS oder ZFS, sind ebenfalls bewährte Optionen und bringen jeweils eigene Stärken und Schwächen mit.

Letztlich kommt es auf die Zielsetzung und Rahmenbedingungen an: Wie viel Skalierung, Leistung, Lizenzfreiheit und Plattformunabhängigkeit werden benötigt – und wie hoch ist die Bereitschaft, sich in komplexere Systeme einzuarbeiten? Eine sorgfältige Bewertung dieser Fragen führt zu einer Speicherlösung, die technisch und wirtschaftlich optimal zu Ihren Anforderungen passt.

Ceph in Kombination mit Proxmox

Proxmox Virtual Environment (VE) ist eine Open-Source-Plattform, die sowohl Container als auch virtuelle Maschinen (VMs) verwaltet. Besonders leistungsfähig wird Proxmox durch die nahtlose Integration mit Ceph, was eine hyperkonvergente Infrastruktur (HCI) ermöglicht – also die gleichzeitige Nutzung derselben Server für Rechenleistung und verteilten Speicher.

Ceph übernimmt dabei Funktionen wie Datenreplikation, Selbstheilung und dynamisches Lastmanagement, während Proxmox VE mit Cluster-Management-Tools und Live-Migration für hohe Verfügbarkeit und effiziente Ressourcennutzung sorgt.

Im weiteren Verlauf werden die Vorteile dieser Integration, sowie eine Schritt-für-Schritt-Anleitung zur Einrichtung von Ceph in Proxmox VE erläutert. 

Vorteile von Proxmox VE in Kombination mit Ceph

Die Kombination von Ceph und Proxmox VE (Virtual Environment) bietet IT-Administratoren eine leistungsstarke Virtualisierungsplattform. Im Folgenden wird erläutert, welche Vorteile diese Architektur bietet – aus technischer Sicht und mit kurzen Erklärungen zu den Fachbegriffen.

Proxmox VE verfügt über integrierte Werkzeuge wie die Web-GUI (graphische Benutzeroberfläche) und die pveceph CLI (Command Line Interface). Diese Tools ermöglichen es, einen Ceph-Cluster direkt über das Proxmox-Interface zu installieren und zu steuern. Administratoren können so Monitore (Überwachungskomponenten), OSDs (Object Storage Daemons – Prozesse, die für die Datenspeicherung zuständig sind) und Speicher-Pools per Mausklick konfigurieren, was den Einstieg erheblich vereinfacht.

Virtuelle Festplatten, die auf Ceph RBD (RADOS Block Device – virtuelle Blockspeicher) basieren, unterstützen Thin Provisioning. Dies bedeutet, dass Speicherplatz bedarfsgerecht zugewiesen wird, ohne sofort den gesamten physikalischen Speicher zu reservieren. Gleichzeitig ermöglichen integrierte Snapshots schnelle, nahezu overheadfreie Sicherungen und Klon-Erstellungen, was insbesondere für die Verwaltung von virtuellen Maschinen (VMs) von Vorteil ist.

Dank der automatischen Replikation in Ceph werden VM-Daten redundant gespeichert. Fällt ein Knoten aus, übernimmt ein anderer automatisch – ganz ohne separate HA-Speichersysteme (High Availability). Diese fehlertolerante Architektur eliminiert klassische Single-Points-of-Failure, wodurch die Verfügbarkeit des Speichers auch bei Hardwareausfällen gewährleistet ist.

Eine Proxmox + Ceph-Umgebung lässt sich schrittweise erweitern. Bei steigendem Speicher- oder Leistungsbedarf kann einfach ein weiterer Node (Serverknoten) mit zusätzlichen Festplatten hinzugefügt werden. Ceph skaliert theoretisch bis in den Exabyte-Bereich – weit über die Kapazitäten traditioneller Hardware-SANs (Storage Area Networks) hinaus. Dies stellt sicher, dass auch wachsende VM-Farmen kontinuierlich mit ausreichend Ressourcen versorgt werden.

Innerhalb eines Ceph-Clusters können unterschiedliche Speicherarten integriert werden:

  • Ceph RBD: Liefert Blockspeicher, der ideal für den Einsatz als VM-/Container-Blockdatastore ist.

  • CephFS: Ein verteiltes Dateisystem, das als gemeinsames Dateisystem für mehrere VMs verwendet werden kann.

  • RGW (RADOS Gateway): Bietet objektbasierten Speicher, der mit Cloud-Anwendungen kompatibel ist.

Diese nahtlose Einbindung aller Speicherarten innerhalb eines Clusters sorgt für eine einheitliche und flexible Infrastruktur.

Ceph nutzt vorhandene Server und lokale Laufwerke, wodurch teure externe Storage-Systeme und RAID-Controller entfallen. Jeder zusätzliche Proxmox-Knoten mit einigen Festplatten erweitert den Gesamtspeicher – was sowohl Kosten als auch Komplexität reduziert.

In einer hyperkonvergenten Proxmox-Ceph-Architektur sind separate Storage-Netzwerke wie Fibre-Channel-SANs oder NAS-Appliances nicht erforderlich. Zwar empfiehlt sich ein separates VLAN (Virtual Local Area Network) für den Ceph-Datenverkehr, um eine optimale Performance zu gewährleisten, doch das Gesamtsystem bleibt deutlich einfacher und kosteneffizienter.

Ceph in Proxmox VE integrieren: Schritt-für-Schritt Anleitung  

Die folgende Anleitung skizziert die grundlegenden Schritte, um Ceph in Proxmox VE zu integrieren (Stand Proxmox VE 7 / Ceph Quincy). Vorausgesetzt wird, dass Proxmox VE auf den Servern installiert ist und die Knoten im selben Netzwerk kommunizieren können:

1. Cluster-Grundlagen vorbereiten

  • Bereitstellung der Knoten:
    Stellen Sie mindestens 3 Proxmox VE Knoten bereit. Hinweis: Ceph benötigt ein Monitor-Quorum – bei nur 2 Knoten kann kein Quorum gebildet werden.

  • Netzwerkinfrastruktur:
    Sorgen Sie für ein leistungsfähiges Netzwerk zwischen den Servern. Idealerweise verwenden Sie ein dediziertes 10 Gbit/s Netzwerk für den Ceph-Datenverkehr, z. B. durch ein zusätzliches VLAN oder ein physisch getrenntes Netz neben dem Management-Netz.

2. Proxmox-Cluster bilden

  • Cluster-Zusammenführung:
    Fügen Sie alle Knoten zu einem Proxmox-Cluster zusammen – entweder über das Webinterface oder per Kommandozeile mittels pvecm.

  • Netzwerkkonfiguration:
    Jeder Node (Serverknoten) sollte einen eindeutigen Hostnamen und eine statische IP-Adresse besitzen. Überprüfen Sie, dass alle Nodes sich gegenseitig über IP oder Hostnamen erreichen können (DNS oder /etc/hosts entsprechend konfigurieren).

3. Ceph-Komponenten installieren

  • Installation via GUI oder CLI:
    Öffnen Sie in der Proxmox-Weboberfläche den Ceph-Reiter (unter „Rechenzentrum“) und klicken Sie auf Install Ceph oder führen Sie auf jedem Node den Befehl pveceph install aus.

  • Initialisierung:
    Starten Sie die Grundkonfiguration mit pveceph init --network <CIDR>. Beispielsweise:
    pveceph init --network 10.10.10.0/24
    Dadurch wird die Datei ceph.conf erstellt und das interne Netzwerk für Ceph festgelegt.

4. Monitor-Dienste erstellen

  • Erstellung der Monitore:
    Auf drei Knoten jeweils einen Ceph-Monitor einrichten – dies kann in der GUI über Add -> Monitor oder via CLI mit pveceph mon create erfolgen.

  • Überprüfung:
    Nach einigen Sekunden den Clusterstatus mit ceph status kontrollieren. Es sollten drei Monitore im Quorum angezeigt werden.
    Hinweis: Eine ungerade Anzahl an Monitoren (z. B. 3 oder 5) ist essenziell, um den Ausfall einzelner Knoten kompensieren zu können.

5. Manager und Metadata-Server hinzufügen (optional)

  • Ceph-Manager:
    Proxmox richtet in der Regel automatisch einen Ceph-Manager beim Erstellen eines Monitors ein. Falls nicht, können Sie diesen mit pveceph mgr create nachinstallieren. Der Manager unterstützt das Ceph-Dashboard und führt Hintergrundaufgaben (z. B. automatisches Anpassen der Placement-Group-Anzahl) durch.

  • Metadata-Server (MDS):
    Für den Betrieb von CephFS (dem verteilten POSIX-Dateisystem) wird mindestens ein MDS benötigt. Dies können Sie in der GUI über Add -> Metadata Server einrichten.
    (Für reinen RBD-Betrieb ist ein MDS nicht erforderlich.)

6. OSDs in den Cluster aufnehmen

  • Einbindung der Festplatten/SSDs:
    Wechseln Sie in der Proxmox-Weboberfläche zu einem Node, navigieren Sie zu Ceph -> OSD und fügen Sie eine verfügbare Festplatte hinzu. Wählen Sie dabei das Dateisystem (LVM oder standardmäßig Bluestore).
    Alternativ können Sie per CLI für jedes Device pveceph osd create /dev/sdX ausführen.

  • Wichtige Hinweise:

    • Ceph formatiert die Disks neu – sichern Sie zuvor alle wichtigen Daten.
    • Jede Disk wird exklusiv als OSD genutzt; Hardware-RAID-Controller sollten daher deaktiviert oder im JBOD-Modus betrieben werden.
    • Es empfiehlt sich, nur gleichartige Laufwerke (z. B. nur HDDs oder nur SSDs) in einem Pool zu mischen.
    • Optional: Für schnelle SSDs als Journaling-Device können Sie spezielle Parameter für DB/WAL-Devices angeben.

7. Ceph-Pool anlegen

  • Pool-Erstellung:
    Sobald Monitore, Manager und alle OSDs aktiv sind, erstellen Sie einen Speicher-Pool.

    • In der GUI: Navigieren Sie zu Ceph -> Pools -> Create, vergeben Sie einen Namen (z. B. "rbdpool") und legen Sie die Replikationsanzahl fest (Standard ist 3).
    • Per CLI:
      pveceph pool create rbdpool --size 3 --add_storages
      Mit --add_storages wird der Pool direkt als Storage-Resource in Proxmox eingebunden.

  • Erweiterte Optionen:
    Optional können Sie auch einen Erasure-Coding-Pool anlegen, z. B.:
    pveceph pool create <name> --erasure-coding k=<data>,m=<parity>
    Beachten Sie, dass Erasure-Coding-Pools nicht für RBD, sondern beispielsweise für CephFS oder RGW geeignet sind.

8. Storage in Proxmox nutzen

  • Zuweisung an VMs/CTs:
    Der neu erstellte Pool (z. B. "rbdpool") wird in der Proxmox Storage-Konfiguration als RBD-Typ angezeigt.
    Weisen Sie diesen Speicher beim Anlegen einer VM oder eines Containers zu, sodass die virtuellen Festplatten direkt auf Ceph erzeugt werden.

  • CephFS als Shared Storage:
    Falls CephFS verwendet wird, können Sie in Proxmox unter Storage -> Add -> CephFS einen neuen Speicher hinzufügen, der als Shared Storage zwischen mehreren VMs dient.

9. Cluster-Status prüfen

Überwachung:
Kontrollieren Sie den Gesundheitsstatus des Clusters mit ceph -s oder über den Ceph-Status in der Proxmox-GUI.

  • Anfangs findet eine Daten-Neuverteilung (Recovery/Backfilling) statt, bis alle OSDs den gewünschten Anteil an Daten enthalten.
  • Der Status sollte idealerweise HEALTH_OK anzeigen.
  • Achten Sie auf Warnungen bezüglich unzureichender OSDs, hoher Auslastung oder fehlerhaften Placement-Groups (PG).

10. Testing & Optimierung

  • Testläufe durchführen:
    Starten Sie beispielsweise eine VM auf einem Node und überprüfen Sie die Storage-Zugriffe sowie die Performance.

  • Ausfallszenarien simulieren:
    Schalten Sie einen Ceph-Knoten ab und beobachten Sie, ob die VMs weiterhin funktionsfähig bleiben – in der Regel kommt es nur zu einer kurzen I/O-Verzögerung während des Failovers.

  • Netzwerk-Tuning:
    Falls erforderlich, passen Sie Ihr Netzwerk an (z. B. durch die Aktivierung von Jumbo Frames), um den Datenverkehr optimal zu bewältigen.

Zusammengefasst: 

Ceph Storage ist eine flexible, skalierbare und kosteneffiziente Open-Source-Lösung für verteilten Speicher. Es bietet mit seiner modularen Architektur – basierend auf RADOS, OSDs, Monitoren und optionalen MDS – eine einheitliche Plattform für Objekt-, Block- und Dateispeicher. Dank automatischer Datenverteilung, Selbstheilungsmechanismen und dem Betrieb auf Standard-Hardware stellt Ceph eine moderne Alternative zu traditionellen SAN/NAS-Systemen und anderen SDS-Lösungen dar.

In Kombination mit Proxmox ermöglicht es den Aufbau hochverfügbarer, hyperkonvergenter Virtualisierungsumgebungen, die den Anforderungen moderner Cloud- und Unternehmensinfrastrukturen gerecht werden.

Sie können sich natürlich auch gern bei allen anderen Fragen an Serverhero wenden – per E-Mail, Telefon oder Chat: Sie sprechen immer direkt mit unseren zertifizierten Expert*innen. Auch beim Serverkauf helfen wir Ihnen gerne. Oder Sie probieren unseren Server Konfigurator aus, mit dem Sie sich online in nur drei Schritten Ihren maßgeschneiderten Wunsch-Server einrichten. Profitieren sie bei IT-Anschaffungen von den Serverhero-Projektkonditionen: als eines der wenigen IT-Unternehmen bundesweit wurden wir von allen großen Herstellern, wie Hewlett Packard EnterpriseDellArubaFujitsuLancomLenovo, Supermicro etc., mit Partnerstatus zertifiziert und können Ihnen daher exklusive Sonder-Rabatte einräumen, die andere nicht anbieten können. Sparen Sie bis zu 40 Prozent beim Einkauf mit unseren Projektkonditionen!

Proxmox VE –
die perfekte Ergänzung für Ihr Ceph-Storage

Fragen zu diesem Thema?
Wir sind für Sie da!

Lassen Sie uns gemeinsam Ihre IT-Fragen debuggen – 
unsere Experten sind nur einen Klick entfernt!