[SOLVED] ceph osd lässt sich nicht aktivieren

Ingo S

Renowned Member
Oct 16, 2016
348
42
93
41
Hallo zusammen

Wir haben auf einem Server nach einem Absturz eine SSD-OSD die sich nicht aktivieren lässt. Die SSD ist nicht defekt und wurde auch nicht irgendwie gelöscht. Sie ist aber nicht mehr in der Ceph config drin.
Nach meinem Verständnis sollte sich doch eine SSD mit ceph-volume activate [ID] [fsid] wieder einbinden lassen oder nicht?
Ich bekomme jedenfalls folgendes Ergebnis:
Code:
root@vm-2:~# ceph-volume lvm activate 3 b881d08d-c74c-416c-b1c4-f9a86d00bcf5
Running command: /bin/chown -R ceph:ceph /var/lib/ceph/osd/ceph-3
Running command: /usr/bin/ceph-bluestore-tool --cluster=ceph prime-osd-dir --dev /dev/ceph-d678c61e-6fc2-475b-a810-ffa856a5d461/osd-block-b881d08d-c74c-416c-b1c4-f9a86d00bcf5 --path /var/lib/ceph/osd/ceph-3 --no-mon-config
Running command: /bin/ln -snf /dev/ceph-d678c61e-6fc2-475b-a810-ffa856a5d461/osd-block-b881d08d-c74c-416c-b1c4-f9a86d00bcf5 /var/lib/ceph/osd/ceph-3/block
Running command: /bin/chown -h ceph:ceph /var/lib/ceph/osd/ceph-3/block
Running command: /bin/chown -R ceph:ceph /dev/dm-1
Running command: /bin/chown -R ceph:ceph /var/lib/ceph/osd/ceph-3
Running command: /bin/systemctl enable ceph-volume@lvm-3-b881d08d-c74c-416c-b1c4-f9a86d00bcf5
Running command: /bin/systemctl enable --runtime ceph-osd@3
Running command: /bin/systemctl start ceph-osd@3
--> ceph-volume lvm activate successful for osd ID: 3
Aber die OSD taucht nicht auf:
Code:
root@vm-2:~# ceph osd tree |grep "osd.3 "
root@vm-2:~#
 
Der Dienst ceph-osd@3.service läuft? Findet sich im Logfile der OSD etwas? /var/log/ceph/ceph-osd.3.log
 
Der Dienst läuft nicht, nein:
Code:
root@vm-2:~# systemctl status ceph-osd@3
● ceph-osd@3.service - Ceph object storage daemon osd.3
     Loaded: loaded (/lib/systemd/system/ceph-osd@.service; enabled-runtime; vendor preset: enabled)
    Drop-In: /lib/systemd/system/ceph-osd@.service.d
             └─ceph-after-pve-cluster.conf
     Active: activating (auto-restart) (Result: exit-code) since Wed 2022-01-26 12:14:37 CET; 5s ago
    Process: 2041312 ExecStartPre=/usr/libexec/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id 3 (code=exited, status=0/SUCCESS)
    Process: 2041331 ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id 3 --setuser ceph --setgroup ceph (code=exited, status=1/FAILURE)
   Main PID: 2041331 (code=exited, status=1/FAILURE)
        CPU: 92ms

Jan 26 12:14:37 vm-2 ceph-osd[2041331]: 2022-01-26T12:14:37.186+0100 7f01eac15700 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2]
Jan 26 12:14:37 vm-2 ceph-osd[2041331]: failed to fetch mon config (--no-mon-config to skip)
Jan 26 12:14:37 vm-2 systemd[1]: ceph-osd@3.service: Main process exited, code=exited, status=1/FAILURE
Jan 26 12:14:37 vm-2 systemd[1]: ceph-osd@3.service: Failed with result 'exit-code'.
root@vm-2:~#

Die /var/log/ceph/ceph-osd.3.log ist komplett leer.

Interessant scheint diese Zeile zu sein:
Jan 26 12:14:37 vm-2 ceph-osd[2041331]: failed to fetch mon config (--no-mon-config to skip)
Das habe ich so noch nie gesehen. Bedeutet für mich, das irgendwie die config vom mon nicht zu finden ist. Aber ich wüsste nicht, warum. Die anderen OSDs laufen ja normal.

Edit:
Ich hatte mal eine OSD gelöscht und wollte die neu anlegen. KANN es sein, das es sich dabei um diese OSD handelt? Ist leider schon einige Wochen her und ein anderes Problem hatte mich dann davon abgebracht... ich dachte eigentlich das beim Löschen von OSDs sowohl config als auch LVM Partitionierung etc. gelöscht wird.
 
