[SOLVED] Ceph recreate osd failed

Mario Hosse

Well-Known Member
Oct 25, 2017
51
6
48
Hallo,

ich möchte eine osd wieder aktivieren.

Versionen:
ceph 16.2.6
Proxmox Virtual Environment 7.0-11

blkid /dev/nvme7n1
/dev/nvme7n1: UUID="4wv0Jx-J7R1-qMEq-tBCD-8OD9-eebw-aBj0Ce" TYPE="LVM2_member"

NVME ist eine Intel DC4500 4TB Modell SSDPE2KX040T7

Dabei wird folgender Fehler ausgegeben und ich komme nicht weiter:
create OSD on /dev/nvme7n1 (bluestore)
wipe disk/partition: /dev/nvme7n1
200+0 records in
200+0 records out
209715200 bytes (210 MB, 200 MiB) copied, 0.327148 s, 641 MB/s
Running command: /usr/bin/ceph-authtool --gen-print-key
Running command: /usr/bin/ceph --cluster ceph --name client.bootstrap-osd --keyring /var/lib/ceph/bootstrap-osd/ceph.keyring -i - osd new 80b896c3-37da-4a80-8909-e22ea7864774
Running command: /sbin/vgcreate --force --yes ceph-51a7977f-6fbd-4f40-8b40-bc1749a05b43 /dev/nvme7n1
stdout: Physical volume "/dev/nvme7n1" successfully created.
stdout: Volume group "ceph-51a7977f-6fbd-4f40-8b40-bc1749a05b43" successfully created
Running command: /sbin/lvcreate --yes -l 953861 -n osd-block-80b896c3-37da-4a80-8909-e22ea7864774 ceph-51a7977f-6fbd-4f40-8b40-bc1749a05b43
stdout: Logical volume "osd-block-80b896c3-37da-4a80-8909-e22ea7864774" created.
Running command: /usr/bin/ceph-authtool --gen-print-key
Running command: /bin/mount -t tmpfs tmpfs /var/lib/ceph/osd/ceph-23
--> Executable selinuxenabled not in PATH: /sbin:/bin:/usr/sbin:/usr/bin
Running command: /bin/chown -h ceph:ceph /dev/ceph-51a7977f-6fbd-4f40-8b40-bc1749a05b43/osd-block-80b896c3-37da-4a80-8909-e22ea7864774
Running command: /bin/chown -R ceph:ceph /dev/dm-10
Running command: /bin/ln -s /dev/ceph-51a7977f-6fbd-4f40-8b40-bc1749a05b43/osd-block-80b896c3-37da-4a80-8909-e22ea7864774 /var/lib/ceph/osd/ceph-23/block
Running command: /usr/bin/ceph --cluster ceph --name client.bootstrap-osd --keyring /var/lib/ceph/bootstrap-osd/ceph.keyring mon getmap -o /var/lib/ceph/osd/ceph-23/activate.monmap
stderr: got monmap epoch 10
Running command: /usr/bin/ceph-authtool /var/lib/ceph/osd/ceph-23/keyring --create-keyring --name osd.23 --add-key xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==
stdout: creating /var/lib/ceph/osd/ceph-23/keyring
added entity osd.23 auth(key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx==)
Running command: /bin/chown -R ceph:ceph /var/lib/ceph/osd/ceph-23/keyring
Running command: /bin/chown -R ceph:ceph /var/lib/ceph/osd/ceph-23/
Running command: /usr/bin/ceph-osd --cluster ceph --osd-objectstore bluestore --mkfs -i 23 --monmap /var/lib/ceph/osd/ceph-23/activate.monmap --keyfile - --osd-data /var/lib/ceph/osd/ceph-23/ --osd-uuid 80b896c3-37da-4a80-8909-e22ea7864774 --setuser ceph --setgroup ceph
stderr: 2021-09-28T14:34:37.540+0200 7fbb09be9f00 -1 bluestore(/var/lib/ceph/osd/ceph-23/) _read_fsid unparsable uuid
stderr: ./src/common/PriorityCache.cc: In function 'void PriorityCache::Manager::balance()' thread 7fbadcb24700 time 2021-09-28T14:34:38.403468+0200
stderr: ./src/common/PriorityCache.cc: 301: FAILED ceph_assert(mem_avail >= 0)
stderr: ceph version 16.2.6 (1a6b9a05546f335eeeddb460fdc89caadf80ac7a) pacific (stable)
stderr: 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x124) [0x5646d9dbc92e]
stderr: 2: /usr/bin/ceph-osd(+0xabaab9) [0x5646d9dbcab9]
stderr: 3: (PriorityCache::Manager::balance()+0x478) [0x5646da9595f8]
stderr: 4: (BlueStore::MempoolThread::entry()+0xa29) [0x5646da3e9cd9]
stderr: 5: /lib/x86_64-linux-gnu/libpthread.so.0(+0x8ea7) [0x7fbb0a235ea7]
stderr: 6: clone()
stderr: 2021-09-28T14:34:38.404+0200 7fbadcb24700 -1 ./src/common/PriorityCache.cc: In function 'void PriorityCache::Manager::balance()' thread 7fbadcb24700 time 2021-09-28T14:34:38.403468+0200
stderr: ./src/common/PriorityCache.cc: 301: FAILED ceph_assert(mem_avail >= 0)
stderr: ceph version 16.2.6 (1a6b9a05546f335eeeddb460fdc89caadf80ac7a) pacific (stable)
stderr: 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x124) [0x5646d9dbc92e]
stderr: 2: /usr/bin/ceph-osd(+0xabaab9) [0x5646d9dbcab9]
stderr: 3: (PriorityCache::Manager::balance()+0x478) [0x5646da9595f8]
stderr: 4: (BlueStore::MempoolThread::entry()+0xa29) [0x5646da3e9cd9]
stderr: 5: /lib/x86_64-linux-gnu/libpthread.so.0(+0x8ea7) [0x7fbb0a235ea7]
stderr: 6: clone()
stderr: *** Caught signal (Aborted) **
stderr: in thread 7fbadcb24700 thread_name:bstore_mempool
stderr: ceph version 16.2.6 (1a6b9a05546f335eeeddb460fdc89caadf80ac7a) pacific (stable)
stderr: 1: /lib/x86_64-linux-gnu/libpthread.so.0(+0x14140) [0x7fbb0a241140]
stderr: 2: gsignal()
stderr: 3: abort()
stderr: 4: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x16e) [0x5646d9dbc978]
stderr: 5: /usr/bin/ceph-osd(+0xabaab9) [0x5646d9dbcab9]
stderr: 6: (PriorityCache::Manager::balance()+0x478) [0x5646da9595f8]
stderr: 7: (BlueStore::MempoolThread::entry()+0xa29) [0x5646da3e9cd9]
stderr: 8: /lib/x86_64-linux-gnu/libpthread.so.0(+0x8ea7) [0x7fbb0a235ea7]
stderr: 9: clone()
stderr: 2021-09-28T14:34:38.404+0200 7fbadcb24700 -1 *** Caught signal (Aborted) **
stderr: in thread 7fbadcb24700 thread_name:bstore_mempool
stderr: ceph version 16.2.6 (1a6b9a05546f335eeeddb460fdc89caadf80ac7a) pacific (stable)
stderr: 1: /lib/x86_64-linux-gnu/libpthread.so.0(+0x14140) [0x7fbb0a241140]
stderr: 2: gsignal()
stderr: 3: abort()
stderr: 4: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x16e) [0x5646d9dbc978]
stderr: 5: /usr/bin/ceph-osd(+0xabaab9) [0x5646d9dbcab9]
stderr: 6: (PriorityCache::Manager::balance()+0x478) [0x5646da9595f8]
stderr: 7: (BlueStore::MempoolThread::entry()+0xa29) [0x5646da3e9cd9]
stderr: 8: /lib/x86_64-linux-gnu/libpthread.so.0(+0x8ea7) [0x7fbb0a235ea7]
stderr: 9: clone()
stderr: NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
stderr: -2777> 2021-09-28T14:34:37.540+0200 7fbb09be9f00 -1 bluestore(/var/lib/ceph/osd/ceph-23/) _read_fsid unparsable uuid
stderr: -1> 2021-09-28T14:34:38.404+0200 7fbadcb24700 -1 ./src/common/PriorityCache.cc: In function 'void PriorityCache::Manager::balance()' thread 7fbadcb24700 time 2021-09-28T14:34:38.403468+0200
stderr: ./src/common/PriorityCache.cc: 301: FAILED ceph_assert(mem_avail >= 0)
stderr: ceph version 16.2.6 (1a6b9a05546f335eeeddb460fdc89caadf80ac7a) pacific (stable)
stderr: 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x124) [0x5646d9dbc92e]
stderr: 2: /usr/bin/ceph-osd(+0xabaab9) [0x5646d9dbcab9]
stderr: 3: (PriorityCache::Manager::balance()+0x478) [0x5646da9595f8]
stderr: 4: (BlueStore::MempoolThread::entry()+0xa29) [0x5646da3e9cd9]
stderr: 5: /lib/x86_64-linux-gnu/libpthread.so.0(+0x8ea7) [0x7fbb0a235ea7]
stderr: 6: clone()
stderr: 0> 2021-09-28T14:34:38.404+0200 7fbadcb24700 -1 *** Caught signal (Aborted) **
stderr: in thread 7fbadcb24700 thread_name:bstore_mempool
stderr: ceph version 16.2.6 (1a6b9a05546f335eeeddb460fdc89caadf80ac7a) pacific (stable)
stderr: 1: /lib/x86_64-linux-gnu/libpthread.so.0(+0x14140) [0x7fbb0a241140]
stderr: 2: gsignal()
stderr: 3: abort()
stderr: 4: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x16e) [0x5646d9dbc978]
stderr: 5: /usr/bin/ceph-osd(+0xabaab9) [0x5646d9dbcab9]
stderr: 6: (PriorityCache::Manager::balance()+0x478) [0x5646da9595f8]
stderr: 7: (BlueStore::MempoolThread::entry()+0xa29) [0x5646da3e9cd9]
stderr: 8: /lib/x86_64-linux-gnu/libpthread.so.0(+0x8ea7) [0x7fbb0a235ea7]
stderr: 9: clone()
stderr: NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
stderr: *** Caught signal (Segmentation fault) **
stderr: in thread 7fbadcb24700 thread_name:bstore_mempool
stderr: ceph version 16.2.6 (1a6b9a05546f335eeeddb460fdc89caadf80ac7a) pacific (stable)
stderr: 1: /lib/x86_64-linux-gnu/libpthread.so.0(+0x14140) [0x7fbb0a241140]
stderr: 2: pthread_getname_np()
stderr: 3: (ceph::logging::Log::dump_recent()+0x480) [0x5646da6fbd00]
stderr: 4: /usr/bin/ceph-osd(+0x11ed0e0) [0x5646da4ef0e0]
stderr: 5: /lib/x86_64-linux-gnu/libpthread.so.0(+0x14140) [0x7fbb0a241140]
stderr: 6: gsignal()
stderr: 7: abort()
stderr: 8: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x16e) [0x5646d9dbc978]
stderr: 9: /usr/bin/ceph-osd(+0xabaab9) [0x5646d9dbcab9]
stderr: 10: (PriorityCache::Manager::balance()+0x478) [0x5646da9595f8]
stderr: 11: (BlueStore::MempoolThread::entry()+0xa29) [0x5646da3e9cd9]
stderr: 12: /lib/x86_64-linux-gnu/libpthread.so.0(+0x8ea7) [0x7fbb0a235ea7]
stderr: 13: clone()
--> Was unable to complete a new OSD, will rollback changes
Running command: /usr/bin/ceph --cluster ceph --name client.bootstrap-osd --keyring /var/lib/ceph/bootstrap-osd/ceph.keyring osd purge-new osd.23 --yes-i-really-mean-it
stderr: purged osd.23
--> RuntimeError: Command failed with exit code 250: /usr/bin/ceph-osd --cluster ceph --osd-objectstore bluestore --mkfs -i 23 --monmap /var/lib/ceph/osd/ceph-23/activate.monmap --keyfile - --osd-data /var/lib/ceph/osd/ceph-23/ --osd-uuid 80b896c3-37da-4a80-8909-e22ea7864774 --setuser ceph --setgroup ceph
TASK ERROR: command 'ceph-volume lvm create --cluster-fsid 75f1cff9-0580-45a4-934b-40ae9ff832b7 --data /dev/nvme7n1' failed: exit code 1

