Ceph reinstallieren

aGro

Member
Feb 22, 2021
81
5
13
45
Hallo zusammen,

ich würde Ceph gern neu installieren auf einem Node eines Clusters bestehend aus 4 Nodes. Da ich beim Installieren wahrscheinlich einen Zahlendreher beim public- oder cluster-network hatte, würde ich Ceph auf diesem Node einfach gern nochmal neu installieren. Den Node habe ich bereits aus dem Ceph-Monitoring rausgenommen und aus der ceph.conf.
Da ich den Cluster nicht zerstören möchte, hier die Frage, ob ich mit diesem Befehl das Ceph dieses einen Nodes einfach löschen kann um es hinterher nochmal neu zu installieren?

apt purge ceph ceph-osd ceph-mds ceph-mon ceph-mgr ceph-base

Ist das ok oder löscht es dabei Dateien vom ganzen Cluster?
 
Hmm, die Pakete wirst du nicht entfernen müssen. Du kannst die konfigurierten Dienste entfernen und neu erstellen.

Da ich beim Installieren wahrscheinlich einen Zahlendreher beim public- oder cluster-network hatte, würde ich Ceph auf diesem Node einfach gern nochmal neu installieren
Haben die anderen Nodes im Cluster noch gar kein Ceph installiert/konfiguriert? Das ist also die erste Node in dem Cluster die Ceph installiert bekommt? Falls ja, dann kannst du alle Dienste (MON, MGR, OSD, MDS) entfernen und die /etc/pve/ceph.conf entweder anpassen, oder entfernen.

Wenn die die ceph.conf löscht, wird der Assistent für die Erstkonfiguration wieder angezeigt.

Beim Löschen der Dienste gehst du am besten wie folgt vor: MDS -> OSDs -> MGR -> MON.

Evtl. musst du ein paar Dienste manuell aufräumen. Das beinhaltet meistens ein entfernen der systemd Dienste und löschen der Ordner in denen lokal die Daten des Dienstes liegen. Für einen Mon z.B.:

Code:
systemctl disable ceph-mon@<mon id>.service
rm -rf /var/lib/ceph/mon/ceph-<mon id>/

Dann kannst du wieder von vorne beginnen: MON -> MGR -> OSD...
 
Haben die anderen Nodes im Cluster noch gar kein Ceph installiert/konfiguriert? Das ist also die erste Node in dem Cluster die Ceph installiert bekommt? Falls ja, dann kannst du alle Dienste (MON, MGR, OSD, MDS) entfernen und die /etc/pve/ceph.conf entweder anpassen, oder entfernen.
Doch die anderen 3 Nodes haben Ceph installiert und konfiguriert.
 
Last edited:
Doch die anderen 3 Nodes haben Ceph installiert.
Okay. Wo hat sich der Zahlendreher bei den Netzen dann eingeschlichen? In der Netzwerkkonfig der Node selber? Also auf welcher NIC welches Netz liegt?

Dann sollte es mit einem entfernen der Dienste auf der Node und dem Umkonfigurieren des Netzes erledigt sein.
 
Nein, man gibt doch beim Ceph installieren in der WebGui das Public-Network und das Cluster-Network ein. Und dort habe ich mich vertan. Die Netzwerkeinstellungen am Node selber sind korrekt.
 
Ah ok, das heißt, die MONs, MGR usw verwenden das "falsche" Netz. Ceph ist wohl auch schon in Verwendung?

Alle Nodes haben vollen Zugriff auf die zwei Netze und können Sich entsprechend pingen? Dann ist ein Wechsel gar nicht so mühsam.

Du kannst die Netze in der /etc/pve/ceph.conf ändern, aber bitte nur die Netze selber, die IPs der MON lass wie sie sind. Dann die Dienste neu starten, z.B. für OSDs systemctl restart ceph-osd.target (bis auf die MON) und nur eine Node gleichzeitig, damit immer genug Replicas vorhanden sind. Mit einem ss -tupln | grep ceph davor und danach solltest du sehen, dass die Dienste sich auf die anderen IPs binden.

Da die MONs nicht nur in der ceph.conf die IPs haben, sondern auch in der monmap, ist es am einfachsten, die MONs zu löschen und neu zu erstellen. Natürlich immer nur ein MON nach dem anderen, so dass es immer genug MONs im Cluster gibt.
 
Ah ok, das heißt, die MONs, MGR usw verwenden das "falsche" Netz. Ceph ist wohl auch schon in Verwendung?
Ja, Ceph ist schon in Verwendung.
Könntest du mir evtl. noch mitteilen, welche Dienste neu gestartet werden müssen?
 
Könntest du mir evtl. noch mitteilen, welche Dienste neu gestartet werden müssen?
Alle Ceph Dienste, bis auf die MONs sind das die OSDs, MGR und MDS (falls ein Ceph FS verwendet wird). Mit den .target systemd units, kannst du alle auf einer Node auf einmal neu starten. Macht es bei vielen OSDs einfacher. Wie gesagt, immer pro Node damit es genug Redundanz gibt und warten bis es Ceph wieder gut geht bevor weiter gemacht wird.
 
