Ceph reinstallieren

Code:
# begin crush map
tunable choose_local_tries 0
tunable choose_local_fallback_tries 0
tunable choose_total_tries 50
tunable chooseleaf_descend_once 1
tunable chooseleaf_vary_r 1
tunable chooseleaf_stable 1
tunable straw_calc_version 1
tunable allowed_bucket_algs 54

# devices
device 0 osd.0 class hdd
device 1 osd.1 class hdd
device 2 osd.2 class hdd
device 3 osd.3 class hdd

# types
type 0 osd
type 1 host
type 2 chassis
type 3 rack
type 4 row
type 5 pdu
type 6 pod
type 7 room
type 8 datacenter
type 9 region
type 10 root

# buckets
host mc-me-vh04 {
    id -3        # do not change unnecessarily
    id -4 class hdd        # do not change unnecessarily
    # weight 3.638
    alg straw2
    hash 0    # rjenkins1
    item osd.0 weight 3.638
}
host mc-me-vh03 {
    id -5        # do not change unnecessarily
    id -6 class hdd        # do not change unnecessarily
    # weight 3.638
    alg straw2
    hash 0    # rjenkins1
    item osd.1 weight 3.638
}
host mc-me-vh05 {
    id -7        # do not change unnecessarily
    id -8 class hdd        # do not change unnecessarily
    # weight 3.639
    alg straw2
    hash 0    # rjenkins1
    item osd.2 weight 1.819
    item osd.3 weight 1.819
}
root default {
    id -1        # do not change unnecessarily
    id -2 class hdd        # do not change unnecessarily
    # weight 10.916
    alg straw2
    hash 0    # rjenkins1
    item mc-me-vh04 weight 3.638
    item mc-me-vh03 weight 3.638
    item mc-me-vh05 weight 3.639
}
host mc-me-vh06 {
    id -9        # do not change unnecessarily
    # weight 0.000
    alg straw2
    hash 0    # rjenkins1
}

# rules
rule replicated_rule {
    id 0
    type replicated
    min_size 1
    max_size 10
    step take default
    step chooseleaf firstn 0 type host
    step emit
}

# end crush map
 
Hmm, ich vermute da sind noch Dinge nicht ganz so wie sie sein sollten, mitunter weil das direkte EInrichten abseits der PVE Tools nicht ganz so geklappt hat.

Bezüglich der CRUSH Map, muss die Node noch ins "default" Bucket gezogen werden. Sollte mit
Code:
ceph osd crush move mc-me-vh06 root=default
erledigt sein. Dann sollte die Node in der OSD GUI bzw. bei ceph osd df tree in der richtigen Hierarchie angezeigt werden.

Bez. der OSD muss ich noch schauen.

Was zeigt die OSD in den Logs so an?
Code:
journalctl -u ceph-osd@<OSDID>.service
 
Last edited:
Ja, jetzt sieht die Crush Map erstmal wieder korrekt aus

Code:
root@mc-me-vh06:~# ceph osd df tree
ID CLASS WEIGHT   REWEIGHT SIZE    USE     DATA    OMAP    META    AVAIL   %USE  VAR  PGS TYPE NAME           
-1       10.91556        -      0B      0B      0B      0B      0B      0B     0    0   - root default       
-5        3.63849        - 3.64TiB  634GiB  632GiB  103MiB 1.39GiB 3.02TiB 17.00 1.00   -     host mc-me-vh03
 1   hdd  3.63849  1.00000 3.64TiB  634GiB  632GiB  103MiB 1.39GiB 3.02TiB 17.00 1.00 128         osd.1       
-3        3.63849        - 3.64TiB  634GiB  632GiB  103MiB 1.39GiB 3.02TiB 17.00 1.00   -     host mc-me-vh04
 0   hdd  3.63849  1.00000 3.64TiB  634GiB  632GiB  103MiB 1.39GiB 3.02TiB 17.00 1.00 128         osd.0       
-7        3.63858        - 3.64TiB  634GiB  632GiB  111MiB 1.89GiB 3.02TiB 17.02 1.00   -     host mc-me-vh05
 2   hdd  1.81929  1.00000 1.82TiB  327GiB  326GiB 51.7MiB  972MiB 1.50TiB 17.53 1.03  66         osd.2       
 3   hdd  1.81929  1.00000 1.82TiB  308GiB  307GiB 59.2MiB  965MiB 1.52TiB 16.51 0.97  62         osd.3       
-9              0        -      0B      0B      0B      0B      0B      0B     0    0   -     host mc-me-vh06
                     TOTAL 10.9TiB 1.86TiB 1.85TiB  316MiB 4.68GiB 9.06TiB 17.01                             
MIN/MAX VAR: 0.97/1.03  STDDEV: 0.36
root@mc-me-vh06:~#

Das Journal der OSD's hat leider keine Einträge.
root@mc-me-vh06:~# journalctl -u ceph-osd@sdc.service -- No entries -- root@mc-me-vh06:~#
 
Die systemd Units sind grundsätzlich nach den OSD Nummern benannt, ich hätte mir ein ceph-osd@4.service erwartet, nachdem die bisherigen OSDs 0 bis 3 sind.

Gibt die Unit? systemctl -a | grep ceph-osd
Wenn hier eine auftaucht die statt 4 eine andere Zahl hat, dann im Verzeichnis die Zahl entsprechend anpassen ->
Gibt es ein Verzeichnis /var/lib/ceph/osd/ceph-4 auf der Node 06?
 