Wie umgehe ich den Fehler "read_fsid unparsable uuid"?
Vielen Dank für eure Hilfe.

Solved with:
In der ceph.conf die Optionen bluestore_cache_* entfernt.
Remove option in ceph.conf bluestore_cache_*.
 
Last edited:
Tritt dieser Fehler immer auf? Oder funktioniert es zwischendurch auch?
Die Zeile _read_fsid ist irreführend, das eigentliche Problem findet man darunter:
Code:
stderr: -1> 2021-09-28T14:34:38.404+0200 7fbadcb24700 -1 ./src/common/PriorityCache.cc: In function 'void PriorityCache::Manager::balance()' thread 7fbadcb24700 time 2021-09-28T14:34:38.403468+0200
stderr: ./src/common/PriorityCache.cc: 301: FAILED ceph_assert(mem_avail >= 0)

Falls dieses Problem durchgehend auftritt, wäre es möglich das Debugging aufzudrehen?
Siehe https://docs.ceph.com/en/pacific/ra...g-and-debug/#subsystem-log-and-debug-settings

Die interessentan Subsystems wären bluestore und prioritycache. Der Wert sollte mindestens 10 sein.
 
Hallo Mira,

das Problem tritt immer auf. Ich bekomme die NVME nicht mehr in das Cluster.
Nur zur Sicherheit, das Debuggung aktiviere ich in der ceph.conf und dort unter:
[osd]
debug bluestore = 10/10