Ich muss aber auf dem einen Node schon zuerst das Monitoring wieder erstellen? Denn das hatte ich ja entfernt.
 
Ok, ich habe bei dem Node, bei dem ich Ceph neu konfiguriert habe, das Monitoring wieder hinzugefügt. Quorum läuft auch.
1669729568943.png

Wenn ich auf dem Node aber nun die OSD's hinzufügen möchte, kommt diese Fehlermeldung:
1669729656798.png

Kann mir einer sagen, was da genau schief läuft?
 
Kannst du mal deine ceph.conf und den Output von ceph -s posten?

Error connecting to the cluster klingt mal so, als wenns da doch irgendwo ein Netzwerk Problem gibt
 
Hallo Aaron,

hier ceph -s
1669788497870.png

und noch die ceph.conf
1669788665838.png
....jeder Node ist von dem Anderen anpingbar.
 
In der Config vermisse ich in der Sektion global die folgende Zeile
Code:
mon_host = 192.168.75.3 192.168.75.2 192.168.75.1 192.168.75.4
Füg die mal hinzu und versuchs dann wieder.
 
Selbe Fehlermeldung....muss ich irgendeinen Dienst nochmal neustarten?
Die ceph.conf sieht jetzt so aus...
1669795923885.png
 
Ah, ich hab gestern übersehen, dass du direkt mit ceph-volume die OSD erstellen willst.

Machs auf einem PVE lieber mit pveceph osd create /dev/sdX oder über die GUI.
Optionale Parameter für den CLI Befehl siehst du via man pveceph oder hier: https://pve.proxmox.com/pve-docs/pveceph.1.html
 
Ok, so war es erfolgreich, aber es kommen erstens ein paar Warnmeldungen mit....
Code:
root@mc-me-vh06:~# pveceph osd create /dev/sdd
create OSD on /dev/sdd (bluestore)
wipe disk/partition: /dev/sdd
200+0 records in
200+0 records out
209715200 bytes (210 MB, 200 MiB) copied, 0.273643 s, 766 MB/s
Warning: Partition table header claims that the size of partition table
entries is 0 bytes, but this program  supports only 128-byte entries.
Adjusting accordingly, but partition table may be garbage.
Warning: Partition table header claims that the size of partition table
entries is 0 bytes, but this program  supports only 128-byte entries.
Adjusting accordingly, but partition table may be garbage.
Creating new GPT entries.
GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities.
Warning: Partition table header claims that the size of partition table
entries is 0 bytes, but this program  supports only 128-byte entries.
Adjusting accordingly, but partition table may be garbage.
Warning: Partition table header claims that the size of partition table
entries is 0 bytes, but this program  supports only 128-byte entries.
Adjusting accordingly, but partition table may be garbage.
Creating new GPT entries.
The operation has completed successfully.
Setting name!
partNum is 0
REALLY setting name!
The operation has completed successfully.
Setting name!
partNum is 1
REALLY setting name!
The operation has completed successfully.
The operation has completed successfully.
meta-data=/dev/sdd1              isize=2048   agcount=4, agsize=6336 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=0, rmapbt=0, reflink=0
data     =                       bsize=4096   blocks=25344, imaxpct=25
         =                       sunit=64     swidth=64 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=1608, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
The operation has completed successfully.
root@mc-me-vh06:~#

...und zweitens ist der Node nun im Monitoring down.
1669796750809.png

Führe ich einen Restart (+status) des Ceph auf diesem Node durch...
1669796939445.png

journalctl -xe bringt dies....
1669797055735.png
 
Zum permission Denied Fehler, schau dir die Permissions im Verzeichnis /var/lib/ceph/mon/ceph-<hostname> an.
Das sollte eigentlich alles dem User und Gruppe "ceph" gehören.

Evtl. auch mal ein chown -R ceph:ceph /var/lib/ceph/mon/ceph-<hostname> machen.

Bevor du den Mon dann wieder starten kannst, wirst du evtl. noch ein systemctl reset-failed ceph-mon@<hostname> machen müssen.
 
Hallo Aaron,

das hat geholfen, das Monitoring für diesen Node wieder zum Laufen zu bringen. Danke!
Nur leider gilt das nicht für die OSD's. Wenn ich die Platten hinzufüge per pveceph osd create /dev/sdb kommen weiterhin die Warnmeldungen mit dem Partition table header (wie oben) und die OSD's tauchen nicht unter Ceph/OSD auf. Was noch etwas komisch ist, dass der Host auch nicht unter dem Default gelistet wird.
1669892325174.png
 

Attachments

  • 1669892302632.png
    1669892302632.png
    49.3 KB · Views: 0
Kannst du bitte mal die CRUSH map posten? Am besten innerhalb von [code][/code] tags. Du solltest sie in der GUI unter Node -> Ceph -> Configuration auf der rechten Seite finden.
 

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!