Anfängerfragen Ceph

Gandalf123

New Member
May 21, 2018
14
0
1
37
Hallo ans Forum,

ich betreibe nun schon länger mehrere Proxmox Cluster mit je 3 Servern, allerdings habe ich bisher immer ein externes NFS Storage verwendet. Nun würde ich gerne bei einem neuen Projekt Ceph mit einsetzen, wo ich nun noch einige Fragen habe und mal eure Erfahrungen hören möchte.

Wie viele Replicas muss ich eigentlich mindestens haben damit ein Server ausfallen darf? 3 oder 2? Ist es dann eigentlich egal welcher der 3 Server ausfällt?

Wie funktioniert denn dann das Update von Proxmox? Wird beim klassischen Update dann auch Ceph mit geupdatet, oder muss hier noch was besonderes beachtet werden damit es zu keinen Inkonsistenzen kommt?

Als Speicher würde ich gerne intern reine SAS SSDs verwenden und fürs Netzwerk dachte ich an 2x 10Gbit als LCAP Bond über 2 gestackte Switche. Ist das eine optimale Lösung oder müssen/sollen 2 getrennte 10G Rings gebildet werden? Wie ist dann da die Performance, werden dann beide Parallel genutzt um auf einen Durchsatz von 20 GB zu kommen?

Danke schon mal für eure Erfahrungen
Gandalf123
 
Oct 16, 2016
198
17
23
37
Moin Gandalf123

Wie viele Server ausfallen dürfen ist nicht ganz so einfach zu beantworten, da das von der Gesamtmenge der Server und von der Struktur des Clusters abhängt.

Ich würde dir nicht empfehlen mit einer Replica < 3 zu fahren. Sollte es mal vorkommen das es zwei verschiedene Versionen eines Objektes gibt, kann Ceph nicht entscheiden welche die korrekte ist. Bei einer Replica von 3 wird die Entscheidung nach Mehrheit gefällt und das abweichende Objekt kann ersetzt werden.

Die Ausfallsicherheit funktioniert so:
Bei Replica=3 wird jedes Objekt 3x gespeichert. Du bildest deine tatsächliche Struktur in Ceph ab. Also wenn du z.B. 6 Server hast die in 3 verschiedenen Räumen oder Gebäuden stehen, teilst du Ceph das entsprechend über die crush map mit.
Das sorgt dann dafür, das sich nie alle Kopien eines Objektes im gleichen Gebäude, oder Raum, oder Server befinden. Sollte dann z.B. ein Server ausfallen gibt es grundsätzlich immer einen Server der eine Kopie hat. Sollte sogar ein Raum oder ein Gebäude mit z.B. 2 Servern darin ausfallen, liegen immer noch 2 weitere Kopien auf Servern in anderen Räumen.
Das funktioniert aber nur, wenn die Struktur des Clusters entsprechend konfiguriert und auch physikalisch umgesetzt wurde. Ceph ist daher so sicher wie deine physikalische Struktur das zulässt. Es kann dann sogar den Ausfall eines ganzen Standortes verkraften.

Bitte achte bei den SSDs darauf das die die Vielzahl an Schreibzugriffen verkraften. Im Ceph Cluster ist ständig was los. Außerdem möchte Ceph gerne direct IO mit der Disk machen. Die Disk sollte daher selbst einen gepufferten Cache verwenden damit bei einem Stromausfall oder einem abrupten Abschalten des Systems die Daten im Cache noch sauber auf dem Datenträger abgelegt werden können. SSDs die so etwas nicht haben, werden in CEPH extrem langsam!

Du kannst dein Ceph-Netz problemlos mit 2x 10GBit LACP uplinks betreiben. Die Verteilung der Daten erfolgt dann so wie es der LACP Standard vorsieht. Wir nutzen LACP Allerdings als Absicherung für die Verbindung zwischen Standorten, damit wir mal ohne Ausfall ein Kabel wechseln können etc.

Für PVE pflegen die Jungs von Proxmox ein eigenes Ceph Repository. Die Updates kommen daher auch mit den normalen PVE Updates rein. Sollte es große Versionssprünge geben mit wichtigen Anmerkungen zum Update Prozess, wird dazu in der Regel eine Update Anleitung veröffentlicht.

Bevor ihr Ceph Produktiv einsetzt, sei dir bitte sicher, dass du mit Ceph sicher umgehen kannst. Es ist sehr wichtig, die Struktur und Funktionsweise von Ceph zu verstehen. Ceph ist sehr komplex und braucht im Fehlerfall einen kühlen Kopf und Routine. Es ist kein Hexenwerk und meiner Meinung nach eines der besten Speichersysteme. Aber man braucht Erfahrung und Übung um sich im Fehlerfall sicher zu fühlen. Du kannst aber alle Eventualitäten sehr gut in einem Testsystem ausprobieren und hier wird dir auch schnell geholfen.

PS: Ceph gewinnt an Performance und Sicherheit, je größer der Cluster wird. Für die Einführung von Ceph kann es daher evtl. besser sein, aus euren bisher getrennten einzelnen Clustern, einen einzelnen größeren zu machen, sofern eure Organisationsstruktur das zulässt.
 
  • Like
Reactions: Alwin

Lephisto

Member
Jun 22, 2019
44
3
8
42
Bitte achte bei den SSDs darauf das die die Vielzahl an Schreibzugriffen verkraften. Im Ceph Cluster ist ständig was los. Außerdem möchte Ceph gerne direct IO mit der Disk machen. Die Disk sollte daher selbst einen gepufferten Cache verwenden damit bei einem Stromausfall oder einem abrupten Abschalten des Systems die Daten im Cache noch sauber auf dem Datenträger abgelegt werden können. SSDs die so etwas nicht haben, werden in CEPH extrem langsam!
Hier sollte man eventuell noch hinzufügen, daß die SSD's im Sinne der Crashresistenz im Falle einer Powerloss Events über PLP verfügen sollten, also einen kleinen energiepuffer in form eines Kondensators innerhalb der SSD, der dafür sorgt, daß inflight Data weggeschrieben werden kann. Das ist das äquivalent zu einer BBU aus Zeiten der Raidcontroller/Harddisks. Das ist aber auch kein Ceph spezifikum sondern trifft auch auf ZFS oder andere Clusterfilesysteme zu. Eigentlich auch alle Filesysteme, nur beim Cluster sind die folgen am gravierendsten.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE and Proxmox Mail Gateway. We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get your own in 60 seconds.

Buy now!