Gibt die Unit? systemctl -a | grep ceph-osd
Wenn hier eine auftaucht die statt 4 eine andere Zahl hat, dann im Verzeichnis die Zahl entsprechend anpassen ->
Nicht zu sehen..
root@mc-me-vh06:/# systemctl -a | grep ceph-osd ceph-osd.target loaded active active ceph target allowing to start/stop all ceph-osd@.service instances at once root@mc-me-vh06:/#

Das Verzeichnis osd gibt es zwar, aber ohne Inhalt
root@mc-me-vh06:/# cd /var/lib/ceph/osd/ root@mc-me-vh06:/var/lib/ceph/osd# ls root@mc-me-vh06:/var/lib/ceph/osd#
 
Hmm, nachdem es beim erstellen der OSD wohl nicht ganz geklappt hat, würde ich vorschlagen, du löschst die Disk und was drauf ist mal. Wenn es sich hierbei noch um den Proxmox VE 5.4 Cluster aus dem anderen Thread handelt, wirst du das von Hand machen müssen. In neueren PVE Versionen gibts im Node -> Disk Panel den "Wipe Disk" Button der alles was es findet (LVM, partitionen, ...) löscht.

Dann nochmal versuchen die OSD zu erstellen. Vielleicht war das mit dem Mon evlt ein Grund wieso es nicht weiter gegangen ist.
 
Ich habe nach dem Wiederherstellen des Mon versucht eine weitere OSD zu erstellen (die noch leer war). Es kamen die selben Warnhinweise, wie schon weiter oben beschrieben und auch diese tauchte nicht in der CrushMap auf.

Ich werde den Node 06 wieder aus dem Cluster nehmen, die anderen 3 Nodes auf Version 7.x upgraden, den Node 06 ebenfalls mit der Version 7.x neu installieren und dann versuche ich das Prozedere noch einmal.

Da hätte ich dann nur noch 2 Fragen:

Der Node 06 braucht ja beim wiedereingliedern in den vorhandenen Cluster einen neuen Namen. Muss auch die IP-Adresse eine andere sein?
Wenn ich den Node dann wieder ins Cluster hebe, sollte ich Ceph vorher installieren oder erst, wenn er im Cluster ist?
 
Auf die letzte Version upgraden klingt gut. Das Wissen um die Feinheiten von alten Versionen nimmt halt doch mit zunehmendem Alter ab.

Der Node 06 braucht ja beim wiedereingliedern in den vorhandenen Cluster einen neuen Namen. Muss auch die IP-Adresse eine andere sein?
Wenn ich den Node dann wieder ins Cluster hebe, sollte ich Ceph vorher installieren oder erst, wenn er im Cluster ist?
Wenn du die Node laut Anleitung aus dem Cluster nimmst, solltest du Sie auch wieder mit gleichem Namen und IP in den Cluster aufnehmen können. Evtl. wirst du die alten SSH Keys vorher noch entfernen müssen. Siehe die Info Box am Ende vom Kapitel https://pve.proxmox.com/pve-docs/pve-admin-guide.html#_remove_a_cluster_node

Wann du die Ceph Pakete installierst, ist ziemlich egal. Wenn du die einzelne Node dem Cluster hinzufügst, werden die diversen Configfiles in /etc/pve sowieso auch mit denen vom Cluster überschrieben.
Ceph Dienst auf der Node solltest du halt erst erstellen, wenn Sie im PVE Cluster ist.
 
So, ich habe gestern den Cluster auf Version 7.3 angehoben und bevor ich den 4. Server in den Cluster hebe, würde ich doch gern die Ceph-Probleme, die es gerade noch gibt, beheben. Es sind 2 Probleme:
1. Ceph gibt an, dass mein Pool, der immer 128 PG's hatte nun 32 haben sollte.
1670499113819.png
Nun stellt sich mir die Frage, warum auf einmal, wo das System doch Jahre vorher immer mit 128 PG's arbeitete? Liegt es an dem neuen Pool "device_health_metrics", den die neue Version mit sich bringt? Ist es nun ratsam, die PG's auf 32 zu veringern?

2. Wie im Bild unten zu sehen, ist eine OSD auf Version Nautilus hängengeblieben und lässt sich nun nicht mehr starten. Würde es etwas bringen, die OSD zu wipen und erneut hinzuzufügen oder gibt es noch einen anderen Weg?

1670499012132.png
 

Attachments

  • 1670499093516.png
    1670499093516.png
    18.2 KB · Views: 2
1. Ceph gibt an, dass mein Pool, der immer 128 PG's hatte nun 32 haben sollte.
Ist der Pool ziemlich leer? Der Autoscaler ist per default an, und wenn du ihm keine target_ratio oder target_size gibst, kann er sich nur am aktuellen Füllstand orientieren.
Wenn das dein einziger pool ist (den device_health_metrics kannst du in der Frage ignorieren), kannst du ihm eine target_ratio geben. Welche ist ziemlich egal. Bei mehr pools, stehen die Ratios in relation zueinander als Gewichtung.
2. Wie im Bild unten zu sehen, ist eine OSD auf Version Nautilus hängengeblieben und lässt sich nun nicht mehr starten. Würde es etwas bringen, die OSD zu wipen und erneut hinzuzufügen oder gibt es noch einen anderen Weg?
Die Logs zu der OSD hast du dir angeschaut? Evtl. meldet die ein Problem, zu dem es eine bekannte Lösung gibt. Ansonsten, ja, wipen und neu erstellen, wenn du ansonsten genug Replicas hast im Cluster, ist auch eine Lösung, die normalerweise klappt.
Die Logs sollten sich in /var/lib/ceph/ceph-osd.<id>.log finden lassen.
 

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!