TL;DR
| |
HEALTH_WARN: daemons have recently crashed
| |
It is the RECENT_CRASH check from the manager’s crash module: a daemon fell over, left a report, and the warning stays until an administrator archives it, or until two weeks pass (mgr/crash/warn_recent_interval). The daemon has almost always come back on its own; the warning does not say it is still down.
Before archiving, look at what it was:
| |
What matters from info is entity_name (which daemon), utc_timestamp, assert_msg or backtrace, and ceph_version. Then:
| |
With that settled, archive:
| |
Archiving fixes nothing; it only acknowledges you saw it. If the same OSD shows up in ls-new every few days, it is a disk or a controller, not an annoying notice: take it out of the cluster and replace it.
To clean the history: ceph crash rm <id> or ceph crash prune <days>. The warning can be turned off entirely with ceph config set mgr mgr/crash/warn_recent_interval 0, which is exactly what you do not want in production.
Orphaned VM disks in RBD
They appear when a VM is deleted while the storage is unreachable, a clone or migration fails halfway, someone deletes the .conf by hand, or a restore is left incomplete. They take space and do not show in the GUI because no .conf mentions them.
Finding them
Compare the pool’s images with the .conf files of every node (/etc/pve/nodes/ holds each node’s copy):
| |
pvesm list cephpool gives the same list with the VMID Proxmox infers from the name; handy to cross-check against qm list and pct list on each node.
If the VM still exists
Let Proxmox see it again and delete it from there:
| |
Then GUI → Hardware → the Unused disk → Remove, which does delete the image, or pvesm free cephpool:vm-124-disk-1. Careful: qm set 124 --delete unused0 only drops it from the .conf, it deletes no data.
If the VM no longer exists
| |
When rbd rm refuses:
| Message | Cause | Way out |
|---|---|---|
image still has watchers | Some process has it open (a VM running on another node, an rbd map) | rbd status cephpool/vm-124-disk-1 says who; stop that VM or rbd unmap |
image has snapshots | Snapshots remain | rbd snap purge cephpool/vm-124-disk-1 and retry |
cannot remove a protected snapshot | It is a template base-* with clones | rbd children cephpool/base-9000-disk-0@__base__; the clones depend on it, do not delete it |
Traps
- Cross-check against every node, not the
qm listof the node you are on; the disk of a VM living on another node is not an orphan. base-*is not junk: those are the templates. Delete them only throughqm destroyof the template.- Space comes back slowly:
ceph dftakes a while to reflect the delete while the OSDs remove objects. - A whole pool you no longer need:
pveceph pool destroy <pool> --force --remove_storages; it takes everything inside with it.
See also
- Ceph: device classes and CRUSH rules
- VM is locked (snapshot-delete) — orphaned RBD snapshots show up there
- Ceph documentation: Health checks — RECENT_CRASH