[SOLVED] Ceph Cluster - Aufbau Netzwerk / maximal mögliche Latenz

Max_RNGNR27052

New Member
Jan 16, 2020
1
0
1
Hallo Zusammen,

wir werden voraussichtlich ein Proxmox Cluster mit einem Ceph Storage aufbauen.
Unsere Planung beinhaltet 8 OSD-Nodes, 3 Mon-Nodes, 1 Admin-Node (VM), 6 DualSocket Compute-Nodes

Die Hardware wird im groben wie folgt gekauft:

Ceph OSD:
  • 2 Sockets (Xeon Silver 4214 12 Cores, 2,2GHz oder Xeon Gold 6226 12 Cores, 2.7GHz oder Xeon Gold 6234 8x 3.3GHz)
  • 256GB RAM
  • 6x 1.6TB PCIe NVMe Enterprise SSDs (1ne als Journal)
  • 16x 2.4TB 12G Enterprise SAS HDDs 10k

Ceph Mon Nodes:
  • 1 Socket (Xeon Silver 4215 8 Cores, 2.5GHz oder Xeon Gold 6234 8x 3.3GHz)
  • 96GB RAM
  • 240GB SATA 6G SSD fürs OS etc.

Alle Server werden wir mit zwei 25G Ports ausstatten. Als Switches werden wir voraussichtlich zwei Cisco C9500-24Y4C kaufen.



Im Vortrag von Alwin Antreich auf der FrOSCon 14 warnt er ausdrücklich davor, die Netze (Public VM, Cluster, Storage) auf einem/zwei Switches zu betreiben.
https://youtu.be/OeDEsD1NjWI?t=1720

Nach seinem Vorschlag müssten wir uns vier weitere Switches kaufen. Hier stellt sich die Frage für mich, benötigt das Cluster Netz 25G oder kann man es auch ohne Probleme mit 1G Links betreiben?
Aktuell würden wir alle Server mit Bonding an die zwei Switches connecten.

Zudem spielen wir mit den Gedanken, dass wir das Ceph Cluster auf zwei Rechenzentren aufteilen.
Die zwei Rechenzentren sind mit einer DWDM Verbindung direkt verbunden, die Durchschnittliche Latenz von Switch zu Switch liegt bei ca. 2ms.

Da ich in jedem zweiten Beitrag zu Ceph bzgl. Hardware lese, dass die Latenz das Wesentliche ist. Bin ich dabei diese Idee gänzlich zu verwerfen. Leider finde ich nirgends Zahlen, ab welcher Latenz ein Cluster über ein RZ hinaus betreibbar ist.


Danke
-Max
 
Last edited:
Für das Ceph Cluster Netz brauchst du auf jeden Fall eine hohe Bandbreite. Das Corosync Netz kannst du problemlos auf einem 1G Link betreiben, das machen wir auch so. Je nachdem was du für Clients da dran hast, wie viel Bandbreite die brauchen, solltest du das Client Netz auslegen, 10G oder 25G, je nachdem.

Zu den Latenzen kann ich allerdings leider nicht so viel sagen.

Achso eins noch zum Verständnis:
Sollen das wirklich Hardwaremäßig getrennte Switches sein? Wir betreiben unseren Cluster auf einem Switch und trennen die Netze via VLAN, wobei natürlich jeder Server einen physikalischen Link speziell für Corosync, Ceph und Client Access hat.
 
Im Vortrag von Alwin Antreich auf der FrOSCon 14 warnt er ausdrücklich davor, die Netze (Public VM, Cluster, Storage) auf einem/zwei Switches zu betreiben.
Ich hab's mir gerade nochmal angehört. Ich warne for schlechter Hardware und dem Gedanken, alles über 2x NIC Ports als Bond und womöglich noch VLANs ob drauf, laufen zu lassen.

Nach seinem Vorschlag müssten wir uns vier weitere Switches kaufen.
In der Folie 22 sind 6x Switche aufgezeichnet. Diese sollen als Visualisierung dienen, denn der Netzwerk Traffic für die einzelnen Dienste muss getrennt werden (das Verantwortlichkeitsprinzip). Ansonsten wird es sehr schwer einen stabilen und reibungslosen Betrieb zu gewährleisten. Ob es sich nun um 6x oder nur 2x Switche handelt, ist dann von der Hardware und Beschaffenheit der Infrastruktur abhängig.

Hier stellt sich die Frage für mich, benötigt das Cluster Netz 25G oder kann man es auch ohne Probleme mit 1G Links betreiben?
Das ist relativ. Je nach Anforderungen, kann 1 GbE genügen (zB. leeres Test Cluster). Wichtig ist es eine niedrige Latenz zu erzielen und dabei genug Bandbreite zu haben, um alle betreffenden Systeme mit Daten bedienen zu können. Viele der Vorbedingungen für einen Ceph Cluster Bau sind in unserer Dokumentation [0] zu sehen.

Zudem spielen wir mit den Gedanken, dass wir das Ceph Cluster auf zwei Rechenzentren aufteilen.
Die zwei Rechenzentren sind mit einer DWDM Verbindung direkt verbunden, die Durchschnittliche Latenz von Switch zu Switch liegt bei ca. 2ms.

Da ich in jedem zweiten Beitrag zu Ceph bzgl. Hardware lese, dass die Latenz das Wesentliche ist. Bin ich dabei diese Idee gänzlich zu verwerfen. Leider finde ich nirgends Zahlen, ab welcher Latenz ein Cluster über ein RZ hinaus betreibbar ist.
Hier ist die Antwort, 42. ;)
Es gibt keine pauschalen Werte dafür. Unabhängig von diesen Werten gibt es andere design-technischen Dinge zu beachten.
Zum Beispiel:
  • Zwei Standorte erzeugen zwei Wahrheiten (Quorum). Welcher Standort ist im guten Zustand? Und wo ist die Mehrheit an Nodes?
  • Was passiert, wenn der Link dazwischen getrennt wird (Bagger übers Kabel; SPoF)?
  • Der separierte Traffic wird wieder gemischt. Reicht die Bandbreite? Ist die Latenz klein genug?
  • usw.
Nicht, das es nicht Möglich wäre, aber ein anderes Design, sind zwei Unabhängige Cluster. Damit lässt sich jedes unabhängig voneinander betreiben. Es verringert die Komplexität, eines ohnehin schon komplexen Systems. Der Inter-Connect hat damit eine geringe Bedeutung. Upgrades eines Clusters lassen sich leichter und schneller durchführen, da es ja immer ein zweites zum Ausweichen gibt.

Ich hoffe, meine "lange" Ausführung bringt ein wenig Klarheit zum Vortrag. :)

[0] https://pve.proxmox.com/pve-docs/chapter-pveceph.html#_precondition
 
  • Like
Reactions: herzkerl

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, 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 yours easily in our online shop.

Buy now!