[SOLVED] ceph tot > desaster recovery

lucentwolf

Member
Dec 19, 2019
29
8
23
Hallo Zusammen

Vielleicht kann mir jemand helfen; mein ceph ist tot & ich kann ihn nicht wiederbeleben :-(

Der betroffene Cluster hat
  • 7 Knoten
  • 2 OSDs je Knoten (1 x HDD, 1 x SSD)
  • 4 Pools: cephfs, hdd-only mit erasure, hdd-only mit 3/2, ssd-only mit 3/2
  • 3 ceph-mon auf n01 n03 n05 (wobei n01 seit > 1 Woche offline ist -> Hardware Wartung)
  • 3 ceph-mgr auf n02 n04 n06
  • Netzwerk (je Knoten 2 x 1g und 2 x 10g)
    • 1 x 1g Front (1 Switch)
    • 1 x 1g cluster (1 switch)
    • 2 x 10g (ceph front, ceph back/refill) (beide auf 1 switch)

Gestern abend 20:waren plötzlich alle VMs & CTs offline; Blick ins syslog von Node 2 (n02) offenbarte den Grund; mon2 auf n05 -> session lost; mon0 auf n01 ist nicht präsent (wie erwähnt seit > 1 Woche); und auch der Versuch mon1 auf n03 zu benützen schlägt fehl.

1710270186233.png
1710270511089.png
1710270533336.png

Wie man auch sieht, beschwert sich KNET darüber, dass die Verbindung zu host 3 down ist... Ein Blick weiter zurück im Protokoll zeigt, dass die KNET-Beschwerden über mangelnde Verbindung zu n03 schon länger andauern...

Habe alle nodes neu gestartet. Aktueller Status ist:
  • KNET-down-Meldungen kommen keine mehr
  • ceph-mon@n03 startet; ceph-mon@n05 startet nicht:
    • 1710271226283.png
  • ceph-mgr startet auf n02 n04 n06 n07; jedoch nicht auf den beiden nodes, auf welchen die ceph-mon laufen (sollten) nämlich n03 und n05
    • 1710271403563.png
    • offenbar AUTH; wobei das keyring-file in /var/lib/ceph/mgr/ceph-n04 fehlt (obgleich 'Permission denied' steht)
    • 1710271556077.png
    • und auf n03: 'No such file...' -> was korrekt ist - es fehlt
Status im GUI:
1710271775139.png
1710271826022.png
1710271855624.png
1710271879202.png

...und nun die spannende Frage: Kann dieser Ceph von den Toten Auferstehen - und wo/wie könnte ich ansetzen?

lG lucentwolf
 
Hi, du hättest bei einer länger dauernden Wartung einen weiteren Monitor bestimmen sollen.
Derzeit läuft laut GUI gar kein Manager, kannst du einen Manager aktivieren?
Versuch mal im derzeitigen Zustand einen weiteren Monitor hinzu zu fügen.
Das könnte den Cluster schnell wieder online bringen für die richtigen Aufräumarbeiten.
 
Hi, du hättest bei einer länger dauernden Wartung einen weiteren Monitor bestimmen sollen.
Derzeit läuft laut GUI gar kein Manager, kannst du einen Manager aktivieren?
Versuch mal im derzeitigen Zustand einen weiteren Monitor hinzu zu fügen.
Das könnte den Cluster schnell wieder online bringen für die richtigen Aufräumarbeiten.
...interessanterweise läuft ja (bis auf n03 und n05) ceph-mgr@n..:
1710280609250.png

Das hinzufügen eines Monitors oder Managers funktioniert nicht (Timeout) - auch auf der Console läuft zB ein **ceph -s** ebenfalls timeout
 
Last edited:
Ich habe jetzt erst gelesen, dass du alle Nodes neu gestartet hast. Jetzt wird es deutlich aufwendiger.
Außerdem ist ein Setup mit nur einer Disk pro Node im Poll nicht empfohlen. Ist jetzt aber das geringste Problem.
...wobei die Situation vor dem Reboot ident war :-/
Läuft denn ein Manager? Ohne einen laufenden Dienst wird das Nix.
...wenn damit zB ein ceph-mgr@n02 gemeint ist - ja läuft laut systemctl status... Und dennoch sehe ich im GUI keine Manager angeführt :-(
 
Hallo Falk & alle

Folgendes update kann ich geben:
ich konnte den keyring für die nicht startenden ceph-mgr erstellen:

Code:
touch /var/lib/ceph/mgr/ceph-n03/keyring
ceph-authtool /var/lib/ceph/mgr/ceph-n03/keyring --gen-key -n mgr.n03

...und somit läuft auf allen Knoten jetzt ein ceph-mgr-daemon.

Jedoch: Ein Socket in /var/run/ceph läuft nur für ceph-mon.n03 - keiner der ceph-mgr.nX macht einen Socket auf...
 
...und: Knoten n05 ist tot - die Sys-SSD hat sich verabschiedet (das war wohl auch die urpsrüngliche Ursache der Misere). Damit ist n03 der einzige verbliebene mon :-/
 
Wenn ein Manager läuft, dann lege noch zwei weitere Monitor an.
Der ceph-mgr daemon läuft:
1710413082864.png
Der ceph-mon daemon läuft:
1710413159850.png
dennoch läuft pveceph sowie das proxmox-UI ins Timeout- zB beim Versuch neue Monitore und/oder Manager zu kreieren :-( Vermutlich weil auf /var/run/ceph/ nur ein ceph-mon socket läuft (kein ceph-mgr socket);
1710413529261.png
 

Attachments

  • 1710413468246.png
    1710413468246.png
    866.9 KB · Views: 1
  • 1710413483714.png
    1710413483714.png
    866.9 KB · Views: 1
Ich hab den thread nur kurz überflogen, aber AFAIU sind 3 MONs in der Ceph conf, im Screenshot sieht man nur noch 2, und davon ist einer (n05) down?

Das bedeutet, der letzte MON wird nie ein Quorum haben.
Du wirst die interne monmap aus dem letzten MON ziehen müssen, alle anderen Einträge bis auf den letzten MON raus löschen und wieder injecten.
Wie das geht ist hier in den Ceph docs erklärt: https://docs.ceph.com/en/latest/rad...ing-mon/#recovering-a-monitor-s-broken-monmap
Variante B und dann wird 1->b zutreffen. Und nachdem du die rausgeholt hast, kannst du sie mit monmaptool --print anzeigen lassen. Mit monmaptool --rm {mon} kannst du die anderen toten MONs löschen.

In der /etc/pve/ceph.conf sollten dann die anderen MONs gelöscht werden. Die einzelnen Sections und deren IPs in der mon_host Zeile.

Danach startet der letzte MON hoffentlich sauber und kann arbeiten, da er als einzelner MON Quorum hat.

Wenn der Cluster wieder läuft, erstell ASAP neue MONs. Den letzten MON darfst du nicht auch verlieren :)
 
Hallo Aaron
...vielen Dank für die Hinweise & Links - leider gibt
Code:
ceph mon getmap -o /tmp/monmap
ein timeout :-(


[EDIT]
sry - eben gesehen ich muss mit Variante B verfahren - wie du erwähnt hast ^^
 
Last edited:
Hallo Aaron
...vielen Dank für die Hinweise & Links - leider gibt
Code:
ceph mon getmap -o /tmp/monmap
ein timeout :-(


[EDIT]
sry - eben gesehen ich muss mit Variante B verfahren - wie du erwähnt hast ^^
rocksdb: IO error...
1710422122785.png

[EDIT]
nb: auf einem anderen, gesunden ceph cluster bekomme ich dieselbe Meldung...
[EDIT2]
...musste den ceph-mon@.n03 daemon erst stoppen... dann ging's
 
Last edited:
Mal zum eigentlichen Design.
Monitors immer mind. 3 und max. 5. Ich nutze 5 Mons eigentlich nur bei Clustern mit mehr als 11 Nodes oder wenn das Raumsetup das empfiehlt.
Manager kannst du so viele bauen wie du möchtest, aber in der Regel reichen da 2-3.
Metadaten Server sind ja für das CephFS, da würde ich auch lieber 3 nutzen. ;)
 
  • Like
Reactions: lucentwolf
Mal zum eigentlichen Design.
Monitors immer mind. 3 und max. 5. Ich nutze 5 Mons eigentlich nur bei Clustern mit mehr als 11 Nodes oder wenn das Raumsetup das empfiehlt.
Manager kannst du so viele bauen wie du möchtest, aber in der Regel reichen da 2-3.
Metadaten Server sind ja für das CephFS, da würde ich auch lieber 3 nutzen. ;)
Hallo Falk - vielen Dank für diese Tips & deine Mithilfe hier im Thread!
 
Sind immer noch die 13 PGs als Down markiert? Evtl. sind keine OSDs mehr aktuell live auf denen mindestens eine Replica davon da ist.
 
...die 13 PGs habe ich online bekommen, indem ich die beiden blockierenden OSD's des ausgefallenen Knotens n05 als 'lost' markiert habe. Nach einigen Stunden waren dann alle PGs 'active+clean' & ausnahmslos alle VMs und CTs ließen sich starten... NULL Datenverlust; keine Restores nötig ^^ :cool:
 

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!