68 lines
4.3 KiB
Markdown
68 lines
4.3 KiB
Markdown
+++
|
|
title = "Reparar 2 PGs inconsistentes nuevas en Ceph (HEALTH_ERR, mcps-hpc-01)"
|
|
description = "Diagnóstico y repair de pg 3.80 y pg 3.17b; confirmado que pg 3.ec (memoria del 2026-08-17) quedó sana. osd.13 tuvo un segundo read_error en pocos días; no se pudo revisar el disco de osd.11 por falta de acceso a MCPS-HPC05. El backlog de deep-scrub atrasado no se tocó."
|
|
date = 2026-08-20T07:05:46Z
|
|
authors = ["gen"]
|
|
slug = "mem-20260820-4d10c2-reparar-2-pgs-inconsistentes-nuevas-en-ceph-health-err-mcps-hpc-01"
|
|
template = "memory.html"
|
|
|
|
[taxonomies]
|
|
categories = ["memorias"]
|
|
tags = ["almacenamiento", "ceph", "salud-cluster"]
|
|
systems = ["ceph", "mcps-hpc-01"]
|
|
|
|
[extra]
|
|
id = "MEM-20260820-4D10C2"
|
|
kind = "memory"
|
|
author_id = "gen"
|
|
author_fingerprint = "SHA256:JhN1Tt4jYqWoJIznDJ6QkMAiOR6HFHr3xLz9aBJqmPg"
|
|
risk = "high"
|
|
ticket = ""
|
|
review_required = true
|
|
review_policy = "all-active"
|
|
reviewer_snapshot = true
|
|
reviewers = ["gen"]
|
|
started_at = ""
|
|
finished_at = ""
|
|
duration_minutes = 0
|
|
agent = "claude-code"
|
|
+++
|
|
|
|
## Contexto
|
|
|
|
Se revisó el estado real de Ceph a pedido explícito ('corrige los problemas de salud de ceph'), sin asumir que seguía igual que en la memoria del 2026-08-17. La pg 3.ec de esa memoria ya no aparece como inconsistente: el repair anterior quedó resuelto. En su lugar, ceph -s mostró HEALTH_ERR por 2 PGs nuevas inconsistentes (3.80 y 3.17b) y 353 pgs sin deep-scrub a tiempo (bajó a 352 durante la sesión, mismo backlog documentado antes, no un problema nuevo). osd.13 (mcps-hpc-01, /dev/sda) es el mismo disco que tuvo el read_error del 17 de agosto — esta es la segunda vez en pocos días, aunque SMART lo sigue marcando PASSED sin sectores reasignados ni pendientes. No se pudo correr smartctl sobre el disco de osd.11 (/dev/sdb, host MCPS-HPC05): ni esta máquina ni mcps-hpc-01 tienen acceso SSH configurado a ese host; no se intentó adivinar credenciales. El repair de ambas PGs se instruyó igual con base en el diagnóstico de rados list-inconsistent-obj (copia primaria limpia, réplica con read_error puro, sin ambigüedad), que no depende de haber confirmado la salud física del disco de la réplica. El backlog de 352 pgs sin deep-scrub a tiempo sigue siendo el mismo trade-off rendimiento/velocidad de scrub documentado en la memoria anterior (osd_max_scrubs=1, compite con I/O de clientes reales) — no se tocó, sigue pendiente de decisión del equipo.
|
|
|
|
## Cambios realizados
|
|
|
|
- Confirmado que pg 3.ec (memoria del 2026-08-17) ya no aparece inconsistente: el repair anterior fue efectivo
|
|
- Diagnosticadas pg 3.80 (osd.8 primario limpio / osd.13 read_error) y pg 3.17b (osd.1 primario limpio / osd.11 read_error) con rados list-inconsistent-obj: en ambas, una sola copia válida, sin ambigüedad
|
|
- Confirmado con smartctl que el disco de osd.13 (/dev/sda, mcps-hpc-01) sigue PASSED, sin degradación física reportada, pese a ser el segundo read_error en esa unidad en pocos días
|
|
- Ejecutado ceph pg repair 3.80 y ceph pg repair 3.17b; ambas PGs entraron a estado active+clean+scrubbing+deep+inconsistent+repair
|
|
- No se modificó osd_max_scrubs ni ninguna configuración de deep-scrub: el backlog de 352 pgs atrasados se dejó igual, es la misma decisión de trade-off pendiente de la memoria anterior
|
|
|
|
## Comandos relevantes (secretos redactados)
|
|
|
|
```console
|
|
ceph -s
|
|
ceph health detail
|
|
rados list-inconsistent-obj 3.80 --format=json-pretty
|
|
rados list-inconsistent-obj 3.17b --format=json-pretty
|
|
ceph osd tree
|
|
ceph osd metadata 13
|
|
ceph osd metadata 11
|
|
smartctl -H /dev/sda
|
|
smartctl -A /dev/sda
|
|
ceph pg repair 3.80
|
|
ceph pg repair 3.17b
|
|
```
|
|
|
|
## Validación
|
|
|
|
- rados list-inconsistent-obj confirmó, para ambas PGs, que solo existía una copia válida (primario limpio) antes de reparar
|
|
- smartctl -H y -A en el disco de osd.13 confirmaron salud del disco (PASSED, sin sectores reasignados/pendientes) antes de reparar
|
|
- ceph -s tras el repair mostró ambas PGs en active+clean+scrubbing+deep+inconsistent+repair, confirmando que el repair quedó corriendo; no se esperó a que terminara en esta sesión
|
|
|
|
## Riesgo y reversión
|
|
|
|
El pg repair no tiene reversión directa. Si al terminar el deep-scrub alguna de las dos PGs sigue inconsistent (ceph health detail), requiere diagnóstico manual adicional; si el patrón se repite en osd.13 una tercera vez, considerar programar el reemplazo preventivo del disco aunque SMART siga en PASSED.
|