Mehrere RBD Devices mit unterschiedlicher Größe in Proxmox CEPH einrichten

fettfoen

Well-Known Member
Oct 2, 2019
35
4
48
Hallo,

ich habe mir gestern ein Ceph-Cluster aufgebaut. Auf das grundlegende Setup möchte ich hier gar nicht weiter eingehen, ich habe mich weitgehend an die offizielle Dokumentation gehalten.

Irgendwann kam der Punkt, an dem ich einen Pool erstellen musste. Dabei habe ich die Checkbox „Add as Storage“ aktiviert gelassen. Wie gewünscht, sehe ich nun unter meinen Nodes einen Storage mit dem Namen CEPH-RBD. Unter „Summary“ und „Usage“ wird mir die gesamte verfügbare Größe meines Ceph-Clusters angezeigt. Das ist etwas unpraktisch, da ich meinen Speicher gerne separieren möchte.

Ich benötige mehrere RBD Devices mit unterschiedlicher Größe, die in Proxmox VE (PVE) korrekt dargestellt werden, zum Beispiel:
  • CEPH-RBD-A → 10 TB
  • CEPH-RBD-B → 6 TB
  • CEPH-RBD-C → 60 TB
Ich habe gesehen, dass man auf Ceph-Ebene Pools quotieren kann. Allerdings zeigt Proxmox trotzdem immer noch die Gesamtgröße des Clusters an. Mein eigentliches Ziel ist es zunächst, mehrere RBD Devices anlegen zu können. Laut Ceph ist es möglich, innerhalb eines Pools mehrere RBDs zu erstellen. In PVE kann ich diese jedoch nicht einzeln auswählen.

Frage:

Was ist das richtige Vorgehen?

Sollte ich für jedes RBD einen eigenen Pool anlegen und diesen dann per CLI mit

ceph osd pool set-quota <POOL-NAME> max_bytes <GRÖSSE>

begrenzen?

Und wie kann ich erreichen, dass die Anzeige in Proxmox VE anschließend korrekt die jeweilige Größe widerspiegelt?

LG
fettfoen
 
Das RBD ist die virtuelle Festplatte für eine VM. Dieses hat immer eine bestimmte Größe.

Ein Ceph-Pool kann mehrere RBDs aufnehmen und ist grundsätzlich so groß wie der gesamte Cluster. Außer er wird mit einer Qouta versehen.

Mehrere Pools teilen sich die Gesamtkapazität des Clusters.

Ich würde allerdings nicht empfehlen, für jedes VM-Image einen eigenen Pool zu hauen. Da wird der Verwaltungsoverhead zu groß (Stichwort Placement Groups).

Dass bei einem begrenzten Pool die Quota-Größe in der Proxmox-GUI nicht angezeigt wird, scheint mir ein kleiner Bug zu sein.
 
Last edited:
Danke für die hilfreiche Antwort. Mir ging es eher darum, den Speicher zu separieren. Wir haben mehrere Institute, die für eine Summe X Speicher kaufen können. Daher wäre es für mich wichtig, separate „Datastorages“ in unterschiedlicher Größe anzulegen. Derzeit setze ich dies mit TrueNAS bzw. NetApp mit NFS um.

Es wird auf dem SAN/NAS ein Share mit entsprechender Größe angelegt und in PVE eingebunden. Beim Erreichen der Quota kann Speicher nachgekauft werden, und ich kann mit wenigen Handgriffen den Speicher erhöhen bzw. reduzieren. Wenn ich nun alle VMs auf einem Pool speichere, habe ich keinen Überblick darüber, welches Institut gerade wie viel Speicher belegt. Daher die Nachfrage, ob ich dies mit verschiedenen Pools nachbilden kann.
 
  • Like
Reactions: Johannes S
Accounting und Mandantenfähigkeit ist bei Proxmox nicht vorhanden und daher gibt es auch keine solchen getrennten Ansichten.

Rechnet ihr immer eine Bruttokapazität ab, egal was verbreitet wird? Für so ein Setup wäre die Ansicht einer Quota sehr sinnvoll.
Wenn eh der zugewiesene Speicher der VMs abgerechnet wird, wäre die komplette Poolmenge in der Ansicht ja OK.

Da so ein Ceph Pool auf Scaleout und wenige Limits ausgelegt ist, sind solche statischen Limitierungen wie bei klassischen Partitionen oder Dateisystemen nicht vorgesehen.
 
  • Like
Reactions: Johannes S