I'm not the best choice for a safe answer, but probably you should also declare the pools replica/erasure configuration and what is the domain failure choice: in my experience losing a node should not bring to pg unknown.

Anyway I suggest to first understand why this happened and try to bring all the pg to a clean state, before doing any other action on upper layers.

Bests.


Il 22/06/2026 12:46, Alessandro De Salvo via ceph-users ha scritto:

Dear ceph-users,

we are looking for an advice before taking any destructive action on a production Ceph cluster (18.2.4) after a SAN failure.

We lost access to a Disk System hosting several OSDs. The bulk of the recovery/backfills did complete, and most PGs are now `active+clean`, but a small set of PGs remains in status `unavailable`. The Disk System might still be recoverable, but not easily or quickly; it may take days, or it may never come back. We are trying to understand the risk of waiting versus marking the missing OSDs as lost.

We have not marked any OSDs as lost yet.

This is a Ceph Reef cluster, version 18.2.4.

Sanitized current status:

health: HEALTH_WARN
1 filesystem is degraded
1 MDS reports slow metadata IOs
noscrub,nodeep-scrub flags set
(temporarily enabled by us to reduce scrub load during recovery/rebalancing)
Reduced data availability: 28 PGs inactive, 12 PGs down
slow ops still present
osd:
86 OSDs total
69 up/in
17 OSDs unavailable because of the SAN issue
pgs:
3320 active+clean
16 unknown
11 down
1 down+remapped

The problematic PGs are spread across several services/pools:

Main CephFS data pool: 4 PGs down
Secondary CephFS metadata/data: 1 metadata PG unknown, 4 data PGs unknown
RGW/S3 service A: 2 bucket-data PGs down + 1 metadata PG unknown
RGW/S3 service B: 5 mostly empty bucket-data PGs down + 1 metadata PG unknown
RBD/Kubernetes: 1 PG unknown

The services we care about most are the filesystems, especially the main CephFS and the secondary CephFS.

For the main CephFS, the metadata pool does not appear to have inactive PGs. The remaining problematic PGs are in the data pool. Of the main CephFS data PGs, only one appears to contain real data; the others appear empty.

For the non-empty main CephFS data PG, `pg query` shows roughly:

state: down
acting/up: all current acting OSDs are up
last_update == last_complete
empty: 0
incomplete: 0
stat_sum:
num_bytes: ~80 GB
num_objects: ~131k
num_objects_missing: 0
num_objects_unfound: 0
num_objects_degraded: 0
num_objects_misplaced: 0
blocked:
peering is blocked due to down OSDs
down_osds_we_would_probe:
a few OSDs from previous intervals
peering_blocked_by:
"starting or marking this osd lost may let us proceed"

The recovery state for this PG includes past intervals with OSDs that are currently unavailable. The current acting set is up, but Ceph refuses to activate the PG because it still wants to probe down OSDs from the PG history.

We tried to list objects from that PG:
rados -p <main_cephfs_data_pool> ls --pgid <pgid>

but it hangs/times out, so we cannot currently map RADOS objects back to CephFS inode/path names.

For the secondary CephFS, the situation is more concerning because one metadata PG is `unknown`. Most `pg query` attempts on unknown PGs return:
Error ENOENT: i don't have pgid <pgid>

For the RGW/S3 pools, a couple of bucket-data PGs are non-empty and down, while some others appear empty. Some metadata PGs are unknown. RGW can temporarily work after restarting daemons, but eventually gets stuck again, presumably when requests hit unavailable RADOS objects or metadata.

We also tested some RBD/Kubernetes volumes. For the Kubernetes RBD pool, only one non-critical PVC seems to hang on `rbd info`; most other images respond. So the main operational concern remains CephFS and RGW.

Our questions are:
1. In a case like this, where a CephFS data PG is `down`, not `incomplete`, and shows `num_objects_missing = 0` and `num_objects_unfound = 0`, but peering is blocked by historical down OSDs, what are the likely consequences of marking those OSDs as lost?

2. If we mark the unavailable OSDs as lost, should we expect the main CephFS to:
- come back with only some files or file extents unreadable/corrupt,
- remain blocked/degraded,
- or risk a wider filesystem-level failure?

3. Since the main CephFS metadata pool does not appear to have inactive PGs, is it reasonable to assume that the risk is mostly limited to file data objects rather than the entire namespace? Or is that assumption unsafe?

4. For the secondary CephFS, where a metadata PG is `unknown`, should we treat declaring OSDs lost as much more dangerous? Could that make the whole filesystem unusable rather than only losing some files?

5. Is there any recommended way to map the affected CephFS data PG to file paths while the PG is still down? `rados ls --pgid` hangs, so we currently cannot list objects in the PG.

6. Before declaring the unavailable OSDs lost, are there any additional diagnostic or recovery steps you would recommend to better assess the situation or reduce the risk of data loss?

Any advice would be greatly appreciated.

Best regards,

    Nadir and Alessandro

_______________________________________________
ceph-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]


--
ing. Sergio Rabellino

Università degli Studi di Torino
Dipartimento di Informatica
Tecnico di Ricerca
Cel +39-342-529-5409 Tel +39-011-670-6701 Fax +39-011-751603
C.so Svizzera , 185 - 10149 - Torino

<http://www.di.unito.it>

_______________________________________________
ceph-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to