Ceph unter Proxmox: Brauche Tips zur Erweiterung

KaiS

Active Member
Feb 20, 2019
62
7
28
55
Hallo,

ich betreibe aktuell Proxmox 5.4-13 mit 3 Nodes

Alle nodes sind identisch ausgerüstet und beherbergen auch CEPH.

Jede Node hat aktuell 4 OSDs auf jeweils einer 1 TB SSD.

Ceph läuft 3/2
PlacementGroups habe ich auf 896 schrittweise von 256 hochgeschraubt.

Hier hat mich leider die Ceph Dokumentation schon etwas "verarscht". Die schreiben:

-----------------------------------
it is mandatory to choose the value of pg_num because it cannot be calculated automatically. Here are a few values commonly used:

  • Less than 5 OSDs set pg_num to 128
  • Between 5 and 10 OSDs set pg_num to 512
  • Between 10 and 50 OSDs set pg_num to 1024
https://docs.ceph.com/docs/mimic/rados/operations/placement-groups/
-----------------------------------

Was bei meinen derzeit 12 und künftig 15 OSD´s also 1024 PG´s sein sollten.
Da macht aber ProxMox nicht mit, sondern wirft eine Fehlermeldung sobald ich mehr als die oben stehenden 896 PG´s einstellen will.

Da wird gerechnet 896PG´s * 3 Nodes /12 OSDs= 224 PG/OSD

Irgendwo ist wohl ein Limit bei 250 PG´s/OSD eingestellt was ich mit dem nächsten Schritt auf 1024 PG´s überschreitej würde bei derzeit 12 OSD´s.

Seis drum.

Also weiter:

Ich habe derzeit eine Auslastung von 69% meines CEPH Pools

Deshalb möchte ich gerne das CEPH um weitere OSD´s erweitern.

Ich habe jetzt3 weitere SSD a 2TB besorgt, wovon ich gerne je Node eine verbauen würde.

Nun zu meinen Fragen wo ich auf Eure Hilfe hoffe:

1) Beim Erweitern um eine weitere OSD / Host: Muss ich die 3 Node gleichzeitig erweitern, oder erst die erste Node und dann warten bis rewight stattgefunden hat, dann die 2. Node etc...

2) Ich habe (leider erst jetzt) gelesen, dass die OSD´s in einem Pool möglichst gleichgroß sein sollten. Shit. Jetzt habe ich halt 12* 1 TB und 3 * 2TB. Kann ich mein Ceph trotzdem damit erweitern?

3) Wenn ja: Muss ich für die 2TB SSDs dann das Weight auf 2 stellen (weil ja doppelt so groß wie die restlichen OSDs)?

4) Ergeben sich dadurch irgendwelche Nachteile?

5) ich habe auch gelesen, dass man neue OSD´s zunächst mit einem Weight von 0 einbinden soll um dann schrittweise (0.2) auf 1 zu weighten. Habt ihr hier Erfahrungen dazu?

6) Wenn ich das so durchgezogen habe und dann 3 identische Nodes mit jeweils 5 OSD´s habe (4 * 1TB + 1 *2 TB) - habe ich dann njoch die Ausfallsicherheit dass mein Ceph operational bleibt bei Ausfall eines gesamten Nodes?


Sorry für die vielen Fragen, aber ich möchte das gerne vorher klären, bevor ich unwissentlich alles zerschiesse hier.

Vielen Dank & viele Grüße,
Kai
 
Achtung bei den Links. Die Ceph Version in PVE 5.4 ist Luminous und für PVE 6.1 ist sie Nautilus. Der LInk zeigt auf die Version Mimic.

Was bei meinen derzeit 12 und künftig 15 OSD´s also 1024 PG´s sein sollten.
512 PGs bei einem Pool mit 3/2. https://ceph.com/pgcalc/

1) Beim Erweitern um eine weitere OSD / Host: Muss ich die 3 Node gleichzeitig erweitern, oder erst die erste Node und dann warten bis rewight stattgefunden hat, dann die 2. Node etc...
Das ist ein, "Wie du willst".

2) Ich habe (leider erst jetzt) gelesen, dass die OSD´s in einem Pool möglichst gleichgroß sein sollten. Shit. Jetzt habe ich halt 12* 1 TB und 3 * 2TB. Kann ich mein Ceph trotzdem damit erweitern?
Ja kann man. Die OSD wird mehr Objekte (reads/writes) abbekommen, als die anderen.

