[SOLVED] Cannot Down and Remove the last remaining CEPH OSD from previous pool

Mihai

Renowned Member
Dec 22, 2015
104
8
83
39
Info:

Code:
proxmox-ve: 7.1-1 (running kernel: 5.13.19-6-pve)
pve-manager: 7.1-12 (running version: 7.1-12/b3c09de3)
pve-kernel-helper: 7.1-14
pve-kernel-5.13: 7.1-9
pve-kernel-5.11: 7.0-10
pve-kernel-5.13.19-6-pve: 5.13.19-15
pve-kernel-5.13.19-3-pve: 5.13.19-7
pve-kernel-5.13.19-2-pve: 5.13.19-4
pve-kernel-5.11.22-7-pve: 5.11.22-12
ceph: 15.2.16-pve1
ceph-fuse: 15.2.16-pve1
corosync: 3.1.5-pve2
criu: 3.15-1+pve-1
glusterfs-client: 9.2-1
ifupdown: residual config
ifupdown2: 3.1.0-1+pmx3
ksm-control-daemon: 1.4-1
libjs-extjs: 7.0.0-1
libknet1: 1.22-pve2
libproxmox-acme-perl: 1.4.1
libproxmox-backup-qemu0: 1.2.0-1
libpve-access-control: 7.1-7
libpve-apiclient-perl: 3.2-1
libpve-common-perl: 7.1-5
libpve-guest-common-perl: 4.1-1
libpve-http-server-perl: 4.1-1
libpve-storage-perl: 7.1-1
libqb0: 1.0.5-1
libspice-server1: 0.14.3-2.1
lvm2: 2.03.11-2.1
lxc-pve: 4.0.11-1
lxcfs: 4.0.11-pve1
novnc-pve: 1.3.0-2
proxmox-backup-client: 2.1.5-1
proxmox-backup-file-restore: 2.1.5-1
proxmox-mini-journalreader: 1.3-1
proxmox-widget-toolkit: 3.4-7
pve-cluster: 7.1-3
pve-container: 4.1-4
pve-docs: 7.1-2
pve-edk2-firmware: 3.20210831-2
pve-firewall: 4.2-5
pve-firmware: 3.3-6
pve-ha-manager: 3.3-3
pve-i18n: 2.6-2
pve-qemu-kvm: 6.1.1-2
pve-xtermjs: 4.16.0-1
qemu-server: 7.1-4
smartmontools: 7.2-pve2
spiceterm: 3.2-2
swtpm: 0.7.1~bpo11+1
vncterm: 1.7-1
zfsutils-linux: 2.1.4-pve1

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 ssd
device 3 osd.3 class ssd
device 4 osd.4 class hdd
device 5 osd.5 class hdd
device 6 osd.6 class hdd
device 7 osd.7 class hdd
device 8 osd.8 class ssd
device 9 osd.9 class hdd
device 10 osd.10 class hdd
device 16 osd.16 class hdd
device 17 osd.17 class hdd
device 18 osd.18 class hdd
device 19 osd.19 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 VMHost2 {
    id -3        # do not change unnecessarily
    id -4 class hdd        # do not change unnecessarily
    id -9 class ssd        # do not change unnecessarily
    # weight 16.297
    alg straw2
    hash 0    # rjenkins1
    item osd.0 weight 3.638
    item osd.1 weight 3.638
    item osd.6 weight 3.638
    item osd.9 weight 3.638
    item osd.3 weight 1.746
}
host VMHost4 {
    id -7        # do not change unnecessarily
    id -8 class hdd        # do not change unnecessarily
    id -11 class ssd        # do not change unnecessarily
    # weight 16.297
    alg straw2
    hash 0    # rjenkins1
    item osd.4 weight 3.638
    item osd.5 weight 3.638
    item osd.7 weight 3.638
    item osd.10 weight 3.638
    item osd.8 weight 1.746
}
host vmhost3 {
    id -5        # do not change unnecessarily
    id -6 class hdd        # do not change unnecessarily
    id -10 class ssd        # do not change unnecessarily
    # weight 16.301
    alg straw2
    hash 0    # rjenkins1
    item osd.16 weight 3.639
    item osd.17 weight 3.639
    item osd.18 weight 3.639
    item osd.19 weight 3.639
    item osd.2 weight 1.747
}
root default {
    id -1        # do not change unnecessarily
    id -2 class hdd        # do not change unnecessarily
    id -12 class ssd        # do not change unnecessarily
    # weight 48.895
    alg straw2
    hash 0    # rjenkins1
    item VMHost2 weight 16.297
    item VMHost4 weight 16.297
    item vmhost3 weight 16.301
}

# rules
rule replicated_hdd {
    id 1
    type replicated
    min_size 1
    max_size 10
    step take default class hdd
    step chooseleaf firstn 0 type host
    step emit
}
rule replicated_ssd {
    id 2
    type replicated
    min_size 1
    max_size 10
    step take default class ssd
    step chooseleaf firstn 0 type host
    step emit
}

# end crush map

Problem:


I have 3 hosts with 2 ceph pools. An ssd pool and an hdd pool. I want to remove the hdd pool and all of the osds.

I was able to delete the ceph hdd pool and I took out all of the osds, except the last one. No matter which it is, I cannot DOWN the last osd either through the GUI or via CLI:

Code:
systemctl stop ceph-osd@0

I also cannot purge it:

Code:
ceph osd purge 0 --yes-i-really-mean-it
Error EBUSY: osd.0 is not `down`.

1650032739796.png

Here's are latest entries for the log for osd.0

Code:
** File Read Latency Histogram By Level [default] **