Den Wert debug prioritycache kann ich in der Liste nicht finden.
Mit der Aussage: prioritycache sollte den Wert 10 haben.
Wie kann ich den Abfragen und setzen?

Kann ich das Debugging zur Laufzeit aktivieren, sodass ich nur den create-Prozess aufzeichne?

Vielen Dank.
 
Last edited:
Ja, in der Liste taucht prioritycache nicht auf, man kann es jedoch in der Config setzen.
Hier habe ich es zum Testen unter [global] eingefügt.

debug bluestore sollte man zur Laufzeit auf den OSDs setzen können, bei prioritycache sollte es auch irgendwie möglich sein. Habe dazu jedoch nichts gefunden.
Es sollte aber reichen die Monitore neuzustarten.

Die Infos sieht man dann in den Monitor Logs.
 
Last edited:
Ich habe das Debugging aktiviert.
Hier das Log im Anhang von der zu aktivierenden Platte während der Erstellung. Wenn sonstige Dateien benötigt werden, einfach schreiben.
Danke.
 

Attachments

  • ceph-osd.23.log
    732.2 KB · Views: 2
Last edited:
Wie in meinem vorherigen Post erwähnt, sieht man die prioritycache Einträge in den Monitor Logs.
Wenn ich das richtig sehe, hat das Erstellen der OSD funktioniert? Wir bräuchten die Logs von einem das fehlschlägt.
 