Last edited:
Der Dienst läuft nicht, nein:
Code:
root@vm-2:~# systemctl status ceph-osd@3
● ceph-osd@3.service - Ceph object storage daemon osd.3
     Loaded: loaded (/lib/systemd/system/ceph-osd@.service; enabled-runtime; vendor preset: enabled)
    Drop-In: /lib/systemd/system/ceph-osd@.service.d
             └─ceph-after-pve-cluster.conf
     Active: activating (auto-restart) (Result: exit-code) since Wed 2022-01-26 12:14:37 CET; 5s ago
    Process: 2041312 ExecStartPre=/usr/libexec/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id 3 (code=exited, status=0/SUCCESS)
    Process: 2041331 ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id 3 --setuser ceph --setgroup ceph (code=exited, status=1/FAILURE)
   Main PID: 2041331 (code=exited, status=1/FAILURE)
        CPU: 92ms

Jan 26 12:14:37 vm-2 ceph-osd[2041331]: 2022-01-26T12:14:37.186+0100 7f01eac15700 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2]
Jan 26 12:14:37 vm-2 ceph-osd[2041331]: failed to fetch mon config (--no-mon-config to skip)
Jan 26 12:14:37 vm-2 systemd[1]: ceph-osd@3.service: Main process exited, code=exited, status=1/FAILURE
Jan 26 12:14:37 vm-2 systemd[1]: ceph-osd@3.service: Failed with result 'exit-code'.
root@vm-2:~#

Die /var/log/ceph/ceph-osd.3.log ist komplett leer.

Interessant scheint diese Zeile zu sein:
Jan 26 12:14:37 vm-2 ceph-osd[2041331]: failed to fetch mon config (--no-mon-config to skip)
Das habe ich so noch nie gesehen. Bedeutet für mich, das irgendwie die config vom mon nicht zu finden ist. Aber ich wüsste nicht, warum. Die anderen OSDs laufen ja normal.

Edit:
Ich hatte mal eine OSD gelöscht und wollte die neu anlegen. KANN es sein, das es sich dabei um diese OSD handelt? Ist leider schon einige Wochen her und ein anderes Problem hatte mich dann davon abgebracht... ich dachte eigentlich das beim Löschen von OSDs sowohl config als auch LVM Partitionierung etc. gelöscht wird.

Hallo Ingo,

oft muss man danach noch LVM usw. löschen ich würde daher empfehlen mal die Disks komplett leer zuräumen. Ich gehe da immer wie folgt vor. Der Vollständigkeit halber erwähne ich die ersten 2 Schritte.
  • Ceph Disk über GUI löschen
  • Falls nicht angezeigt unter GUI dann via pveceph osd destroy
    • die osd sollte dann auch nicht mehr unter ceph osd tree erscheinen
    • falls das auch nicht ging kann man auch via ceph commands löschen
  • dann mittels lsblk prüfen ob das Device noch lvm Informationen enthält, dies ist in der Regel der Fall
  • man kann dann noch über die Device Ansicht in der GUI versuchen die Disks zu wipen
    • das geht leider auch nicht immer
    • hier hilft dann ein pvs, lvs, vgs und dann ein vgremove / pvremove / lvremove mit der jeweiligen Bezeichnung der zu löschenden Disk
    • danach mit lsblk gegenprüfen ob sie wirklich sauber ist
    • danach die Disks über die GUI mit GPT initialisieren (Usage: no, GPT: yes)
  • Die Disk erneut in Ceph integrieren
Hatte auch schonmal beim Erstellen von Disks ein Problem da half mir ein ceph auth del osd.X z.B. (konnte nicht evaluieren, System war neu und sauber, hatte aber für das Erstellen der OSD vorher den ceph auth del gebraucht.

LG Jonas
 
Last edited:
  • Like
Reactions: Ingo S
Also, ich habe die SSD einmal komplett geplättet. mit vgremove habe ich die LVM Signatur weg bekommen und konnte dann die SSD einfach neu anlegen.

Vermutlich hatte ich die SSD mal mit destroy gelöscht, bin aber wegen anderen Aufgaben davon ab gekommen weiter zu machen. interessant, das diese Reste übrig bleiben UND das dann noch nichtmal eine Fehlermeldung erzeugt wenn man versucht die "Reste" wieder zu aktivieren.
Naja gut, erstmal gelöst hier. Danke!
 
  • Like
Reactions: aaron and jsterr
Ich habs jetzt nochmal getestet, aber wenn man in der GUI eine OSD zerstört und die "Cleanup" Checkbox aktiviert, bzw. auf der CLI mit pveceph osd destroy --cleanup 1, sollte das LV/VG deaktiviert und entfernt werden.
 
  • Like
Reactions: Ingo S

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!