# Proxmox: Ceph in nur wenigen Schritten installieren

Ceph ist ein verteiltes Speichersystem, das sich nahtlos in Proxmox integrieren lässt und eine hochverfügbare und ausfallsichere Storage-Lösung bietet. In dieser Anleitung erfahren Sie Schritt für Schritt, wie Sie auf Ihrem Proxmox-Server ein Ceph-Cluster installieren.

## Schritt 1: Voraussetzungen prüfen

Bevor Sie mit der Proxmox-Installation von [Ceph](https://www.ionos.at/digitalguide/server/knowhow/was-ist-ceph/) beginnen, sollten Sie sicherstellen, dass Ihre Umgebung die grundlegenden Anforderungen erfüllt. Ceph ist ein Speichersystem, das Daten **über mehrere Server hinweg repliziert**. Damit diese Redundanz zuverlässig funktioniert, benötigen Sie mindestens drei Proxmox-Knoten. So kann das System auch dann weiterarbeiten, wenn ein Knoten ausfällt.

Achten Sie außerdem darauf, dass die [Bare-Metal-Installation von Proxmox](https://www.ionos.at/digitalguide/server/konfiguration/proxmox-bare-metal-installation/) auf allen Servern abgeschlossen und Proxmox auf dem neuesten Stand ist. Jeder Knoten sollte über eine **eigene, ungenutzte Festplatte verfügen**, die ausschließlich für Ceph-OSDs vorgesehen ist. Diese Laufwerke bilden später den eigentlichen Speicher Ihres Clusters. Ebenso wichtig ist eine **schnelle und stabile Netzwerkverbindung** zwischen den Knoten, um Latenzen gering zu halten. Außerdem benötigen Sie auf allen Hosts Root-Zugriff, da die Installation Systemänderungen erfordert.

Überprüfen Sie mit folgendem Befehl, welche Version von [Proxmox](https://www.ionos.at/digitalguide/server/knowhow/proxmox/) aktuell auf Ihrem System installiert ist:

```bash
pveversion
```

Vergleichen Sie die Versionsnummern auf allen Knoten. Wenn Unterschiede bestehen oder Ihre Installation nicht mehr aktuell ist, führen Sie ein Update durch, um alle Systeme auf denselben Stand zu bringen:

```bash
apt update && apt full-upgrade -y
reboot
```

Sobald alle Knoten aktualisiert und erreichbar sind, ist Ihre Umgebung bereit für die Installation von Ceph.

Hinweis Obwohl es sich hierbei um keine zwingend notwendige Voraussetzung handelt, sollten Sie für den produktiven Einsatz von Proxmox und Ceph [SSDs](https://www.ionos.at/digitalguide/server/knowhow/was-ist-ssd/) verwenden. Ceph profitiert stark von schnellen Schreib- und Lesezugriffen, da jeder Datensatz mehrfach repliziert und über mehrere Knoten verteilt wird.

## Schritt 2: Ceph-Repository aktivieren

Damit Sie Ceph bequem über die Paketverwaltung installieren können, müssen Sie zunächst das **passende Repository auf jedem Ihrer Proxmox-Knoten aktivieren**. Dieses Repository enthält alle notwendigen Ceph-Pakete, die von Proxmox speziell angepasst und getestet wurden. Melden Sie sich dazu als Root-User auf jedem Host an und führen Sie den folgenden Befehl aus:

```bash
pveceph install
```

Dieser Befehl richtet automatisch das offizielle Ceph-Repository von Proxmox ein und installiert die grundlegenden Ceph-Komponenten. Damit die neuen Paketquellen auch aktiv werden, aktualisieren Sie Ihre Paketliste mit:

```bash
apt update
```

## Schritt 3: Ceph auf dem ersten Knoten initialisieren

Im dritten Schritt wird das eigentliche Ceph-Cluster auf Ihrem ersten Proxmox-Knoten vorbereitet. Sie legen das Netzwerk fest, über das die Cluster-Kommunikation läuft, und richten den ersten sogenannten **Monitor** ein. Dieser Monitor ist ein zentraler Bestandteil von Ceph: Er überwacht den Zustand des Clusters, verwaltet die Cluster-Mitglieder und stellt sicher, dass alle Komponenten stets denselben Informationsstand haben.

Starten Sie die Initialisierung auf dem ersten Proxmox-Host mit folgendem Befehl:

```bash
pveceph init --network 10.0.0.0/24
```

Das [Subnetz](https://www.ionos.at/digitalguide/server/knowhow/subnetting-wie-funktionieren-subnetze/) 10.0.0.0/24 ist nur ein Beispiel. Verwenden Sie das interne Netzwerk, über das Ihre Proxmox-Knoten direkt miteinander verbunden sind. Mit `pveceph init` wird die grundlegende Ceph-Konfiguration auf Ihrem ersten Knoten angelegt. Dabei erstellt Proxmox unter anderem **die zentrale Cluster-Konfigurationsdatei, den Ceph-Keyring, der für die Authentifizierung innerhalb des Clusters benötigt wird, sowie die notwendigen Systemverzeichnisse** für Ceph-Dienste.

Sobald die Initialisierung abgeschlossen ist, können Sie den ersten Monitor-Dienst einrichten:

```bash
pveceph createmon
```

Dieser Befehl startet den Monitor-Prozess und registriert ihn im Cluster. Ab diesem Moment existiert ein funktionsfähiger, aber noch alleinstehender Ceph-Knoten. Der Monitor beginnt, Statusinformationen zu sammeln und legt damit die Grundlage für die spätere Kommunikation mit weiteren Knoten.

Hinweis In einem Ceph-Cluster werden in der Regel **mindestens drei Monitore** verwendet. Das hat den Vorteil, dass der Cluster auch dann weiterarbeiten kann, wenn ein Monitor ausfällt. Erst wenn mehrere Monitore vorhanden sind, kann Ceph einen sogenannten **Quorum-Zustand erreichen**. Hierbei handelt es sich um eine Mehrheit, die Entscheidungen über den Cluster-Zustand treffen kann.

## Schritt 4: Weitere Knoten zum Cluster hinzufügen

Damit Ceph die gewünschte Ausfallsicherheit bietet, müssen Sie nun die **weiteren Proxmox-Knoten in das Ceph-Cluster aufnehmen**. Jeder zusätzliche Knoten bringt Redundanz und Speicherkapazität. Melden Sie sich hierzu auf den anderen Knoten an und führen Sie dort nacheinander die folgenden Befehle aus:

```bash
pveceph install
pveceph createmon
```

Auf diese Weise richten Sie auch auf den anderen Hosts Monitore ein. Sobald alle Monitore aktiv sind, können Sie den Status Ihres Clusters auf einem beliebigen Knoten überprüfen, indem Sie folgenden Befehl nutzen:

```bash
ceph -s
```

Die Ausgabe zeigt Ihnen, welche Monitore und Dienste aktuell laufen. Wenn dort mehrere Monitore aufgelistet sind, haben Sie erfolgreich alle Knoten eingebunden.

## Schritt 5: OSDs erstellen

Die **OSDs ([Object Storage](https://www.ionos.at/digitalguide/server/knowhow/was-ist-object-storage/) Daemons)** sind das Herzstück Ihres Ceph-Clusters. Jede Festplatte, die Sie für Ceph verwenden, wird zu einer eigenen OSD-Einheit. Diese Daemons sind dafür verantwortlich, Ihre Daten auf die Laufwerke zu schreiben, zu replizieren und wieder bereitzustellen, wenn sie von einem anderen Knoten oder einer [virtuellen Maschine](https://www.ionos.at/digitalguide/server/knowhow/virtuelle-maschinen/) angefordert werden. Je mehr OSDs Ihr Cluster besitzt, desto höher sind sowohl Speicherkapazität als auch Leistung. Bevor Sie mit der Einrichtung beginnen, sollten Sie prüfen, welche Laufwerke auf Ihrem Knoten verfügbar sind. Das geht mit dem folgenden Befehl:

```bash
lsblk
```

Die Ausgabe zeigt Ihnen alle im System erkannten Festplatten und Partitionen. Achten Sie darauf, nur ungenutzte Laufwerke für Ceph zu verwenden. Greifen Sie nur auf die **Laufwerke zurück, die nicht das Betriebssystem enthalten und nicht gemountet** sind. Sobald Sie ein geeignetes Laufwerk, in unserem Falle `/dev/sdb` gefunden haben, können Sie es als OSD initialisieren:

```bash
pveceph createosd /dev/sdb
```

Dabei wird das Laufwerk automatisch formatiert und Ceph richtet die benötigte Struktur ein. Anschließend wird der OSD-Daemon gestartet und in das Cluster integriert. Alle vorhandenen Daten auf dem **ausgewählten Laufwerk werden gelöscht**. Vergewissern Sie sich daher unbedingt, dass die Festplatte wirklich nur für Ceph vorgesehen ist.

Wiederholen Sie diesen Vorgang auf allen Knoten und für alle Laufwerke, die Sie in Ihren Proxmox-Ceph-Speicher einbinden möchten. Je nach Clustergröße und Hardware kann es einige Minuten dauern, bis alle OSDs vollständig eingebunden sind.

Überprüfen Sie anschließend, ob Ihre soeben eingerichteten OSDs korrekt erkannt wurden und aktiv sind. Verwenden Sie dazu den folgenden Befehl:

```bash
ceph osd tree
```

Dank der übersichtlichen Baumstruktur können Sie leicht erkennen, wie Ihre Speichergeräte im Cluster verteilt sind und ob sie fehlerfrei laufen.

## Schritt 6: Ceph-Manager und Dashboard aktivieren

Damit Sie Ihr Proxmox-Ceph-Cluster bequem überwachen und verwalten können, installieren Sie nun den **Ceph-Manager** (kurz MGR). Dieser Dienst sammelt Leistungsdaten, überwacht alle aktiven Komponenten und stellt über verschiedene Module zusätzliche Funktionen bereit. Eine dieser Funktionen ist auch das integrierte Web-Dashboard. Installieren Sie den Manager-Dienst auf Ihrem Proxmox-Knoten mit untenstehendem Terminalbefehl:

```bash
pveceph createmgr
```

Sobald der Manager aktiv ist, können Sie das Dashboard-Modul einschalten. Es wird automatisch vom MGR-Dienst bereitgestellt und muss lediglich aktiviert werden:

```bash
ceph mgr module enable dashboard
```

Das Dashboard bietet Ihnen eine benutzerfreundliche Oberfläche, über die Sie den Status Ihres Clusters einsehen, die Auslastung der OSDs und Monitore verfolgen sowie Warnmeldungen direkt erkennen können. Rufen Sie es über Ihren [Browser](https://www.ionos.at/digitalguide/websites/web-entwicklung/was-ist-ein-browser/) und den Standardport 8443 auf:

```none
https://<PROXMOX_IP>:8443
```

Ersetzen Sie hierbei `PROXMOX_IP` durch die [IP-Adresse](https://www.ionos.at/digitalguide/server/knowhow/was-ist-eine-ip-adresse/) des Proxmox-Knotens, auf dem der Ceph-Manager installiert wurde.

## Schritt 7: Ceph-Pools anlegen und testen

Nachdem Ihr Ceph-Cluster erfolgreich eingerichtet und alle OSDs aktiv sind, können Sie nun den eigentlichen Speicherbereich anlegen, in dem Ihre Daten später abgelegt werden können. Ceph **organisiert seine Daten in Pools**. Ein Pool ist eine logische Einheit, in der Ceph Ihre Dateien, Festplatten-Images oder Container-Volumes ablegt. Jeder Pool besteht aus vielen sogenannten Placement Groups, die die Daten auf die einzelnen OSDs verteilen und für eine gleichmäßige Lastverteilung sorgen. Mit den Pools bestimmen Sie also, **wie und wo Ceph Ihre Daten speichert**. So können Sie ganz nach Ihrem individuellen Bedarf beispielsweise einen Pool für virtuelle Maschinen und einen anderen für Backups oder Container-Images anlegen.

Um einen neuen Pool zu erstellen, führen Sie auf einem Ihrer Proxmox-Knoten den folgenden Befehl aus:

```bash
pveceph pool create cephpool --size 3 --min_size 2 --pg_num 128
```

In unserem Beispiel wird ein Pool mit dem Namen `cephpool` angelegt. Die Parameter geben an, wie Ceph mit Ihren Daten umgehen soll:

- `--size 3` bedeutet, dass jede Datei dreifach repliziert wird. Das sorgt für Ausfallsicherheit: Fällt ein OSD aus, sind immer noch zwei Kopien vorhanden.
- `--min_size 2` legt fest, dass mindestens zwei Kopien aktiv sein müssen, damit der Pool als funktionsfähig gilt. Dadurch wird verhindert, dass Ceph mit unvollständigen Daten arbeitet.
- `--pg_num 128` definiert die Anzahl der Placement Groups, also der logischen Datencontainer, in die Ceph Ihre Daten intern aufteilt. Je mehr OSDs Sie haben, desto höher kann dieser Wert sein, um die Daten gleichmäßig zu verteilen.

Hinweis Die Anzahl der Placement Groups, die Sie beim Erstellen eines Ceph-Pools festlegen, lässt sich **nachträglich nicht mehr reduzieren**. Sie können sie erhöhen, wenn Ihr Cluster wächst, aber eine Verringerung ist technisch nicht vorgesehen, da diese zu einem Verlust von Daten führen kann. Planen Sie daher von Anfang an ausreichend PGs. Als Faustregel gilt hierbei: **100 PGs pro OSD im Pool sind ein guter Ausgangswert** für kleine bis mittlere Umgebungen.

Nachdem Sie den Pool erstellt haben, können Sie überprüfen, ob alles korrekt funktioniert.

```bash
ceph -s
```

In der Ausgabe sehen Sie den aktuellen Status Ihres Ceph-Clusters. Wenn dort der Hinweis `HEALTH_OK` erscheint, bedeutet das, dass Ihr Pool korrekt eingerichtet wurde und Ihr Proxmox-Ceph-Cluster stabil läuft.

Tipp Ein Ceph-Cluster sorgt zwar für Redundanz, ersetzt aber keine regelmäßigen [Backups](https://www.ionos.at/digitalguide/server/sicherheit/was-ist-ein-backup/). Für echte Datensicherung in Proxmox-Umgebungen empfiehlt sich ein [Proxmox Backup Server](https://www.ionos.at/digitalguide/server/konfiguration/proxmox-backup-server/). Er ermöglicht deduplizierte, verschlüsselte Backups Ihrer VMs und Container – auch, wenn diese auf Ceph-Speicher liegen.

## Schritt 8: Ceph-Speicher in Proxmox einbinden

Nachdem Ihr Ceph-Cluster eingerichtet und der erste Pool erstellt wurde, müssen Sie diese in einem letzten Schritt **in Proxmox einbinden**, damit Ihre virtuellen Maschinen und Container den Speicher nutzen können. Proxmox verwendet hierfür das RBD-Protokoll. Am einfachsten gelingt die Einbindung über die grafische Oberfläche von Proxmox. Öffnen Sie dazu das Webinterface und navigieren Sie im Menü zum Punkt „Rechenzentrum &gt; Speicher &gt; Hinzufügen &gt; RBD (Ceph)“.

Im folgenden Dialog tragen Sie die notwendigen Verbindungsdaten zu Ihrem Ceph-Cluster ein.

- Geben Sie unter ID einen eindeutigen Namen für das neue Speicherziel ein.
- Im Bereich Monitore tragen Sie die IP-Adressen Ihrer Ceph-MONs ein. Hierbei handelt es sich um die Adressen der Knoten, auf denen die Monitor-Dienste laufen. Mehrere Adressen trennen Sie dabei durch Kommata, etwa 10.0.0.11,10.0.0.12,10.0.0.13.
- Im Feld Pool geben Sie den Namen des zuvor erstellten Ceph-Pools an, z. B. cephpool.
- Als User können Sie in der Regel admin verwenden.
- Der Keyring wird automatisch befüllt, indem Proxmox den benötigten Authentifizierungsschlüssel aus Ihrer Ceph-Konfiguration ausliest.

Hinweis Wenn Sie lieber über die Kommandozeile arbeiten, können Sie den gleichen Vorgang auch mit einem einzigen Befehl durchführen:

```bash
pvesm add rbd ceph-storage --monhost <mon1,mon2,mon3> --pool cephpool --content images
```

Ersetzen Sie &lt;mon1,mon2,mon3&gt; dabei durch die IP-Adressen Ihrer Monitor-Knoten.

Sobald der Speicher hinzugefügt ist, erscheint er in der Proxmox-Oberfläche. Sie können ihn nun **direkt als Ziel für virtuelle Maschinen auswählen**. Ab diesem Moment nutzt Proxmox Ceph als Speicher. Das bedeutet, dass alle VMs, die Sie auf diesem Storage anlegen, automatisch von der Redundanz und Ausfallsicherheit des Ceph-Clusters profitieren.

Tipp Wenn Sie später ein [Kubernetes Cluster auf Proxmox](https://www.ionos.at/digitalguide/server/konfiguration/kubernetes-cluster-auf-proxmox/) betreiben möchten, zahlt sich die Integration von Ceph besonders aus. Ceph kann nämlich nahtlos als persistenter Speicher für Kubernetes genutzt werden. So profitieren Ihre Container von derselben Redundanz und Hochverfügbarkeit wie Ihre virtuellen Maschinen.


This is a markdown version of: [https://www.ionos.at/digitalguide/server/konfiguration/ceph-auf-proxmox/](https://www.ionos.at/digitalguide/server/konfiguration/ceph-auf-proxmox/) for AI/LLM consumption.