Ja, das Erstellen funktioniert.

lsblk nvme7n1
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme7n1 259:7 0 3.6T 0 disk
└─ceph--71958e2c--c082--46e2--aadf--d7e8e238096b-osd--block--62d11d8c--c3e7--4d5f--b837--751b2e0704c2 253:10 0 3.6T 0 lvm
Aber die Aktivierung nicht. Im ceph.log sehe ich nur:

cluster [WRN] [WRN] RECENT_CRASH: 2 daemons have recently crashed

Im Anhang zwei Monitor Log Dateien verkürzt.
Ich kann in keinem der vier Montiorlogs den Wert prioritycache finden.
 

Attachments

  • ceph-mon.prox4d.log
    889.2 KB · Views: 0
  • ceph-mon.prox1a.log
    574.5 KB · Views: 1
Dann müssen womöglich noch andere Services restarted werden.
Könntest du es mal mit den Managern machen?

Bei meinem Testcluster sieht das so aus:
Code:
2021-09-29T20:06:48.937+0900 7f22c4f19700 10 prioritycache balance assigning cache bytes for PRI: 0
2021-09-29T20:06:48.937+0900 7f22c4f19700 10 prioritycache balance_priority full pri: 0 round: 0 wanted: -95 ratio: 0.375 cur_ratios: 1 fair_share: 302304460 mem_avail: 806145227
2021-09-29T20:06:48.937+0900 7f22c4f19700 10 prioritycache balance_priority kv pri: 0 round: 0 wanted: 128320 ratio: 0.25 cur_ratios: 1 fair_share: 201536306 mem_avail: 806145227
2021-09-29T20:06:48.937+0900 7f22c4f19700 10 prioritycache balance_priority inc pri: 0 round: 0 wanted: -95 ratio: 0.375 cur_ratios: 1 fair_share: 302304460 mem_avail: 806145227

