Verständnisfrage zu Ceph Full Mesh

s25a

Well-Known Member
Dec 30, 2020
38
10
48
35
Hallo Zusammen,

vielleicht kann jemand hier etwas Licht ins Dunkle bringen.

Ich habe ein 3 Node Cluster gebaut. Jeder der Knoten hat einen 2 x 10G Bond zu 2 Switchen (Im Stack). Zusätzlich habe ich jedem Knoten noch eine 25G Karte mit 2 Ports eingebaut. Diese sind im Ring verbunden. Nach dieser Anleitung habe ich ein SDN Openfabric erstellt: https://pve.proxmox.com/wiki/Full_Mesh_Network_for_Ceph_Server#Routed_Setup_(with_Fallback)

Hat auch alles soweit geklappt und die Nodes sehen sich untereinander in diesem neuen Netz. Meine Frage wäre nun folgende:

Bei der Initialisierung von Ceph kann man (sollte man) die Ceph Public und Ceph Cluster Netze separieren. Meine Idee war es eigentlich den gesamten Ceph Verkehr über den Ring laufen zu lassen so dass dies unabhängig von den Switchen immer läuft. Beides in ein Netzwerk wäre aber auch keine sonderlich gute Idee. Ist es denn möglich auf dem Ring eine art zusätzliches VLAN zu erstellen um dort den Ceph Public zu separieren? (Stichwort Zones VXlan etc.) oder ist das keine gute Idee?

Würdet ihr eher auf dem Bond zu den Switches ein separates Vlan für Ceph Public erstellen?

Ich habe noch nicht viel Erfahrung damit und würde gerne damit etwas testen bevor ich einen Schritt weiter gehe.

Vielen Dank und VG Alex
 
Hi Alex,
also prinzipiell kannst du ceph public und ceph internal trennen (über Vlans oder über IPAM in deinem Setup).

Müssen tust du es nicht. Einen wirklichen Mehrwert sehe ich nur, falls du den Ceph von außerhalb deiner PVE-Hosts direkt zugreifbar machen möchtest. (z.B. aus einer VM heraus).

Ansonsten würde ich den zusätzlichen Aufwand + Komplexität vermeiden. Es läuft alles über dieselben Kabel. Zusätzliche Vlantags in den Paketen verringern sonst nur den Durchsatz.

BG, Lucas
 
Beides in ein Netzwerk wäre aber auch keine sonderlich gute Idee.
Warum wenn ich fragen darf?
Wie @bl1mp schon erwähnt hat, kann man Ceph Public und Ceph Cluster im gleichen IP subnet laufen lassen. Falls das Netz nicht mehr genug Bandbreite hat, kann man aber recht leicht die Last auf unterschiedliche IP subnetze, und damit einhergehend hoffentlich auch physische Netze verteilen.
 
Guten Morgen Zusammen,

vielen Dank erstmal an alle Nachteulen :-)

Beides in ein Netzwerk wäre aber auch keine sonderlich gute Idee.
Warum wenn ich fragen darf?

Ich bin gerade erst dabei mich mit dem Thema auseinanderzusetzen. Aus etlichen unterschiedlichen Quellen habe ich rausgelesen das man diese Netze trennen sollte. Gar nicht mal nur aus Gründen der gesamt möglichen Bandbreite sondern aufgrund der logischen Trennung und gegenseitiger Beeinflussung der Netze. Ob das dann in der Praxis wirklich so ist weiß ich nicht hängt wahrscheinlich sehr stark von der geplanten Nutzung ab.

Ansonsten würde ich den zusätzlichen Aufwand + Komplexität vermeiden. Es läuft alles über dieselben Kabel. Zusätzliche Vlantags in den Paketen verringern sonst nur den Durchsatz.

Vielleicht nur noch ein paar Punkte zur Anwendung:

- Ich möchte im Nächsten Schritt CephFS anlegen
- Dann einen Nextcloud Container und diesem über MountPoints dann CephFS unterschieben. Das hatte ich bereits etwas getestet. Das hatte im Fehlerfall (Kabel ziehen, Knoten abschalten usw.) sehr gut funktioniert und war auf dieser Hardware auch relativ performant.
- CephFS deswegen weil ich eventuell noch einen SMABA / NFS Server plane (zumindest testen möchte) und auf dieselben Daten zugreifen muss.

Vielleicht wäre dann doch der sauberste Ansatz das Ceph Core einfach als Openfabric dezidiert auf dem Ring laufen zu lassen und das Ceph Public auf das "normale" Netz zu den Switchen zu legen. Dort als separates VLAN (was sich ja relativ einfach über die GUI realisieren lässt).

Danke euch für euren Input. Viele Grüße Alex
 
sondern aufgrund der logischen Trennung und gegenseitiger Beeinflussung der Netze.
Da spielt es grundsätzlich eine Rolle zwischen Ceph und anderen Diensten. Z.b. Proxmox VE cluster kommunikation via Corosync.

Das Ceph Cluster Netz ist eben nur für die Replication zuständig. Siehe https://docs.ceph.com/en/latest/rados/configuration/network-config-ref/
Alles andere, auch der Client Traffic (VMs, Ceph FS clients, ...) läuft über das Ceph Public. Weshalb das auch entsprechend performant sein sollte.

Wenn andere Clients außer Proxmox VE Ceph verwenden soll, dann ist es tatsächlich am einfachsten das Ceph Public Netz auf ein geswitchtes Netz zu legen.