2022-04-15T09:12:14.362-0500 7f1f4c81fd80  1 bluestore(/var/lib/ceph/osd/ceph-0) _upgrade_super from 4, latest 4
2022-04-15T09:12:14.362-0500 7f1f4c81fd80  1 bluestore(/var/lib/ceph/osd/ceph-0) _upgrade_super done
2022-04-15T09:12:14.398-0500 7f1f4c81fd80  0 <cls> ./src/cls/cephfs/cls_cephfs.cc:198: loading cephfs
2022-04-15T09:12:14.398-0500 7f1f4c81fd80  0 _get_class not permitted to load kvs
2022-04-15T09:12:14.418-0500 7f1f4c81fd80  0 <cls> ./src/cls/hello/cls_hello.cc:312: loading cls_hello
2022-04-15T09:12:14.498-0500 7f1f4c81fd80  0 _get_class not permitted to load queue
2022-04-15T09:12:14.498-0500 7f1f4c81fd80  0 _get_class not permitted to load sdk
2022-04-15T09:12:14.498-0500 7f1f4c81fd80  0 _get_class not permitted to load lua
2022-04-15T09:12:14.510-0500 7f1f4c81fd80  0 osd.0 8490937 crush map has features 288514051259236352, adjusting msgr requires for clients
2022-04-15T09:12:14.510-0500 7f1f4c81fd80  0 osd.0 8490937 crush map has features 288514051259236352 was 8705, adjusting msgr requires for mons
2022-04-15T09:12:14.510-0500 7f1f4c81fd80  0 osd.0 8490937 crush map has features 3314933000852226048, adjusting msgr requires for osds
2022-04-15T09:12:14.670-0500 7f1f4c81fd80  0 osd.0 8490937 load_pgs
2022-04-15T09:12:18.014-0500 7f1f4c81fd80  0 osd.0 8490937 load_pgs opened 7 pgs
2022-04-15T09:12:18.014-0500 7f1f4c81fd80 -1 osd.0 8490937 log_to_monitors {default=true}
2022-04-15T09:12:18.254-0500 7f1f43534700  4 rocksdb: [db/compaction_job.cc:1327] [default] [JOB 3] Generated table #42618: 560235 keys, 28096695 bytes
2022-04-15T09:12:18.254-0500 7f1f43534700  4 rocksdb: EVENT_LOG_v1 {"time_micros": 1650031938260515, "cf_name": "default", "job": 3, "event": "table_file_creation", "file_number": 42618, "file_si>
2022-04-15T09:12:18.254-0500 7f1f43534700  4 rocksdb: [db/compaction_job.cc:1392] [default] [JOB 3] Compacted 4@0 + 1@1 files to L1 => 28096695 bytes
2022-04-15T09:12:18.262-0500 7f1f43534700  4 rocksdb: (Original Log Time 2022/04/15-09:12:18.268210) [db/compaction_job.cc:751] [default] compacted to: files[0 1 1 0 0 0 0] max score 0.56, MB/sec>

2022-04-15T09:12:18.262-0500 7f1f43534700  4 rocksdb: (Original Log Time 2022/04/15-09:12:18.268240) EVENT_LOG_v1 {"time_micros": 1650031938268226, "job": 3, "event": "compaction_finished", "comp>
2022-04-15T09:12:18.262-0500 7f1f43534700  4 rocksdb: EVENT_LOG_v1 {"time_micros": 1650031938268405, "job": 3, "event": "table_file_deletion", "file_number": 42613}
2022-04-15T09:12:18.262-0500 7f1f43534700  4 rocksdb: EVENT_LOG_v1 {"time_micros": 1650031938268441, "job": 3, "event": "table_file_deletion", "file_number": 42610}
2022-04-15T09:12:18.262-0500 7f1f43534700  4 rocksdb: EVENT_LOG_v1 {"time_micros": 1650031938268483, "job": 3, "event": "table_file_deletion", "file_number": 42607}
2022-04-15T09:12:18.262-0500 7f1f43534700  4 rocksdb: EVENT_LOG_v1 {"time_micros": 1650031938268531, "job": 3, "event": "table_file_deletion", "file_number": 42604}
2022-04-15T09:12:18.262-0500 7f1f43534700  4 rocksdb: EVENT_LOG_v1 {"time_micros": 1650031938268577, "job": 3, "event": "table_file_deletion", "file_number": 42602}
2022-04-15T09:12:18.374-0500 7f1f4c81fd80  0 osd.0 8490937 done with init, starting boot process
2022-04-15T09:12:18.398-0500 7f1f45d39700 -1 osd.0 8490937 set_numa_affinity unable to identify public interface '' numa node: (2) No such file or directory
2022-04-15T09:15:07.283-0500 7f1f48fcf700 -1 received  signal: Terminated from /sbin/init  (PID: 1) UID: 0
2022-04-15T09:15:07.283-0500 7f1f48fcf700 -1 osd.0 8490968 *** Got signal Terminated ***
2022-04-15T09:15:07.283-0500 7f1f48fcf700 -1 osd.0 8490968 *** Immediate shutdown (osd_fast_shutdown=true) ***

I don't see any error messages for downing the osd.

I tried the following flags: nobackfill, norebalance, norecover but those didn't do anything.

If I start up one OSD on the other hosts, then I can down osd.0 but then if I try and bring down the other osds the LAST osb always stays UP.

What can I do to remove this last osd cleanly?
 
Last edited:
I started destroying the old osd, leaving 1 on each host, and I just went back in and noticed that the final osd was down!

I'm not sure if it was just a matter of time or what happened, but the problem appears to have resolved itself.
 

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!