En corto
| |
HEALTH_WARN: daemons have recently crashed
| |
Es el chequeo RECENT_CRASH del módulo crash del manager: un daemon se cayó, dejó un reporte, y el aviso se queda hasta que un administrador lo archive, o hasta que pasen dos semanas (mgr/crash/warn_recent_interval). El daemon casi siempre ya volvió solo; el aviso no dice que siga caído.
Antes de archivar, mira qué fue:
| |
Del info importan entity_name (qué daemon), utc_timestamp, assert_msg o backtrace, y ceph_version. Después:
| |
Con eso decidido, archiva:
| |
Archivar no arregla nada; solo reconoce que lo viste. Si el mismo OSD reaparece en ls-new cada pocos días, es un disco o una controladora, no un aviso molesto: sácalo del clúster y reemplázalo.
Para limpiar el histórico: ceph crash rm <id> o ceph crash prune <días>. El aviso se puede apagar del todo con ceph config set mgr mgr/crash/warn_recent_interval 0, que es exactamente lo que no quieres en producción.
Discos de VM huérfanos en RBD
Aparecen cuando una VM se borra con el storage inaccesible, un clon o una migración fallan a medias, alguien borra el .conf a mano o queda una restauración incompleta. Ocupan espacio y no salen en la GUI porque ningún .conf los menciona.
Encontrarlos
Compara las imágenes del pool con los .conf de todos los nodos (en /etc/pve/nodes/ está la copia de cada uno):
| |
pvesm list cephpool da la misma lista con el VMID que Proxmox deduce del nombre; útil para cruzar con qm list y pct list en cada nodo.
Si la VM sigue existiendo
Que Proxmox lo vuelva a ver y bórralo desde ahí:
| |
Luego GUI → Hardware → disco Unused → Remove, que sí borra la imagen, o pvesm free cephpool:vm-124-disk-1. Ojo: qm set 124 --delete unused0 solo lo quita del .conf, no borra datos.
Si la VM ya no existe
| |
Cuando rbd rm se niega:
| Mensaje | Causa | Salida |
|---|---|---|
image still has watchers | Algún proceso la tiene abierta (una VM corriendo en otro nodo, un rbd map) | rbd status cephpool/vm-124-disk-1 dice quién; apaga esa VM o rbd unmap |
image has snapshots | Quedan snapshots | rbd snap purge cephpool/vm-124-disk-1 y repite |
cannot remove a protected snapshot | Es un base-* de plantilla con clones | rbd children cephpool/base-9000-disk-0@__base__; los clones dependen de él, no lo borres |
Trampas
- Cruza con todos los nodos, no con
qm listdel nodo donde estás; el disco de una VM que vive en otro nodo no es un huérfano. base-*no es basura: son las plantillas. Bórralas solo conqm destroyde la plantilla.- El espacio vuelve despacio:
ceph dftarda un rato en reflejar el borrado mientras los OSD eliminan objetos. - Pool entero de sobra:
pveceph pool destroy <pool> --force --remove_storages; se lleva todo lo que haya dentro.
Ver también
- Ceph: device classes y CRUSH rules
- VM is locked (snapshot-delete) — los snapshots RBD huérfanos aparecen ahí
- Documentación de Ceph: Health checks — RECENT_CRASH