Ich sehe gerade aber auch, dass sich diese Infos ebenfalls in den OSD Logs befinden.
 
Last edited:
Hallo Mira,

ich habe einmal die osd.19 neu gestartet.
Im Anhang ein Ausschnitt aus der Logdatei.
Mit der osd.23 kann ich es nicht machen, da diese nicht greifbar ist.

Könnte dies ein Hinweis auf das Problem sein:
ceph-volume-systemd.log
[2021-09-29 11:37:38,143][ceph_volume.process][INFO ] Running command: /usr/sbin/ceph-volume lvm trigger 23-ca6a451a-85a8-46fc-8cdb-d11c9a763a68
[2021-09-29 11:37:38,392][ceph_volume.process][INFO ] stderr --> RuntimeError: could not find osd.23 with osd_fsid ca6a451a-85a8-46fc-8cdb-d11c9a763a68
[2021-09-29 11:37:38,410][systemd][WARNING] command returned non-zero exit status: 1
[2021-09-29 11:37:38,410][systemd][WARNING] failed activating OSD, retries left: 1

ceph-volume lvm list
[block] /dev/ceph-71958e2c-c082-46e2-aadf-d7e8e238096b/osd-block-62d11d8c-c3e7-4d5f-b837-751b2e0704c2

block device /dev/ceph-71958e2c-c082-46e2-aadf-d7e8e238096b/osd-block-62d11d8c-c3e7-4d5f-b837-751b2e0704c2
block uuid q1oGo9-LIKH-GJwT-bq5V-xxnJ-nZsy-LcmdoB
cephx lockbox secret
cluster fsid 75f1cff9-0580-45a4-934b-40ae9ff832b7
cluster name ceph
crush device class None
encrypted 0
osd fsid 62d11d8c-c3e7-4d5f-b837-751b2e0704c2
osd id 23
osdspec affinity
type block
vdo 0
devices /dev/nvme7n1
 

Attachments

  • ceph-osd19.log
    485.6 KB · Views: 3
Last edited:
Dieses enthält die `prioritycache` Meldungen.
Jetzt muss das Erstellen einer OSD nur nochmal mit der gleichen Fehlermeldung fehlschlagen.
 
In der ceph.conf die Optionen bluestore_cache_* entfernt.
Hier:

[osd]
bluestore_cache_kv_max = 200G
bluestore_cache_kv_ratio = 0.2
bluestore_cache_meta_ratio = 0.8
bluestore_cache_size_ssd = 18G

Vielen Dank für die Hilfe mira.
 
Das heißt jetzt werden wieder die Defaults verwendet?
Damit sollte die Summe der Ratios auf 1 kommen, nicht darüber. Und somit sollte es dann auch problemlos funktionieren.
 
Ja, die Defaults werden verwendet. Die Optionen bluestore_cache_* wurden mit der Version 13.2.3 obsolet:

The bluestore_cache_* options are no longer needed. They are replaced by osd_memory_target, defaulting to 4GB. BlueStore will expand and contract its cache to attempt to stay within this limit. Users upgrading should note this is a higher default than the previous bluestore_cache_size of 1GB, so OSDs using BlueStore will use more memory by default.

Die Option osd_memory_target muss ich mir jetzt ansehen in Bezug auf einen Wert für nvme.
Du hattest recht mit dem Fehler: FAILED ceph_assert(mem_avail >= 0).
 

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!