3) Wenn ja: Muss ich für die 2TB SSDs dann das Weight auf 2 stellen (weil ja doppelt so groß wie die restlichen OSDs)?
Nix. Ceph macht das schon.

4) Ergeben sich dadurch irgendwelche Nachteile?
Siehe Punk 2.

5) ich habe auch gelesen, dass man neue OSD´s zunächst mit einem Weight von 0 einbinden soll um dann schrittweise (0.2) auf 1 zu weighten. Habt ihr hier Erfahrungen dazu?
Siehe Punkt 1. Ceph schaufelt Daten in jedem Fall. Das 'weight' anzupassen hat nur mit dem einzelnen Zeitfenster des 'rebalance' zu tun. Je kleiner das 'weight' desto kürzer dauert der 'rebalance'. Damit steuren Admins die extra IO (zB. Nachts/Wochenende).

6) Wenn ich das so durchgezogen habe und dann 3 identische Nodes mit jeweils 5 OSD´s habe (4 * 1TB + 1 *2 TB) - habe ich dann njoch die Ausfallsicherheit dass mein Ceph operational bleibt bei Ausfall eines gesamten Nodes?
Von Haus aus verteilt Ceph auf Node-Ebene. Wenn die Regel nicht angepasst wurde, dann Ja.

Bei uns in der Doku gibt's auch einiges.
https://pve.proxmox.com/pve-docs/chapter-pveceph.html
 
Hi Alwin,

Danke für Deine schnellen Antworten

Achtung bei den Links. Die Ceph Version in PVE 5.4 ist Luminous und für PVE 6.1 ist sie Nautilus. Der LInk zeigt auf die Version Mimic.


512 PGs bei einem Pool mit 3/2. https://ceph.com/pgcalc/

Hab ic h jetzt leider auf dem hohen Wert 896. Kann man ja leider nimmer runter schrauben. Da es auf Production ist müsste ich sonst den gesamten Pool Backupen und neu erstellen was zu Ausfall führen würde.

Frage: Hab ich irgendwelche (massiven) Nachteile wenn ich mit 896 anstelle von 512 PG´s weiter fahre?

Viele Grüße,
Kai
 
Frage: Hab ich irgendwelche (massiven) Nachteile wenn ich mit 896 anstelle von 512 PG´s weiter fahre?
Verbraucht etwas mehr Ressourcen.

Hab ic h jetzt leider auf dem hohen Wert 896. Kann man ja leider nimmer runter schrauben. Da es auf Production ist müsste ich sonst den gesamten Pool Backupen und neu erstellen was zu Ausfall führen würde.
Bei Luminous geht nur das Erhöhen der PGs. Also, zweiter Pool mit weniger PGs anlegen und per "move disk" die VMs nach und nach auf den neuen Pool ziehen. Im Anschluss kann der alte Pool gelöscht und die PG Anzahl des Neuen erhöht werden.
 
Verbraucht etwas mehr Ressourcen.


Bei Luminous geht nur das Erhöhen der PGs. Also, zweiter Pool mit weniger PGs anlegen und per "move disk" die VMs nach und nach auf den neuen Pool ziehen. Im Anschluss kann der alte Pool gelöscht und die PG Anzahl des Neuen erhöht werden.

Hallo Alwin,

danke für den Tipp:

2. Pool auf dem selben Cluster anlegen ist kein Problem, aber wie sieht das mit den Ressourcen aus?
Ich habe ja derzeit einen Belegungsgrad von 69%.

Wenn ich nun einen 2. Pool anlege und die VM´s move - wird der Speicherplatz im 1. Pool freigegeben (also auf Cluster Ebene)? Sonst müsste ich ja zunächst einen Belegungsstand von < 50% schaffen.

Grüße,
Kai
 
2. Pool auf dem selben Cluster anlegen ist kein Problem, aber wie sieht das mit den Ressourcen aus?
Ich habe ja derzeit einen Belegungsgrad von 69%.

Wenn ich nun einen 2. Pool anlege und die VM´s move - wird der Speicherplatz im 1. Pool freigegeben (also auf Cluster Ebene)? Sonst müsste ich ja zunächst einen Belegungsstand von < 50% schaffen.
Na das wird sich doch hoffentlich ausgehen. ;) Beim 'move disk' wird natürlich für den Zeitraum des Verschiebens doppelt so viel Platz belegt.
 

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!