Re: Ceph orchestrator not refreshing device list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Eugen,

Thanks again for taking the time to help us with this.

Here are answers to your questions:

Nothing stands out from the mgr logs. Even when `ceph orch device ls` stops reporting, it still shows a claim on the osd in the logs when I run it:

Sep 27 09:39:24 ceph-mon3 bash[476409]: debug 2024-09-27T13:39:24.731+0000 7fd4dc6fa700  0 [cephadm INFO root] Found osd claims -> {'ceph-osd31': ['88']}
Sep 27 09:39:24 ceph-mon3 bash[476409]: debug 2024-09-27T13:39:24.731+0000 7fd4dc6fa700  0 log_channel(cephadm) log [INF] : Found osd claims -> {'ceph-osd31': ['88']}
Sep 27 09:39:24 ceph-mon3 bash[476409]: debug 2024-09-27T13:39:24.731+0000 7fd4dc6fa700  0 [cephadm INFO cephadm.services.osd] Found osd claims for drivegroup ceph-osd31 -> {'ceph-osd31': ['88']}
Sep 27 09:39:24 ceph-mon3 bash[476409]: debug 2024-09-27T13:39:24.731+0000 7fd4dc6fa700  0 log_channel(cephadm) log [INF] : Found osd claims for drivegroup ceph-osd31 -> {'ceph-osd31': ['88’]}


Here’s a sample of mgr logs right after a mgr failover (I’ve filtered out some noise from pgmap, prometheus, pg_autoscaler, balancer, and progress):

Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.006+0000 7f8d2f15c700  1 mgr handle_mgr_map Activating!
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.006+0000 7f8d2f15c700  1 mgr handle_mgr_map I am now activating
Sep 27 09:55:18 ceph-mon3 bash[476409]: [27/Sep/2024:13:55:18] ENGINE HTTP Server cherrypy._cpwsgi_server.CPWSGIServer(('::', 9283)) shut down
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.102+0000 7f8c4baa7700  0 [cephadm DEBUG root] setting log level based on debug_mgr: INFO (2/5)
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.202+0000 7f8c4baa7700  1 mgr load Constructed class from module: cephadm
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.206+0000 7f8c4baa7700  0 [crash DEBUG root] setting log level based on debug_mgr: INFO (2/5)
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.206+0000 7f8c4baa7700  1 mgr load Constructed class from module: crash
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.222+0000 7f8c4baa7700  0 [devicehealth DEBUG root] setting log level based on debug_mgr: INFO (2/5)
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.222+0000 7f8c4baa7700  1 mgr load Constructed class from module: devicehealth
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.222+0000 7f8c3e28c700  0 [devicehealth INFO root] Starting
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.238+0000 7f8c4baa7700  0 [orchestrator DEBUG root] setting log level based on debug_mgr: INFO (2/5)
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.242+0000 7f8c4baa7700  1 mgr load Constructed class from module: orchestrator
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.318+0000 7f8c4baa7700  0 [rbd_support DEBUG root] setting log level based on debug_mgr: INFO (2/5)
Sep 27 09:55:18 ceph-mon3 bash[476409]: [27/Sep/2024:13:55:18] ENGINE Bus STARTING
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.346+0000 7f8c31272700  0 [rbd_support INFO root] recovery thread starting
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.346+0000 7f8c31272700  0 [rbd_support INFO root] starting setup
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.354+0000 7f8c4baa7700  1 mgr load Constructed class from module: rbd_support
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.358+0000 7f8c31272700  0 [rbd_support INFO root] MirrorSnapshotScheduleHandler: load_schedules
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.370+0000 7f8c31272700  0 [rbd_support INFO root] load_schedules: rbd, start_after=
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.374+0000 7f8c4baa7700  0 [status DEBUG root] setting log level based on debug_mgr: INFO (2/5)
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.374+0000 7f8c4baa7700  1 mgr load Constructed class from module: status
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.378+0000 7f8c4baa7700  0 [telemetry DEBUG root] setting log level based on debug_mgr: INFO (2/5)
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.378+0000 7f8c4baa7700  1 mgr load Constructed class from module: telemetry
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.382+0000 7f8c4baa7700  0 [volumes DEBUG root] setting log level based on debug_mgr: INFO (2/5)
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.386+0000 7f8c31272700  0 [rbd_support INFO root] load_schedules: images, start_after=
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.390+0000 7f8c31272700  0 [rbd_support INFO root] load_schedules: volumes, start_after=
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.394+0000 7f8c31272700  0 [rbd_support INFO root] load_schedules: vms, start_after=
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.398+0000 7f8c31272700  0 [rbd_support INFO root] load_schedules: backups, start_after=
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.402+0000 7f8c21252700  0 [rbd_support INFO root] MirrorSnapshotScheduleHandler: starting
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.402+0000 7f8c1fa4f700  0 [rbd_support INFO root] PerfHandler: starting
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.422+0000 7f8c31272700  0 [rbd_support INFO root] load_task_task: rbd, start_after=
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.430+0000 7f8c4baa7700  1 mgr load Constructed class from module: volumes
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.434+0000 7f8c31272700  0 [rbd_support INFO root] load_task_task: images, start_after=
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.446+0000 7f8c31272700  0 [rbd_support INFO root] load_task_task: volumes, start_after=
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.458+0000 7f8c31272700  0 [rbd_support INFO root] load_task_task: vms, start_after=
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.870+0000 7f8c3e28c700  0 [devicehealth INFO root] Check health
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.874+0000 7f8c31272700  0 [rbd_support INFO root] load_task_task: backups, start_after=
Sep 27 09:55:18 ceph-mon3 bash[476409]: [27/Sep/2024:13:55:18] ENGINE Serving on http://:::9283
Sep 27 09:55:18 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:18.914+0000 7f8c179bf700  0 [rbd_support INFO root] TaskHandler: starting
Sep 27 09:55:19 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:19.106+0000 7f8c31272700  0 [rbd_support INFO root] TrashPurgeScheduleHandler: load_schedules
Sep 27 09:55:19 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:19.122+0000 7f8c31272700  0 [rbd_support INFO root] load_schedules: rbd, start_after=
Sep 27 09:55:19 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:19.126+0000 7f8c31272700  0 [rbd_support INFO root] load_schedules: images, start_after=
Sep 27 09:55:19 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:19.134+0000 7f8c31272700  0 [rbd_support INFO root] load_schedules: volumes, start_after=
Sep 27 09:55:19 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:19.138+0000 7f8c31272700  0 [rbd_support INFO root] load_schedules: vms, start_after=
Sep 27 09:55:19 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:19.146+0000 7f8c31272700  0 [rbd_support INFO root] load_schedules: backups, start_after=
Sep 27 09:55:19 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:19.150+0000 7f8c171be700  0 [rbd_support INFO root] TrashPurgeScheduleHandler: starting
Sep 27 09:55:19 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:19.150+0000 7f8c31272700  0 [rbd_support INFO root] setup complete
Sep 27 09:55:19 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:19.638+0000 7f8c43a97700  0 [cephadm INFO cherrypy.error] [27/Sep/2024:13:55:19] ENGINE Bus STARTING
Sep 27 09:55:19 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:19.638+0000 7f8c43a97700  0 log_channel(cephadm) log [INF] : [27/Sep/2024:13:55:19] ENGINE Bus STARTING
Sep 27 09:55:19 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:19.770+0000 7f8c43a97700  0 [cephadm INFO cherrypy.error] [27/Sep/2024:13:55:19] ENGINE Serving on https://10.5.74.23:7150
Sep 27 09:55:19 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:19.770+0000 7f8c43a97700  0 log_channel(cephadm) log [INF] : [27/Sep/2024:13:55:19] ENGINE Serving on https://10.5.74.23:7150
Sep 27 09:55:19 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:19.770+0000 7f8c43a97700  0 [cephadm INFO cherrypy.error] [27/Sep/2024:13:55:19] ENGINE Bus STARTED
Sep 27 09:55:19 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:19.770+0000 7f8c43a97700  0 log_channel(cephadm) log [INF] : [27/Sep/2024:13:55:19] ENGINE Bus STARTED
Sep 27 09:55:28 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:28.030+0000 7f8c4b2a6700  2 mgr.server handle_open ignoring open from mgr.ceph-mon1 10.5.74.21:0/3328700921; not ready for session (expect reconnect)
Sep 27 09:55:29 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:29.030+0000 7f8c4b2a6700  2 mgr.server handle_open ignoring open from mgr.ceph-mon1 10.5.74.21:0/3328700921; not ready for session (expect reconnect)
Sep 27 09:55:36 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:36.410+0000 7f8c42294700  0 [cephadm INFO root] Found osd claims -> {'ceph-osd31': ['88']}
Sep 27 09:55:36 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:36.410+0000 7f8c42294700  0 log_channel(cephadm) log [INF] : Found osd claims -> {'ceph-osd31': ['88']}
Sep 27 09:55:36 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:36.410+0000 7f8c42294700  0 [cephadm INFO cephadm.services.osd] Found osd claims for drivegroup ceph-osd31 -> {'ceph-osd31': ['88']}
Sep 27 09:55:36 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:36.414+0000 7f8c42294700  0 log_channel(cephadm) log [INF] : Found osd claims for drivegroup ceph-osd31 -> {'ceph-osd31': ['88']}
Sep 27 09:55:36 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:36.426+0000 7f8c42294700  0 [cephadm INFO root] Found osd claims -> {'ceph-osd31': ['88']}
Sep 27 09:55:36 ceph-mon3 bash[476409]: debug 2024-09-27T13:55:36.426+0000 7f8c42294700  0 log_channel(cephadm) log [INF] : Found osd claims -> {'ceph-osd31': ['88']}


`ceph orch osd rm status` reports "No OSD remove/replace operations reported”

On the osd node:

`ceph-volume inventory --list-all --with-lsm /dev/sdg` reports:

====== Device report /dev/sdg ======

     path                      /dev/sdg
     ceph device               False
     lsm data                  {}
     available                 False
     rejected reasons          Insufficient space (<5GB)
     device id                 INTEL_SSDSC2KG038T8_PHYG039600UB3P8EGN

vs. a drive which has been successfully converted:

====== Device report /dev/sdf ======

     path                      /dev/sdf
     ceph device               True
     lsm data                  {}
     available                 False
     rejected reasons          Has a FileSystem, LVM detected, Insufficient space (<10 extents) on vgs, Insufficient space (<5GB)
     device id                 INTEL_SSDSC2KG038T8_PHYG039600CM3P8EGN
    --- Logical Volume ---
     name                      osd-block-88426db7-2322-4807-ac2e-b49929e170d6
     osd id                    87
     cluster name              ceph
     type                      block
     osd fsid                  88426db7-2322-4807-ac2e-b49929e170d6
     cluster fsid              9b3b3539-59a9-4338-8bab-3badfab6e855
     osdspec affinity          ceph-osd31
     block uuid                LNG2gB-pa0w-gl2v-hVQ3-6qTd-aXsR-Lenri3

We’ve zapped /dev/sdg a few times, initially when we ran the command to fail it out (`ceph orch osd rm 88 --replace —zap`), but also from the osd node itself  with `ceph-volume lvm zap /dev/sdg —destroy`. We’ve also zapped the drive manually with:


sgdisk --zap-all /dev/sdg
wipefs --all --force /dev/sdg
dd if=/dev/zero bs=1M count=100 oflag=direct of=/dev/sdg
dd bs=512 if=/dev/zero of=/dev/sdg oflag=direct count=204800 seek=$(($(blockdev --getsz /dev/sdg) - 204800))
partprobe /dev/sdg

… based on the suggestion here: https://github.com/rook/rook/issues/11474

We’ve rebooted the osd node, with and without the drive inserted.

We’re unable to zap the drive from the orchestrator, as expected:

ceph orch device zap ceph-osd31 /dev/sdg --force
Error EINVAL: Device path '/dev/sdg' not found on host 'ceph-osd31’

Cheers,
/rjg

On Sep 27, 2024, at 2:07 AM, Eugen Block <eblock@xxxxxx> wrote:

EXTERNAL EMAIL | USE CAUTION

Right, if you need encryption, a rebuild is required. Your procedure
has already worked 4 times, so I'd say nothing seems wrong with that
per se.
Regarding the stuck device list, do you see the mgr logging anything
suspicious? Especially when you say that it only returns output after
a failover. Those two osd specs are not conflicting since the first is
"unmanaged" after adoption.
Is there something in 'ceph orch osd rm status'? Can you run 'cephadm
ceph-volume inventory' locally on that node? Do you see any hints in
the node's syslog? Maybe try a reboot or something?


Zitat von Bob Gibson <rjg@xxxxxxxxxx>:

Thanks for your reply Eugen. I’m fairly new to cephadm so I wasn’t
aware that we could manage the drives without rebuilding them.
However, we thought we’d take advantage of this opportunity to also
encrypt the drives, and that does require a rebuild.

I have a theory on why the orchestrator is confused. I want to
create an osd service for each osd node so I can manage drives on a
per-node basis.

I started by creating a spec for the first node:

service_type: osd
service_id: ceph-osd31
placement:
 hosts:
 - ceph-osd31
spec:
 data_devices:
   rotational: 0
   size: '3TB:'
 encrypted: true
 filter_logic: AND
 objectstore: bluestore

But I also see a default spec, “osd”, which has placement set to “unmanaged”.

`ceph orch ls osd —export` shows the following:

service_type: osd
service_name: osd
unmanaged: true
spec:
 filter_logic: AND
 objectstore: bluestore
---
service_type: osd
service_id: ceph-osd31
service_name: osd.ceph-osd31
placement:
 hosts:
 - ceph-osd31
spec:
 data_devices:
   rotational: 0
   size: '3TB:'
 encrypted: true
 filter_logic: AND
 objectstore: bluestore

`ceph orch ls osd` shows that I was able to convert 4 drives using my spec:

NAME            PORTS  RUNNING  REFRESHED  AGE  PLACEMENT
osd                         95  10m ago    -    <unmanaged>
osd.ceph-osd31               4  10m ago    43m  ceph-osd31

Despite being able to convert 4 drives, I’m wondering if these specs
are conflicting with one another, and that has confused the
orchestrator. If so, how do I safely get from where I am now to
where I want to be? :-)

Cheers,
/rjg

On Sep 26, 2024, at 3:31 PM, Eugen Block <eblock@xxxxxx> wrote:

EXTERNAL EMAIL | USE CAUTION

Hi,

this seems a bit unnecessary to rebuild OSDs just to get them managed.
If you apply a spec file that targets your hosts/OSDs, they will
appear as managed. So when you would need to replace a drive, you
could already utilize the orchestrator to remove and zap the drive.
That works just fine.
How to get out of your current situation is not entirely clear to me
yet. I’ll reread your post tomorrow.

Regards,
Eugen

Zitat von Bob Gibson <rjg@xxxxxxxxxx>:

Hi,

We recently converted a legacy cluster running Quincy v17.2.7 to
cephadm. The conversion went smoothly and left all osds unmanaged by
the orchestrator as expected. We’re now in the process of converting
the osds to be managed by the orchestrator. We successfully
converted a few of them, but then the orchestrator somehow got
confused. `ceph health detail` reports a “stray daemon” for the osd
we’re trying to convert, and the orchestrator is unable to refresh
its device list so it doesn’t see any available devices.


[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux